Search
🏗️

Flutter permission request tutorial

생성일
2022/03/16 12:38
태그
Flutter
속성

개요

Flutter의 permission handler 를 provider pattern 으로 구현하여 앱 기능 사용 권한을 얻는 내용을 기록합니다.
앨범 접근 권한을 예제로 구현합니다.

Dependency

1. Provider

flutter pub add provider
Bash
복사

2. permission handler

flutter pub add permission_handler
Bash
복사

선행 작업

iOS, Android 프로젝트에서 각각 manifest, plist 파일에 권한 사용을 명시합니다.
위 링크에서 Setup 파트를 확인해주세요.각 권한에 맞는 설정들이 iOS, Android 프로젝트에서 각각 manifest, plist 파일에 작성되어야 합니다.
이번 예제에서 사용하는 “앨범”, iOS 기준만 구체적적으로 작성합니다.
1.
xcode 프로젝트 plist 수정
Info.plist에 “Add Row” > “Privacy - Photo Library Usage Description” 을 추가하고 Value 에는 앨범 권한을 사용자에게 요청할 때 보여질 문구를 입력합니다. 어떤 용도로 사용하는지 구체적으로 작성해야 합니다. 구체적으로 작성하지 않으면 매우 높은 확률로 앱스토어 심사에서 리젝을 당합니다.
구체적의 예시) 식물 대표 사진을 설정하기 위해 앨범 권한을 요청합니다.
2.
Podfile 수정
AS-IS
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end
Dart
복사
TO-BE
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.photos 'PERMISSION_PHOTOS=1', ] end end end
Dart
복사

Helper 구현

permission_helper.dart
Dart
복사

앨범을 띄우는 화면에서 Helper를 사용하는 예시

Dart
복사