您的位置:首页 > 其它

Xcode 7 ATS设置

2015-10-29 14:27 316 查看
这两天研究SDWebimage库,在xode 7上运行过程中遇到了些问题,创建的新项目由于使用到了https的图片URL,运行后,怎么都不出现图片,发送请求时,报下面的错:

“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”

经过搜索stackoverflow查询相关问题发现,iOS9新特性要求App内访问网络请求要采用HTTPS协议,无论url是http的还是https的。通过进行如下设置即可:

在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;

在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;

然后尝试了SDWebimage不同的图片加载方法,均成功展示。后面可以正常研究图片缓存的实现了。

/**

* Using SDWebimage

*/

  NSURL *imgURL = [NSURL URLWithString:@"http://www.sogou.com/images/logo/new/sogou.png"];

// Using UIImageView+WebCache category

[imageView sd_setImageWithURL:imgURL

placeholderImage:[UIImage imageNamed:@"default_pic"]];

// Using blocks

[imageView sd_setImageWithURL:imgURL

placeholderImage:[UIImage imageNamed:@"default_pic"]

completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

}];

// Using SDWebImageManager

SDWebImageManager *manager = [SDWebImageManager sharedManager];

[manager downloadImageWithURL:imgURL

options:0

progress:^(NSInteger receivedSize, NSInteger expectedSize) {

// progression tracking code

}

completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {

if (image) {

// do something with image

[imageView setImage:image];

}

}];

// Using Asynchronous Image Downloader Independently

SDWebImageDownloader *downloader = [SDWebImageDownloader sharedDownloader];

[downloader downloadImageWithURL:imgURL

options:0

progress:^(NSInteger receivedSize, NSInteger expectedSize) {

// progression tracking code

}

completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {

if (image && finished) {

// do something with image

[imageView setImage:image];

}

}];

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: