天天看點

iOS10 ATS / HTTPS問題

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

iOS10 ATS / HTTPS問題

   注意:每個需添加的域都需要設定此三個屬性。如果請求的網絡圖檔是HTTP,也是需要設定的圖檔的域。

轉載于:https://www.cnblogs.com/swell/p/6182153.html