iOS 10-카메라, 마이크 및 사진 라이브러리의 권한 요청 변경으로 인해 응용 프로그램이 중단됨
iOS 10, 이제 미디어 라이브러리, 사진, 카메라 및 이와 같은 기타 하드웨어에 액세스하려면 사용자 권한이 필요합니다. 이에 대한 해결책은 info.plist
사용자가 데이터를 사용하는 방법에 대한 설명과 함께 키를 추가 하는 것입니다.
몇 개의 열쇠 만 찾을 수있었습니다
NSPhotoLibraryUsageDescription
NSMicrophoneUsageDescription
NSCameraUsageDescription
적절한 키 설명을 iOS 10
제공하지 않은 경우 info.plist
와 같이 다른 하드웨어에도 더 많은 키가 있는지 알고 싶습니다 . XCode-8 베타를 사용하여 빌드하면 애플리케이션이 충돌 합니다.
파일에 Cocoa Keys
지정할 수 있는 모든 목록 이 있습니다 Info.plist
.
(Xcode 대상-> 정보-> 사용자 지정 iOS 대상 속성)
아이폰 OS는 이미 액세스 마이크, 카메라, 미디어 라이브러리에 대한 권한이 필요 이전 (iOS6의, iOS7에)을하지만, 이후 iOS10
응용 프로그램은 것이다 충돌 당신은 (는 비워 둘 수 없습니다) 허가를 요구하는 이유에 대한 설명을 제공하지 않는 경우.
다음과 같이 추가하십시오.
<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} always location use</string>
모든 개인 키 목록 :
NSCameraUsageDescription
NSBluetoothPeripheralUsageDescription
NSCalendarsUsageDescription
NSContactsUsageDescription
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
NSHomeKitUsageDescription
NSLocationAlwaysUsageDescription
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription
NSAppleMusicUsageDescription
NSMicrophoneUsageDescription
NSMotionUsageDescription
kTCCServiceMediaLibrary
NSPhotoLibraryUsageDescription
NSRemindersUsageDescription
NSSiriUsageDescription
NSSpeechRecognitionUsageDescription
NSVideoSubscriberAccountUsageDescription
2019 업데이트 :
지난 몇 달 동안 카메라 사용 설명에 내가 찍은 사진으로 무엇을하는지 명시하지 않았기 때문에 두 개의 앱이 검토 중에 거부 되었습니다.
나는에서 설명을 변경했습니다 ${PRODUCT_NAME} need access to the camera to take a photo
에 ${PRODUCT_NAME} need access to the camera to update your avatar
응용 프로그램 컨텍스트 (사용자가 아바타에 도청) 분명했다하더라도.
이제 Apple은 개인 정보 사용 설명에 더 많은 관심을 기울이고있는 것으로 보이며 우리가 허가를 요청하는 이유를 자세히 설명해야합니다.
.NET 용 iOS 10 요청 권한 샘플에 대한 코드는 아래에서 확인하세요 info.plist
.
사용자 지정 메시지를 수정할 수 있습니다.
<key>NSCameraUsageDescription</key>
<string>${PRODUCT_NAME} Camera Usage</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>${PRODUCT_NAME} BluetoothPeripheral</string>
<key>NSCalendarsUsageDescription</key>
<string>${PRODUCT_NAME} Calendar Usage</string>
<key>NSContactsUsageDescription</key>
<string>${PRODUCT_NAME} Contact fetch</string>
<key>NSHealthShareUsageDescription</key>
<string>${PRODUCT_NAME} Health Description</string>
<key>NSHealthUpdateUsageDescription</key>
<string>${PRODUCT_NAME} Health Updates</string>
<key>NSHomeKitUsageDescription</key>
<string>${PRODUCT_NAME} HomeKit Usage</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} Use location always</string>
<key>NSLocationUsageDescription</key>
<string>${PRODUCT_NAME} Location Updates</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>${PRODUCT_NAME} WhenInUse Location</string>
<key>NSAppleMusicUsageDescription</key>
<string>${PRODUCT_NAME} Music Usage</string>
<key>NSMicrophoneUsageDescription</key>
<string>${PRODUCT_NAME} Microphone Usage</string>
<key>NSMotionUsageDescription</key>
<string>${PRODUCT_NAME} Motion Usage</string>
<key>kTCCServiceMediaLibrary</key>
<string>${PRODUCT_NAME} MediaLibrary Usage</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>${PRODUCT_NAME} PhotoLibrary Usage</string>
<key>NSRemindersUsageDescription</key>
<string>${PRODUCT_NAME} Reminder Usage</string>
<key>NSSiriUsageDescription</key>
<string>${PRODUCT_NAME} Siri Usage</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>${PRODUCT_NAME} Speech Recognition Usage</string>
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>${PRODUCT_NAME} Video Subscribe Usage</string>
iOS 11 이상, 라이브러리에 사진 / 이미지를 추가하려면이 키를 추가해야합니다.
<key>NSPhotoLibraryAddUsageDescription</key>
<string>${PRODUCT_NAME} library Usage</string>
iOS 10 용 Info.plist에이 권한을 추가해야합니다.
사진 :
Key : Privacy - Photo Library Usage Description
Value : $(PRODUCT_NAME) photo use
마이크 :
Key : Privacy - Microphone Usage Description
Value : $(PRODUCT_NAME) microphone use
카메라 :
Key : Privacy - Camera Usage Description
Value : $(PRODUCT_NAME) camera use
'programing tip' 카테고리의 다른 글
jQuery empty () 대 remove () (0) | 2020.08.25 |
---|---|
“요청을 처리하는 동안 예외가 발생했습니다. (0) | 2020.08.25 |
angularjs 1.6.0 (현재 최신) 경로가 작동하지 않음 (0) | 2020.08.25 |
Subversion / TortoiseSVN에서 삭제 된 폴더를 "삭제 취소"하는 방법은 무엇입니까? (0) | 2020.08.25 |
Ruby에서 재귀 적으로 디렉토리를 만드는 방법은 무엇입니까? (0) | 2020.08.25 |