iOS 网络图片只能访问https,不能访问http.App Transport Security Settings设置

问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。

解决的办法或者全面关闭https,允许使用http请求;或者把图片的域添加;又或者选择使用https的图片

解决方案

以下方法2选1:

(1)、暂时退回到http协议。

具体方法:

在项目的info.plist中添加一个Key:App Transport Security Settings,类型为字典类型。

然后给它添加一个Key:Allow Arbitrary Loads,类型为Boolean类型,值为YES;

iOS 网络图片只能访问https,不能访问http.App Transport Security Settings设置

(2)、设置域。可以简单理解成,把不支持https协议的接口设置成http的接口。

具体方法:

1)、在项目的info.plist中添加一个Key:App Transport Security Settings,类型为字典类型。

2)、然后给它添加一个Exception Domains,类型为字典类型;

3)、把需要的支持的域添加給Exception Domains。其中域作为Key,类型为字典类型。

4)、每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。

均为Boolean类型,值分别为YES、NO、YES。(微博在ios10上授权分享需要额外配置NSExceptionMinimumTLSVersion,类型为string,值是TLSv1.0)

iOS 网络图片只能访问https,不能访问http.App Transport Security Settings设置

细节提示:在iOS9中如果使用到网络图片,也要注意网络图片是否是HTTP的哦,如果是,也要把图片的域设置哦!