你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS10 ATS 配置詳細介紹

iOS10 ATS 配置詳細介紹

編輯:IOS開發綜合

iOS10 ATS 配置的一點思考

ATS 無法對 IP 地址進行限制

假設要調用的 api 為 /foo/bar/doSth

  1. 如果服務器地址為api.myserver.com,那麼http://api.myserver.com/foo/bar/doSth會被 ATS 攔截,因為它是不安全的
  2. 如果服務器地址為221.233.20.115:9090,那麼http://221.233.20.115:9090/foo/bar/doSth不會被 ATS 攔截,即使它是用的是 http 協議
  3. 這在我的另一片翻譯文章蘋果文檔翻譯 iOS10 NSAppTransportSecurity中也有提及

第三方 SDK,同樣需要遵守 ATS 規則

即第三方 SDK 也有被 ATS 過濾的風險,目前已知的有:

  1. 極光
  2. 友盟
  3. 百度地圖

配置舉例

下面的例子做了如下配置:

iOS10

  1. Web View 可以載入任意內容(NSAllowsArbitraryLoadsInWebContent)
  2. myserver.com及其所有子域名(例如,api 和圖片服務器)都可以使用 http 連接進行訪問
  3. myserver.com及其所有子域名,都可以使用 http 連接進行訪問(第三方 SDK 同樣需要遵守 ATS 規則,所以需要列出所有仍舊使用 http 請求的第三方 SDK 域名,將它們添加進 exceptions)

iOS9

ATS 完全關閉(NSAllowsArbitraryLoads)

  <key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
      <key>myserver.com</key>
      <dict>
        <key>NSExceptionAllowsInsecureHTTPLoads</key>
        <true/>
        <key>NSIncludesSubdomains</key>
        <true/>
      </dict>
      <key>jpush.cn</key>
      <dict>
        <key>NSIncludesSubdomains</key>
        <true/>
        <key>NSExceptionAllowsInsecureHTTPLoads</key>
        <true/>
      </dict>
    </dict>
  </dict>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved