코딩 일기장/Flutter
[Flutter] Permission Request/권한 요청
minWachya
2023. 7. 13. 12:35
반응형
권한 추가를 해보자고요.
1. 의존성 다운
https://pub.dev/packages/permission_handler
dependencies:
permission_handler: ^10.4.2
2. 네이티브 코드에 요청할 권한 작성
- 나는 카메라, 쓰기 권한을 요청하려고 한다.
- Android: android/app/src/main/AndroidManifest.xml의 <manifest> 안에 다음 코드 추가
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
- iOS: ios/Runner/Info.plist의 <dict> 안에 다음 코드 추가
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) 사진첩 접근 권한</string>
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) 카메라 접근 권한</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>$(PRODUCT_NAME) 사진첩 추가 권한</string>
<key>NSFileProtectionKey</key>
<string>$(PRODUCT_NAME) 파일 쓰기 권한</string>
3. 권한 요청 코드 작성
Future<bool> permission() async {
await [Permission.camera, Permission.storage].request();
if (await Permission.camera.isGranted &&
await Permission.storage.isGranted) {
goHomepage();
return Future.value(true);
} else {
Fluttertoast.showToast(msg: '포포 스테이지를 즐기기 위해 권한을 설정해주세요.');
return Future.value(false);
}
}
flutter는 이렇게 가끔 네이티브로 코드를 추가해줘야하는 게 아주 귀찮다...
반응형