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