iOS 10,现在需要用户许可才能访问媒体库、照片、相机和其他类似硬件。解决方案是将他们的 key 添加到 info.plist
中,并向用户说明我们如何使用他们的数据,
我只能找到几把 key
NSPhotoLibraryUsageDescription
NSMicrophoneUsageDescription
NSCameraUsageDescription
我想知道在 iOS 10
中是否还有更多用于其他硬件的 key 如果您没有为 info.plist
提供正确的 key 描述如果使用 XCode - 8 beta 构建,您的应用程序将崩溃。
最佳答案
[已更新至 iOS 13 的隐私 key 列表 - 见下文]
您可以在 Info.plist
文件中指定所有 Cocoa Keys
的列表:
(Xcode:目标 -> 信息 -> 自定义 iOS 目标属性)
iOS 已经需要访问麦克风、摄像头和媒体库的权限(iOS 6、iOS 7),但是 因为 iOS 10 应用程序会崩溃 如果您不提供您的原因说明请求权限(不能为空)。
并像这样添加私钥:
<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} always location use</string>
所有隐私 key 列表:[已更新至 iOS 13]
NFCReaderUsageDescription
NSAppleMusicUsageDescription
NSBluetoothAlwaysUsageDescription
NSBluetoothPeripheralUsageDescription
NSCalendarsUsageDescription
NSCameraUsageDescription
NSContactsUsageDescription
NSFaceIDUsageDescription
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
NSHomeKitUsageDescription
NSLocationAlwaysUsageDescription
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription
NSMicrophoneUsageDescription
NSMotionUsageDescription
NSPhotoLibraryAddUsageDescription
NSPhotoLibraryUsageDescription
NSRemindersUsageDescription
NSSiriUsageDescription
NSSpeechRecognitionUsageDescription
NSVideoSubscriberAccountUsageDescription
2019 年更新:
在过去的几个月里,我的两个应用在审核期间被拒绝,因为相机使用说明没有具体说明我如何处理拍摄的照片。
我不得不将描述从 ${PRODUCT_NAME} 需要访问相机来拍照
更改为 ${PRODUCT_NAME} 需要访问相机来更新你的头像
即使应用上下文很明显(用户点击了头像)。
看来苹果现在更加重视隐私使用说明了,我们应该详细说明为什么要征求权限。
关于iOS 10 - 更改相机、麦克风和照片库的权限导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498275/