iOS10 相机相册等权限使用iOS9 网络请求

http://blog.csdn.net/alenczf/article/details/51291411
iOS9对应用通讯安全策略进行了升级, 已不再支持http这种不安全的协议(具体可见网址:What's New in iOS 9.0)
新特性要求App内访问的网络必须使用HTTPS
协议,http是超文本传输协议, 信息采用明文传输, 而https则使用SSL加密传输协议进行传输。但是现在公司的项目使用的是HTTP
协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS
协议传输。
因此设置成http访问在某些情况下是必然的,具体的更改方式有两种
一是更改Info.plist文件,使用Source Code打开,添加如下代码:

[objc] view plain copy

NSAppTransportSecurity

NSAllowsArbitraryLoads

代表可以进行任意的http请求

**方法二:同样在Info.plist文件里直接添加字典 **
类型NSAppTransportSecurity
为Dictionary
,子字典为NSAllowsArbitraryLoads,类型
为Boolean,
设置为
YES;

不过上面介绍的方法虽然解决了网络访问的问题,但是苹果提供的安全保障也被关闭了。但是按照国内的现状,关闭这个限制也许是更实际的做法。至于原因就太多了,第三方SDK(几乎都是访问HTTP
),合作伙伴接入(不能要求它们一定要支持HTTPS)。
如果你的App没有受到这些原因的限制,还是更建议你增加HTTPS
支持,而不是关闭限制。

出于安全考虑我们提倡使用HTTPS
,https虽然还未普及,但是它的加密比较安全性高,所以比较建议将https设为优先,http设置为例外访问,具体如下:

NSAppTransportSecurity NSExceptionDomains qq.com NSIncludesSubdomains sina.com.cn NSIncludesSubdomains

根据自己需要的域名修改, NSIncludeSubdomains 就是包括子域的意思。


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

NSCameraUsageDescription
App需要您的同意,才能访问相机

NSMicrophoneUsageDescription
App需要您的同意,才能访问麦克风

NSLocationUsageDescription
App需要您的同意,才能访问位置

NSLocationWhenInUseUsageDescription
App需要您的同意,才能在使用期间访问位置

NSLocationAlwaysUsageDescription
App需要您的同意,才能始终访问位置

NSCalendarsUsageDescription
App需要您的同意,才能访问日历

NSRemindersUsageDescription
App需要您的同意,才能访问提醒事项

NSMotionUsageDescription App需要您的同意,才能访问运动与健身

NSHealthUpdateUsageDescription
App需要您的同意,才能访问健康更新

NSHealthShareUsageDescription
App需要您的同意,才能访问健康分享

NSBluetoothPeripheralUsageDescription
App需要您的同意,才能访问蓝牙

NSAppleMusicUsageDescription App需要您的同意,才能访问媒体资料库

你可能感兴趣的:(iOS10 相机相册等权限使用iOS9 网络请求)