標籤:xcode7 http https
今天升級Xcode 7 之後,發現原有工程中所有的網路訪問失敗。
輸出錯誤資訊
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內訪問的網路必須使用HTTPS協議。
但是現在公司的項目使用的是HTTP協議,使用私人加密方式保證資料安全。現在也不能馬上改成HTTPS協議傳輸。
最終找到以下解決辦法:
在Info.plist中添加App Transport Security Settings類型Dictionary。
在App Transport Security Settings下添加Allow Arbitrary Loads類型Boolean,值設為YES
看到很多同學修改後還是不能用添加一下:
在Filter中搜尋Info.plist,選擇Info.plist進行編輯
650) this.width=650;" src="http://segmentfault.com/img/bVpWTi" alt="圖片描述" title="圖片描述" style="border:0px;vertical-align:middle;" />
按照上面提到的方式添加資訊,正確的修改會看到這個樣子,注意類型App Transport Security Settings為Dictionary,App Transport Security Settings為Boolean,複製粘貼的時候,不要多了空格.
注意,單元測試下面也有一個Info.plist,修改那個檔案是沒有作用的!
參考:
總結:
蘋果正在加大應用安全的管控,這個舉措可以看出蘋果對資訊安全的重視,也暴露出大部分應用傳輸資料時都是未經過加密的,或使用私人方式加密,以至於蘋果開始對開發人員提出要求。
私人加密雖然一定程度上是安全的,但是終究不是一個長久之計。全世界這麼多安全專家在維護HTTPS安全,早日使用HTTPS確保資訊安全才是王道!也省去了私人加密協議的安全隱患.
為了更加安全的訪問, 早日使用HTTPS吧!!!
本文出自 “Frank” 部落格,轉載請與作者聯絡!
iOS9 HTTP 不能正常使用的解決辦法