반응형
swift를 사용해서 xcode에서 개발을 진행할 경우 주소록 정보가 필요한 경우가 있습니다.
이 경우 "Info.plist" 파일에 주소록 접근 사유를 입력하면 됩니다.
<key>NSContactsUsageDescription</key>
<string>Access Contracts</string>
그러나 flutter에서 iOS -> Runner -> Info.plist 에 위 정보를 입력하여도 권한 요청 창이 뜨지 않습니다.
디버그 / 릴리즈 모드와 상관 없습니다.
iOS -> Runner -> Podfile에 아래 코드를 추가하면 해결됩니다.
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.calendar
'PERMISSION_EVENTS=0',
## dart: PermissionGroup.reminders
'PERMISSION_REMINDERS=0',
## dart: PermissionGroup.contacts
'PERMISSION_CONTACTS=1',
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=0',
## dart: PermissionGroup.microphone
'PERMISSION_MICROPHONE=0',
## dart: PermissionGroup.speech
'PERMISSION_SPEECH_RECOGNIZER=0',
## dart: PermissionGroup.photos
'PERMISSION_PHOTOS=0',
## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
# 'PERMISSION_LOCATION=0',
## dart: PermissionGroup.notification
'PERMISSION_NOTIFICATIONS=0',
## dart: PermissionGroup.mediaLibrary
'PERMISSION_MEDIA_LIBRARY=0',
## dart: PermissionGroup.sensors
'PERMISSION_SENSORS=0'
]
end
end
end
위 코드에서 주소록에 대한 접근 요청할 경우 "PERMISSION_CONTRACTS=1" 처럼 0을 1로 변경해 주면 됩니다.
반응형
'프로그램 개발해서 돈벌기 > flutter' 카테고리의 다른 글
flutter에서 자식 위젯이 부모 위젯 함수 호출하기 (0) | 2024.02.23 |
---|---|
[flutter] Build failed due to use of deprecated Android v1 embedding. 를 만났을때 에러 수정 방법 (0) | 2024.01.31 |
flutter에서 iOS 기기에 릴리즈(Release) 모드로 커맨드라인(command line)에서 실행하기 (0) | 2023.09.15 |
ElevatedButton을 이용해서 모서리가 둥글고 아이콘이 적용된 버튼 만들기 (0) | 2023.08.22 |
firebase cli 사용 시 로그인은 되어 있다고 하는데 firebase 프로젝트 리스트 못가져 올때 (0) | 2023.08.04 |
댓글