
一、
2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS。
就是要求去掉 Info.plist的 NSAllowsArbitraryLoads
1.这要求所有通过APP发送的网络请求都需要https
2.开启ATS,图片(例如图像的URL)等静态文件的url需要用https,否则会无法加载;
3.对于H5,网页浏览和视频播放的行为,iOS10中新加入了NSAllowsArbitraryLoadsInWebContent 键。通过将它设置为YES,
可以让你的 app 中的 WKWebView 和使用 AVFoundation 播放的在线视频不受 ATS 的限制。
这也应该是绝大多数使用了相关特性的 app 的选择。但是坏消息是这个键在 iOS9中并不会起作用.
4.iOS9中可以选择使用 NSExceptionDomains 来针对特定的域名开放 HTTP 应该要相对容易过审核。“需要访问的域名是第三方服务器,他们没有进行 HTTPS 对应”会是审核时的一个可选理由,但是这应该只需要针对特定域名,而非全面开放。如果访问的是自己的服务器的话,可能这个理由会无法通过。是需要在Info.plist配置中的XML源码
NSAppTransportSecurity
NSExceptionDomains
XXX.com
NSIncludesSubdomains
NSExceptionRequiresForwardSecrecy
NSExceptionAllowsInsecureHTTPLoads
NSExceptionMinimumTLSVersion
TLSv1.1
二、
目前项目中用到的第三方已经支持https的有
WKWebView
UIWebView
SDWebImage
支付宝SDK
微信支付SDK
友盟SDK
极光推送SDK
其中用到的UIWebView 以后要逐步替换为WKWebView