iOS 9 Xcode7 http 錯誤

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功能。