美文网首页
iOS 手机权限设置

iOS 手机权限设置

作者: 子懿黎昕 | 来源:发表于2018-11-16 17:40 被阅读0次

手机权限设置

在app中需要访问手机相册,相机,定位,通讯录等隐私数据的时候,如果不做权限设置app会crash。崩溃日志如下:

This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

这是因为苹果加强了用户隐私的安全保护,在获取这些隐私数据的时候需要用户的授权。要解决这个问题,需要在info.plist中添加NSContactUsageDescription的key,然后填写对应的value。下面列举了对应的key(Source Code模式下):

<key>NSCameraUsageDescription</key>
<string>用于身份证验证服务</string>                             
<key>NSContactsUsageDescription</key>                                                                       
<string>用于填写紧急联系人信息</string>    
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>     
<string>定位用于帮助判断申请贷款资格的审核,申请贷款时需要提交用户的位置信息</string>
<key>NSLocationAlwaysUsageDescription</key>         
<string>定位用于帮助判断申请贷款资格的审核,申请贷款时需要提交用户的位置信息</string>
<key>NSLocationWhenInUseUsageDescription</key>                             
<string>定位用于帮助判断申请贷款资格的审核,申请贷款时需要提交用户的位置信息</string> 
<key>NSPhotoLibraryAddUsageDescription</key>
<string>同意“App”访问您的相机,用于保存二维码图片</string>    
<key>NSPhotoLibraryUsageDescription</key>
<string>同意“APP”访问您的相机,用于保存二维码图片</string>
<key>NSMicrophoneUsageDescription</key>
<string>同意“APP”访问您的麦克风,用于语音通讯</string>
<key>NSCalendarsUsageDescription</key>
<string>同意“APP”访问您的日历,用于查看一段时间内的账户流水信</string>
<key>NSRemindersUsageDescription</key> 
<string>同意“APP”访问您的提醒事项,用于提醒您近期要处理的事情</string>
<key>NSMotionUsageDescription</key>
<string>同意“APP”访问您的运动与健身,用于对您每日步数的统计</string>
<key>NSHealthUpdateUsageDescription</key>
<string>同意“APP”访问您的健康,用于对您每日步数的统计</string>
<key>NSHealthShareUsageDescription</key>
<string>同意“APP”访问您的健康,用于对您每日步数的统计</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>同意“APP”访问您的蓝牙,用于对自行车开锁</string>
<key>NSAppleMusicUsageDescription</key>
<string>同意“APP”访问媒体资料库,用于XXX</string>

具体的描述要根据应用的功能进行填写!具体的描述要根据应用的功能进行填写!具体的描述要根据应用的功能进行填写!重要的事情说三遍。

如果用户在使用过程中没有开启响应的权限,可以提醒用户去开启,具体代码如下:

UIAlertController *alert = [UIAlertController
                                    alertControllerWithTitle:@"提示"
                                    message:@"请在iPhone的\"设置-隐私-"
                                    @"定位服务\"选项中,"
                                    @"允许本程序访问您的位置"
                                    preferredStyle:UIAlertControllerStyleAlert];
        [alert addAction:[UIAlertAction
                          actionWithTitle:@"确定"
                          style:UIAlertActionStyleDestructive
                          handler:^(UIAlertAction *_Nonnull action) {
                              
                              if ([[UIApplication sharedApplication]
                                   canOpenURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]) {
                                  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
                              } else {
                                  QDLog(@"error");
                              }
                          }]];
        [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

        }]];
        [self presentViewController:alert animated:YES completion:nil];

关于ATS

在iOS 9中,默认http的网络请求是禁止的,如果在项目测试阶段需要访问http请求可以在'info.plist'文件中添加'NSAppTransportSecurity'字典,将'NSAllowsArbitraryLoads'设置为'YES'来禁用ATS。
具体设置如下:

//在项目的info.plist中
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

为了能够用户数据的隐私和通过苹果应用审核最好是采用https进行数据的访问。

相关文章

  • iOS 手机权限设置

    手机权限设置 在app中需要访问手机相册,相机,定位,通讯录等隐私数据的时候,如果不做权限设置app会crash。...

  • iOS 手机权限设置

    在plist里面添加即可: 当权限为AuthorizationStatusNotDetermined状态时,用户还...

  • iOS打开应用的设置界面

    iOS8 + 应用如果请求过权限,就会在跳转到应用的设置界面.否则跳转到手机的设置界面 .

  • iOS10适配 相机、相册等权限

    iOS 10 中权限适配升级到iOS10之后,需要设置权限的有:

  • IOS 隐私权限配置

    iOS隐私权限设置有:麦克风权限:Privacy - Microphone Usage Description 是...

  • iOS14 limited 相册权限和PHPickerConfi

    获取相册权限 iOS14相册整理包含 plist设置,iOS相册权限查询和调取处理(兼容iOS14使用PHPick...

  • iOS 10的权限设置

    iOS10的版本在获取手机权限的时候会要求开发者手动的去设置权限,否则就会报类似这样的错误: 大体意思就是这个Ap...

  • 权限设置-iOS

  • iOS 权限设置

    NSPhotoLibraryUsageDescription App需要您的同意,才能访问相...

  • iOS 权限设置

    前言 iOS 10以后,苹果增强了对用户隐私的保护,访问照相机、相册、麦克风、定位、通讯录等,都需要在info.p...

网友评论

      本文标题:iOS 手机权限设置

      本文链接:https://www.haomeiwen.com/subject/fanmfqtx.html