iOS10 ATS / 非HTTPS被禁问题
2016-09-20 16:41
330 查看
iOS9 中默认非HTTPS的协议是被禁止的,解决方案是我们可以在
iOS10 从2017年1月1日起苹果提出所有新提交的App默认不允许使用
解决方案:我们可以通过
操作:
1)在项目info.plist中添加一个Key:App Transport Security Settings,类型为
Dictionary;
2)在其内添加一个Key:
Exception Domains,类型为Dictionary;
3)在Exception
Domains内添加要支持的域,其中域作为Key,类型为Dictionary;
4)每个域下面需要设置3个属性:类型为Boolean;
NSIncludesSubdomains YES
NSExceptionRequiresForwardSecrecy NO
NSExceptionAllowsInsecureHTTPLoads YES
注意:每个需添加的域都需要设置此三个属性。如果请求的网络图片是HTTP,也是需要设置的图片的域。
info.plist文件中添加
AppTransportSecuritySettings字典,将
NSAllowsArbitraryLoads设置为
YES来禁用ATS。
iOS10 从2017年1月1日起苹果提出所有新提交的App默认不允许使用
NSAllowsArbitraryLoads来绕过ATS的限制,也就是说强制我们用
HTTPS,如果不这样的话提交App可能会被拒绝。
解决方案:我们可以通过
NSExceptionDomains设置白名单的方式来针对特定的域名开放
HTTP内容来通过审核。可以简单理解成,把不支持https协议的接口设置成http的接口。
操作:
1)在项目info.plist中添加一个Key:App Transport Security Settings,类型为
Dictionary;
2)在其内添加一个Key:
Exception Domains,类型为Dictionary;
3)在Exception
Domains内添加要支持的域,其中域作为Key,类型为Dictionary;
4)每个域下面需要设置3个属性:类型为Boolean;
NSIncludesSubdomains YES
NSExceptionRequiresForwardSecrecy NO
NSExceptionAllowsInsecureHTTPLoads YES
注意:每个需添加的域都需要设置此三个属性。如果请求的网络图片是HTTP,也是需要设置的图片的域。
相关文章推荐
- YALE CAS HTTPS认证方式问题备忘
- 添加(地址是https协议) web引用时要注意的问题....
- java调用https webservice问题总结
- 解决https://localhost:1158/em 页面无法打开的问题
- Java中用HttpsURLConnection访问Https链接的问题
- 解决https://localhost:1158/em 页面无法打开的问题
- Flex+Java 解决SSL(https)下IE浏览器无法正常工作的问题
- 解决SSL(https)下IE浏览器无法正常工作的问题
- TLS Https连接失败问题(协商失败)
- AIX配置tomcat https的问题解决
- C/C++实现HTTP/HTTPS的POST存在的问题
- Tomcat下基于HTTPS协议应用的负载均衡配置问题
- HTTPS下载出现“Internet Explorer Cannot Download”的问题
- 关于AXIS WebService通过HTTPS协议访问WAS Web服务错误问题的解决方案
- AIX配置tomcat https的问题解决
- AIX配置tomcat https的问题解决
- iis7,https,asp.net mvc的相关问题
- HTTPS访问站点,出现证书问题解决(转载)
- ISA Server 阻断 HTTPS 连接问题分析
- IE7访问HTTPS网站提示证书有安全问题的解决方案