主鍵包括:
NSAllowsArbitraryLoads
設(shè)置為 YES,解除整個 app 的 ATS 限制;但是,通過-
NSExceptionDomains進 行的配置依然有效。默認值為 NO。
注意:設(shè)置為 YES,會引發(fā) App Stroe 的審查,開發(fā)者必須說明原因。
NSAllowsArbitraryLoadsInMedia
設(shè)置為 YES,解除通過 AV Foundation 框架訪問媒體內(nèi)容時的 ATS 限制;啟用這個 鍵,務(wù)必確保載入的媒體內(nèi)容已經(jīng)被加密,例如受FairPlay保護的文件,或者是安全的 HLS流媒,其中不包含敏感的個人信息。默認為 NO。
NSAllowsArbitraryLoadsInWebContent
設(shè)置為 YES,解除通過 web view 發(fā)出的網(wǎng)絡(luò)請求的 ATS 限制。啟用這個鍵,可以使 app 訪問任意網(wǎng)頁內(nèi)容,但不影響 app 的總體 ATS 策略。此鍵值默認為 NO。
NSAllowsLocalNetworking
設(shè)置為 YES,使得 app 可以載入任意本地資源,但不影響 app 的總體 ATS 策略。默 認為 NO。
NSExceptionDomains
為一個或多個域名單獨配置 ATS。
被單獨配置的域名,默認受到完全的 ATS 限制,不管NSAllowsArbitraryLoads的值 如何;需要通過子鍵,進一步配置
所有的子鍵都屬于NSExceptionDomain。向Info.plist中添加這一主鍵:
創(chuàng)建字典,針對一個或多個域名,以便進行 ATS 配置。
這意味著之前使用主鍵所做的設(shè)置,對于這個域名來說,已經(jīng)無效。
例如,及時之前設(shè)置NSAllowsArbitraryLoadsInMedia為 YES,然而NSExceptionDomain所代表的域名依然不能訪問不安全的媒體內(nèi)容。
基于這樣的設(shè)定,可以針對域名進行 ATS 配置,增加或減少安全措施。例如:
將NSExceptionAllowsInsecureHTTPLoads設(shè)置為 YES,就 ;這樣做會引發(fā) App Store 的審查,詳情見App Store Review for ATS。
通過配置NSExceptionRequiresForwardSecrecy為 NO,取消正向保密。
通過配置NSExceptionMinimumTLSVersion,更改 TLS 最低版本