iOS9 HTTP 不能正常使用的解決辦法

今天升級(jí) Xcode 7.0 bata,發(fā)現(xiàn)網(wǎng)絡(luò)訪問失敗。
輸出錯(cuò)誤信息
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

Google后查證,iOS9引入了新特性 App Transport Security (ATS) 。
詳情: App Transport Security (ATS)
新特性要求App內(nèi)訪問的網(wǎng)絡(luò)必須使用 HTTPS協(xié)議。但是現(xiàn)在公司的項(xiàng)目使用的是 HTTP協(xié)議,使用私有加密方式保證數(shù)據(jù)安全。現(xiàn)在也不能馬上改成 HTTPS協(xié)議傳輸。

最終找到以下解決辦法:
在Info.plist中添加 NSAppTransportSecurity 類型 Dictionary 。
在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 類型 Boolean, 值設(shè)為 YES

參考:
App Transport Security support aka apps on iOS 9 don't work #4560
711_networking_with_nsurlsession.pdf

總結(jié):
蘋果正在加大應(yīng)用安全的管控,這個(gè)舉措可以看出蘋果對(duì)信息安全的重視,也暴露出大部分應(yīng)用傳輸數(shù)據(jù)時(shí)都是未經(jīng)過加密的,或使用私有方式加密,以至于蘋果開始對(duì)開發(fā)者提出要求。
私有加密雖然一定程度上是安全的,但是終究不是一個(gè)長(zhǎng)久之計(jì)。全世界這么多安全專家在維護(hù) HTTPS安全,早日使用 HTTPS確保信息安全才是王道!也省去了私有加密協(xié)議的安全隱患!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容