iOS9 http不能訪問網絡——在Xcode中將https改成http方式


     

=====================2016-01-29更新===========================

   最近做demo時,發現將https改成http方式略有小變

  1. 沒有改成http方式時輸出的錯誤:

    App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

 2.修改的Info.plist添加文字有變:

 

 

 

 

 

========================== 分割線 ==========劉成利 EMail: liu_cheng_li@qq.com============

     九月底,隨着iOS9的推送升級和Xcode7的發布。由於新的iOS9中,網絡請求默認方式為Https,一種比原來Http更安全的協議方式。

      HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

       對於iOS開發人員來說,項目開發中會產生網絡訪問失敗。

      輸出錯誤信息:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.


     這是因為  iOS9引入了新特性App Transport Security (ATS)。詳情:蘋果官網說明網址

     新特性要求App內訪問的網絡必須使用HTTPS協議。


    但是現在公司的項目使用的是HTTP協議,使用私有加密方式保證數據安全。現在也不能馬上改成HTTPS協議傳輸。


 

最終找到以下解決辦法:

  1. 在Info.plist中添加NSAppTransportSecurity  類型Dictionary

  2. NSAppTransportSecurity添加NSAllowsArbitraryLoads類型Boolean,值設為YES。

   具體圖文步驟如下:    NSAppTransportSecurity   NSAllowsArbitraryLoads 

  (注意:1.大部分項目是Info.plist,部分項目是其他名,例如我的下圖項目是             TextCapital-info.plist

          2.單元測試下面也有一個Info.plist,修改那個文件是沒有作用的!
       
        
   )

   NSAppTransportSecurity   NSAllowsArbitraryLoads




 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM