iOS 9 Xcode7 http 錯誤
之前的專案重新Build後突然發現網路要求無法使用,看到Log中的提示:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
及
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.
經過一番了解後才知道,iOS 9新增App Transport Security
(ATS)的項目,重點是你在APP中如果有網路的要求時,其網址必定要是加密協定(https),否則連線要求會被禁止。主要是保護您的APP在進行網路通訊時一切資料都是加密,防止被嗅探。
因為此專案是與Arduino + Ehternet Shield配合,並暫無實現加密請求,所以利用另外設定Info.plist
的方式將App Transport Security
取消。首先在您的專案中找到Info.plist
:
新增一組Key/Value:
選擇App Transport Security Settings
,此為(ATS)功能項目:
選擇後再新增子Key/Value,項目名稱Allow Arbitrary Loads
:
並將Value選擇為YES
:
以上都確定無誤後,再重新Build專案就解除ATS功能。