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

     

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

   最近作demo時,發現將https改爲http方式略有小變ios

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

    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============app

     九月底,隨着iOS9的推送升級和Xcode7的發佈。因爲新的iOS9中,網絡請求默認方式爲Https,一種比原來Http更安全的協議方式。單元測試

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

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

      輸出錯誤信息: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



相關文章
相關標籤/搜索