앱을 개발함에 있어서, 장치에 대한 다양한 권한이 필수적으로 요구될 때가 있다. 권한을 설치시에 요구하는 경우, 설치 시간 권한(Install-time permissions) 앱을 설치하여 사용중에 요구하는 경우, 런타임 권한(Runtime permissions) 으로 구분한다. 일반적으로 AndroidManifest.xml 에 명시되면 설치 시간 권한(Install-time permissions)을 요청하게 되며, 사용중 권한을 요구하는 경우에는 대부분 외부 라이브러리인 permission_handler 를 이용해서 런타임 권한을 요청한다. 먼저 안드로이드에서 얻을 수 있는 권한의 종류를 살펴보자. 권한은 개별권한으로 요청 할 수 도 있지만. 다양한 개별권한을 한번에 그룹권한으로 요청 할 수도 있다. 이 글에서는 편의를 위해 너무 많은 개별권한을 나열하지 않고, 단순히 그룹 권한에 종류만 다루려 한다. 1. AOS 권한 종류그룹 권한 종류
여기 공식 사이트에서 API 레벨에 따른 개별 권한들에 지원 여부를 확인하며 사용하길 바랍니다. 2. AOS 그룹 권한 요청법안드로이드의 경우 아래파일을 찾아 예시와 같이 추가해주시면 됩니다. 파일 위치 : PROJECT > android/app/main/AndroidManifest.xml 사용법 : <uses-permission android:name="android.permission-group.그룹권한상수값" /> 앱 빌드후 사용시 사진과 같이 권한을 요청한다3. IOS 그룹 권한 종류와 사용법IOS는 기기가 없어 해보지못했지만, 두 가지 작업을 해야한다고 한다. 1. Podfile을 수정해야한다 파일 위치: Project Folder > iOS > Podfile 방법 : 아래와 같이 필요한 권한을 1값을 가지도록 설정해준다. (주석 # 제거 필요)
2. Info.plist 에 사용하고자하는 권한이 왜 필요한지 설명을 넣는다 (아래 string태그 안에 타당한 이유가 없는 경우, 앱 배포가 거절된다고 한다.)
이렇게 진행하면 앱설치시 필요권한을 물어 얻을수 있다. 4. AOS / IOS 그룹 권한 비교
도표 출처 : https://dalgonakit.tistory.com/110 참조 사이트 https://github.com/Baseflow/flutter-permission-handler/tree/master/permission_handler https://developer.android.com/reference/android/Manifest.permission#constants https://pub.dev/packages/permission_handler 아래의 다음글에서 런타임 권한요청을 위한 flutter에 permission_handler 사용법을 다루겠습니다. https://bangu4.tistory.com/348 [Flutter] permission_handler 사용법 (AOS / IOS) 대부분의 운영 체제에서 권한은 설치시에만 요구하도록 지원합니다. 하지만 앱의 정상실행을 위해서는 실행되는 동안에도 필요 권한(런타임 권한요청)을 사용자에게 요청해야합니다 . permission_ bangu4.tistory.com |