gpt4 book ai didi

ios - 为什么启用应用程序传输安全设置后,sdwebimage 可以成功加载图像?

转载 作者:行者123 更新时间:2023-11-29 00:34:55 24 4
gpt4 key购买 nike

由于 Apple 将强制我们从 2017 年起启用 ATS,我正在做一些调查工作,但对 SDWebImage 类有一些疑问。

如果我使用下面的代码,图像将被成功加载

[self.myImageView sd_setImageWithURL:[NSURL URLWithString:@"http://f.hiphotos.baidu.com/image/h%3D200/sign=1c3f18c4524e9258b93481eeac83d1d1/b7fd5266d0160924be0452bbd00735fae6cd3468.jpg"]];

但是如果我使用NSData中的方法,图像将不会被加载。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://f.hiphotos.baidu.com/image/h%3D200/sign=1c3f18c4524e9258b93481eeac83d1d1/b7fd5266d0160924be0452bbd00735fae6cd3468.jpg"]];

UIImage *image = [UIImage imageWithData:data];

dispatch_async(dispatch_get_main_queue(), ^{
self.myImageView.image = image;
});
});

SDWebImage是怎么做到的?

最佳答案

确保“NSAllowsArbitraryLoads”没有在您的 Info.plist 文件中设置。

据我所知,SDWebImage 受到与所有其他应用相同的 ATS 限制。

例如,当我将您的 URL 插入 SDWebImage 的演示应用程序(in their MasterViewController.m 文件)并关闭 ATS 异常时,我得到“SDWebImage iOS Demo[6714:130852] App Transport Security has blocked a cleartext HTTP (http://) 资源加载,因为它是不安全的。可以通过应用程序的 Info.plist 文件配置临时异常。"Xcode 控制台中的消息。

关于ios - 为什么启用应用程序传输安全设置后,sdwebimage 可以成功加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40842858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com