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

來源:互聯網
上載者:User

標籤: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協議傳輸。

最終找到以下解決辦法:
  1. 在Info.plist中添加App Transport Security Settings類型Dictionary

  2. App Transport Security Settings下添加Allow Arbitrary Loads類型Boolean,值設為YES

看到很多同學修改後還是不能用添加一下:
  1. 在Filter中搜尋Info.plist,選擇Info.plist進行編輯
    650) this.width=650;" src="http://segmentfault.com/img/bVpWTi" alt="圖片描述" title="圖片描述" style="border:0px;vertical-align:middle;" />

  2. 按照上面提到的方式添加資訊,正確的修改會看到這個樣子,注意類型App Transport Security SettingsDictionaryApp Transport Security SettingsBoolean,複製粘貼的時候,不要多了空格.


  3. 注意,單元測試下面也有一個Info.plist,修改那個檔案是沒有作用的!

參考:
  • App Transport Security support aka apps on iOS 9 don‘t work #4560

  • 711_networking_with_nsurlsession.pdf

總結:

蘋果正在加大應用安全的管控,這個舉措可以看出蘋果對資訊安全的重視,也暴露出大部分應用傳輸資料時都是未經過加密的,或使用私人方式加密,以至於蘋果開始對開發人員提出要求。
私人加密雖然一定程度上是安全的,但是終究不是一個長久之計。全世界這麼多安全專家在維護HTTPS安全,早日使用HTTPS確保資訊安全才是王道!也省去了私人加密協議的安全隱患.

為了更加安全的訪問, 早日使用HTTPS吧!!!

本文出自 “Frank” 部落格,轉載請與作者聯絡!

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.