iOS10.0中info.plist文件权限设置

提到iOS10.0权限设置,先说一下在iOS9.0的权限设置

iOS9.0引入了新特性App Transport Security (ATS),导致网络请求访问失败,新特性要求App内访问的网络必须使用HTTPS协议,也就是超文本传输协议。
但是现在很多公司使用的还是http协议,也不可能一下子就改为HTTPS;

为了让http请求也能正常范文网络数据,解决的办法如下:
在info.plist文件中添加App Transport Security Settings类型Dictionary;
在App Transport Security Settings下添加Allow Arbitrary Loads类型Boolean,值设为YES;
这里写图片描述
这样就可以正常访问到网络数据了;

iOS10.0对用户的隐私权限越来越重视,要想正常访问相册,相机,位置,麦克风,蓝牙,健康等都需要事先在info.plist文件中进行相应设置,现将开发中常用的用户权限设置总结如下:
蓝牙
NSBluetoothPeripheralUsageDescription
日历
NSCalendarsUsageDescription
相机
NSCameraUsageDescription
健康分享
NSHealthShareUsageDescription
健康更新
NSHealthUpdateUsageDescription
始终允许访问位置
NSLocationAlwaysUsageDescription
位置
NSLocationUsageDescription
在使用期间访问位置
NSLocationWhenInUseUsageDescription
麦克风
NSMicrophoneUsageDescription
运动与健康
NSMotionUsageDescription
相册
NSPhotoLibraryUsageDescription
提醒事项
NSRemindersUsageDescription

在info.plist添加如上访问权限,就可以避免运行中使用到的权限突然crash。
iOS10.0中info.plist文件权限设置_第1张图片

    <key>NSBluetoothPeripheralUsageDescriptionkey>
    <string>App需要您的同意,才能访问蓝牙string>
    <key>NSCalendarsUsageDescriptionkey>
    <string>App需要您的同意,才能访问日历string>
    <key>NSCameraUsageDescriptionkey>
    <string>App需要您的同意,才能访问相机string>
    <key>NSHealthShareUsageDescriptionkey>
    <string>App需要您的同意,才能访问健康分享string>
    <key>NSHealthUpdateUsageDescriptionkey>
    <string>App需要您的同意,才能访问健康更新string>
    <key>NSLocationAlwaysUsageDescriptionkey>
    <string>App需要您的同意,才能始终访问位置string>
    <key>NSLocationUsageDescriptionkey>
    <string>App需要您的同意,才能访问位置string>
    <key>NSLocationWhenInUseUsageDescriptionkey>
    <string>App需要您的同意,才能在使用期间访问位置string>
    <key>NSMicrophoneUsageDescriptionkey>
    <string>App需要您的同意,才能访问麦克风string>
    <key>NSMotionUsageDescriptionkey>
    <string>App需要您的同意,才能访问运动与健身string>
    <key>NSPhotoLibraryUsageDescriptionkey>
    <string>App需要您的同意,才能访问相册string>
    <key>NSRemindersUsageDescriptionkey>
    <string>App需要您的同意,才能访问提醒事项string>

iOS10.0中info.plist文件权限设置_第2张图片

你可能感兴趣的:(自我总结)