iOS9 中預設非HTTPS的協定是被禁止的,解決方案是我們可以在
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,也是需要設定的圖檔的域。
轉載于:https://www.cnblogs.com/swell/p/6182153.html