개발/Flutter
[Flutter] iPhone에서 permission_handler 패키지 권한 문제
아나도개발잘하고싶다
2024. 8. 30. 14:04
Flutter permission_handler 사용 시 카메라 권한 문제 해결
앱 개발 중 Flutter의 permission_handler 패키지를 사용하여 카메라 권한을 요청하는 기능을 구현하였습니다. 하지만, 분명히 사용자에게 카메라 권한을 허용했음에도 불구하고 앱이 계속해서 권한을 요청하는 문제가 발생했습니다.
문제 상황
- permission_handler를 이용해 카메라 권한을 요청함.
- 사용자가 카메라 권한을 허용했지만, 앱이 계속 권한을 다시 요청함.
문제 해결
문제의 원인은 Podfile에 사용할 권한에 대한 설정이 누락되어 있었기 때문이었습니다. permission_handler 패키지를 사용할 때는 iOS 프로젝트의 Podfile에 권한 사용 선언을 추가해야 합니다.
해결 방법
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
# 권한 설정을 위한 추가
target.build_configurations.each do |config|
# You can remove unused permissions here
# for more information: https://github.com/BaseflowIT/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h
# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
# 카메라 권한
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',
]
end
end
end
요약
- 공식 문서를 잘 읽어보자.