一、前言
在我们开发iOS应用时,当我们访问一些涉及用户隐私的东西是需要授权的,当然一般情况下我们需要什么就在info.plist中添加什么权限,但是最近在苹果审核的时候会出现传上AppStore的包不显示的情况,这个时候一般邮箱都会收到邮件信息,大部分都是权限不全导致,所以这里整理了下常用的权限,一般提交审核时都加入即可。
二、权限整理
-
Privacy - Camera Usage Description
访问相机 -
Privacy - Photo Library Additions Usage Description
访问相册 -
Privacy - Photo Library Usage Description
访问相册 -
Privacy - Location Usage Description
访问位置 -
Privacy - Location Always and When In Use Usage Description
访问位置 -
Privacy - Location When In Use Usage Description
访问位置 -
Privacy - Location Always Usage Description
访问位置 -
Privacy - Contacts Usage Description
访问通讯录 -
Privacy - Speech Recognition Usage Description
语音转文字 -
Privacy - Bluetooth Peripheral Usage Description
访问蓝牙 -
Privacy - Microphone Usage Description
访问麦克风 -
Privacy - Media Library Usage Description
访问媒体库 -
Privacy - Calendars Usage Description
访问日历 -
Privacy - Motion Usage Description
访问运动与健康
三、说明具体用途
在访问这些权限的时候苹果审核要求写具体访问的原因,如果按上面那样写是不可以的,这里举个例子
Privacy - Camera Usage Description
需要在扫描二维码添加好友时访问您的相机
四、快速添加
可以将下面的权限复制,然后用文本编辑器等软件打开info.plist文件,直接粘贴进去即可,具体的使用描述可以根据需要更改
<key>NSBluetoothPeripheralUsageDescription</key>
<string>需要在打印的时候访问蓝牙功能</string>
<key>NSCalendarsUsageDescription</key>
<string>需要在查看信息的时候访问日历</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要在搜索的时候访问麦克风</string>
<key>NSCameraUsageDescription</key>
<string>需要在扫描条码的时候访问相机</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>需要在扫描条码的时候访问相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>需要在扫描条码的时候访问相册</string>
<key>NSContactsUsageDescription</key>
<string>需要填写联系人时访问您的通讯录</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>需要在加载位置信息的时候访问位置</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>需要在加载位置信息的时候访问位置</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要在加载位置信息的时候访问位置</string>
<key>NSLocationUsageDescription</key>
<string>在获取附近店铺的时候需要访问您的位置</string>
<key>NSAppleMusicUsageDescription</key>
<string>访问媒体库</string>
<key>NSMotionUsageDescription</key>
<string>访问运动与健康</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>访问语音转文字</string>
五、补充 2021.5.10
iOS 14.5后对IDFA进行了限制,这里又增加了NSUserTrackingUsageDescription请求权限,可以使用 AppTrackingTransparency 框架中的 ATTrackingManager 中的 requestTrackingAuthorizationWithCompletionHandler 请求用户权限
// 获取跟踪权限
- (void)trackingRequest {
if (@available(iOS 14, *)) { // 14新增方法
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
}
}
// key-value
<key>NSUserTrackingUsageDescription</key>
<string>获取设备信息用以精准推送您喜欢的内容</string>