iOS10 HTTP 不能正常使用的解决办法

来源:互联网 发布:cda数据分析师协会 编辑:程序博客网 时间:2024/04/28 13:19
今天做音乐播放器,传入一个url,并把它转成NSData ,发现网络访问失败。

输出错误信息

The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
新特性要求App内访问的网络必须使用HTTPS协议。
但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。因此需要改动 info.plist文件,允许项目可以用http明文传输。

最终找到以下解决办法:

  1. 在Info.plist中添加NSAppTransportSecurity类型Dictionary

  2. NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES



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




0 0
原创粉丝点击