概覽
隨著 iOS 9 的發布,Apple 推出了一項名為應用程序傳輸安全 (ATS)它強制應用程序和網絡服務之間的安全連接。在不久的將來,除非您在應用程序審核過程中提供合理的理由說明ATS例外情況,否則應用商店中的所有應用都將需要啟用ATS。
ATS限制適用於以iOS 9.0和更高版本為目標的應用程序。應用商店中的現有應用不會受到影響,但是在發布新應用或更新現有應用時,您將需要應用ATS限制。
Brightcove生態系統支持ATS限制。在大多數情況下,您應該在啟用ATS的情況下構建應用。如果您需要連接到非安全URL,則可以將ATS異常以及理由提交給Apple App Store審查。
選擇以下任一項:
作為最後的選擇,您可以禁用ATS要求。請記住,此選項很快就會消失。
在啟用ATS的情況下構建應用
如果您在應用程序和Web服務之間通過HTTPS使用安全連接,則可以為應用程序啟用“應用程序傳輸安全性”。
要構建啟用了ATS的應用,請執行以下操作:
- 啟用 CDN 以進行安全通訊。
-
視訊雲端客戶 (無論您是使用房屋 CDN 還是具名的 CDN) 都應該聯絡他們的 Brightcove 客戶經理,確保帳戶設定為透過 HTTPS 交付。
-
對於那些使用遠程資產的人,您可能需要適當地配置您的 CDN。
-
-
使用安全通訊傳遞您的媒體內容。這包括影片、廣告、字幕、海報圖片、縮圖和其他第三方 API 連線。
-
視訊雲端客戶:使用播放 API 擷取每個資產的安全通訊協定。
-
布萊特灣玩家顧客:請確認您的媒體內容是透過 HTTPS 傳送。
-
使用ATS例外
如果您需要在應用程序和Web服務之間使用非安全連接,則可以嘗試使用ATS異常。請記住,滿足ATS要求的原因是為了確保用戶在使用您的應用程序時具有良好的安全性。因此,在探究ATS異常之前,請確保您的應用無法使用安全連接。
您可以使用一些特定的密鑰繞過ATS要求。這些例外情況將引發App Store的額外審查,並要求您提供合理的理由。有關詳細信息,請參閱ATS 的 App Store 評論文檔。
請注意,對於已經加密的內容(例如,FairPlay),您也許可以為例外辯護,但請記住,最佳實踐是盡可能使用HTTPS。
禁用ATS要求
在構建針對iOS 9 SDK或更高版本的應用程序時,您可以選擇禁用ATS。請按照以下步驟在您的應用中禁用ATS要求:
-
在 Xcode 中,右鍵單擊信息列表文件並將其打開為源代碼 .
-
複製以下代碼:
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
-
在裡面信息列表文件,關閉前
</dict>
標籤,粘貼上面的代碼。 -
在 Xcode 中,當您打開信息列表歸檔為財產清單,你現在應該在 plist 字典中看到這個條目。
禁用ATS不會更改現有的HTTPS連接。它只是阻止iOS對您的http通信實施其他安全要求。
其他資源
- 蘋果開發者論壇:應用傳輸安全要求 2017 年 1 月
- 蘋果開發者論壇:App Transport安全更新