1. 程式人生 > >Xcode7 網路請求報錯

Xcode7 網路請求報錯

最近寫的一些Demo很多都有帶有http的URL,然而在Xcode V7.0以及更高版本下會提示報錯。

報錯提示1:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

報錯提示2: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.

不管是使用Xcode編寫iOS程式還是Mac OS X程式都是會報錯誤的,但是,報錯是指控制檯輸出,程式不會crash退出,但是你的網路訪問是失敗的,不會得到資料返回。

經查證,是iOS引入新特性App Transport Security (ATS) 導致:

新特性要求App內訪問網路需要使用HTTPS協議,但是當前很多連結都是HTTP,使用私有加密方式保證資料安全

解決方法:

如下為網上提供方法:

  1.在Info.plist中新增NSAppTransportSecurity型別Dictionary

  2.在NSAppTransportSecurity下新增NSAllowsArbitraryLoads

型別Boolean,值設為YES

我在專案中的info.plist檔案新增鍵值對的時候,NSAppTransportSecurity會自動變成App Transport Security Settings,

  1. NSAllowsArbitraryLoads會變成Allow Arbitrary Loads

    只要您能這麼新增就對了,如圖:



相關推薦

Xcode7 網路請求

最近寫的一些Demo很多都有帶有http的URL,然而在Xcode V7.0以及更高版本下會提示報錯。 報錯提示1:The resource could not be loaded because 

網路請求 code = 1002 處理

有時候網路請求會異常,比如報錯: NSURLConnection finished with error - code -1002 Response failed, error buffer: unsupported URL   處理方法: iOS 8 要用utf8轉碼

Alamofire 網路請求 Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed

FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErro

ajax 請求網路錯誤 0x2efd,

Ajax錯誤 “SCRIPT7002: XMLHttpRequest: 網路錯誤 0x2ef3, 由於出現錯誤 00002ef3 而導致此項操作無法完成” 原因一:Ajax的contentType記得要加charset=utf-8,否則大概率會引發Ajax錯誤:

git https 請求 504

AS ash 檢查 沒有 系統 http ID 去掉 ubun git https 請求報錯 504 原因可能是因為設置了代理,ubuntu/deepin 系統可以檢查 /etc/profile ~/.bashrc 內有沒有設置 https 的代理。 有的話,去掉就可

關於接口請求的小小總結

數據傳輸 發送請求 dia base set 使用 很多 utf-8 str 前端在調用後臺接口時會遇到很多問題,在使用axios.post向接口發送請求時通常會報各種錯誤,以下是一些小小總結。1.報415:這個錯誤往往是數據類型方面的錯誤,主要是要改接收數據的請求頭,就是

解決Android4.4及以下Volley框架Patch請求問題(Kotlin)

volley請求在4.4以下呼叫patch請求,會報以下錯誤 java.net.ProtocolException: Unknown method ‘PATCH’; must be one of [OPTIONS, GET, HEAD, POST, PUT, DELETE, TRAC

retrofit請求:Expected a string but was BEGIN_OBJECT at line 1 column 2 path $

Expected a string but was BEGIN_OBJECT at line 1 column 2 path $ 這樣的錯,意思就是我想幫你解析成String而你返回的資料是一個物件,解析不了 需要把返回的物件String 給成JsonObject就可以了 如:C

jsonp跨域請求Uncaught SyntaxError: Unexpected token :

jsonp跨域請求報錯Uncaught SyntaxError: Unexpected token :遇到就記錄一下: 通過自己不斷倒騰和看別人的部落格,總結如下: 前端程式碼: <div class="container"> <p>更新資訊</p&

909422229_ajax 請求 caution : provisional headers are shown

這次問題出現的是,使用ajax傳送請求。後臺檢測時間,如果超過10秒後沒有處理完成,則返回超時結果。 請求傳送成功後,後臺呼叫介面請求處理。故意等待超時,結果返回了超時的標記,但是前臺ajax url處報 provisional headers are shown。十分不理解,有時候即使

SpringMVC:Controller請求The request sent by the client was syntactically incorrect

因為Spring預設的parser是StringParser,而我傳入的是組合類,SpringMVC解析出錯。 @Data public class QQGameGetCouponDto { private BaseParams baseParams; private QQGam

【我的Android進階之旅】使用Retrofit進行Post請求: @Field parameters can only be used with form encoding.

一、問題描述 今天隨手寫一個post請求的時候,報錯了,如下所示: 09-28 11:11:28.155 10547-10547/com.xtc.watch E/Fatal: {CrashHandler.saveAndPrintLog-58} jav

Flask 中使用 JSON 響應頁面的 Ajax 請求 TypeError: 'dict' object is not callable

在使用 Flask 的過程中,頁面向後臺發起 Ajax 請求,後臺處理完成後向頁面返回 JSON 資料時,會報出一個 TypeError: 'dict' object is not callable 的錯誤。該錯誤是因為直接將 {key:value} 形式的字典資料向頁面傳輸

resin https 請求解決

問題: 遊戲支付完後,通知服務端,服務端要去蘋果伺服器驗證訂單是否合法。採用的是封裝好的HttpClient 工具。 在與客戶端聯調時,驗證訂單這一步報錯 javax.net.ssl.SSLHandshakeException: Failed to

ros indigo opencv獲取網路攝像頭(尚未解決)

[h264 @ 0x7f928c5deca0] cabac decode of qscale diff failed at 46 48 [h264 @ 0x7f928c5deca0] error while decoding MB 46 48, bytestre

https請求解決:javax.net.ssl.SSLException: Not trusted ...

通過https協議請求資料報錯了一下錯誤:javax.net.ssl.SSLException: Not trusted server certificate exception.在國外論壇上找了個解決的方案和大家分享。      我們需要自定義一個繼承org.apache.http.conn.ssl.SS

ssm+vue 使用shiro後 post請求 Request header field Content-Type is not allowed by Access-Control-Allow-H

ssm+vue 使用shiro後 post請求報錯 Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 出現的問題

關於python的bottle框架跨域請求問題的處理

  在用python的bottle框架開發時,前端使用ajax跨域訪問時,js程式碼老是進入不了success,而是進入了error,而返回的狀態卻是200。url直接在瀏覽器訪問也是正常的,瀏覽器按F12後會發現下面這個錯誤提示 XMLHttpRequest cann

yii框架 postman POST請求400

查詢原因 出現這個錯誤的原因是因為yii框架預設是開啟了csrf驗證 yii2的csrf的實現功能是在yii\web\request類實現功能的。 request類中的屬性,預設是true的。 public $enableCsrfValidation =

解決asynchttpclient https請求hostname in certificate didn't match:

錯誤: javax.NET.ssl.SSLException:hostname in certificate didn’t match:<..*.com> != <.**.com&g