美文网首页
iOS10 相机相册等权限使用iOS9 网络请求

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

作者: 小宗师cz | 来源:发表于2017-07-24 18:00 被阅读87次

    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

    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>

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

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

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

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

    <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>qq.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> </dict> <key>sina.com.cn</key> <dict> <key>NSIncludesSubdomains</key> <true/> </dict> </dict> </dict>

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


    <key>NSPhotoLibraryUsageDescription</key>
    <string>App需要您的同意,才能访问相册</string>

    <key>NSCameraUsageDescription</key>
    <string>App需要您的同意,才能访问相机</string>

    <key>NSMicrophoneUsageDescription</key>
    <string>App需要您的同意,才能访问麦克风</string>

    <key>NSLocationUsageDescription</key>
    <string>App需要您的同意,才能访问位置</string>

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

    <key>NSLocationAlwaysUsageDescription</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需要您的同意,才能访问媒体资料库</string>

    相关文章

      网友评论

          本文标题:iOS10 相机相册等权限使用iOS9 网络请求

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