从 url 检索 jpg 图像返回 nil。但是,从 url 检索 png 图像工作正常
Posted
技术标签:
【中文标题】从 url 检索 jpg 图像返回 nil。但是,从 url 检索 png 图像工作正常【英文标题】:Retrieving jpg image from url returns nil. However, retrieving png image from url works fine 【发布时间】:2017-08-23 16:34:09 【问题描述】:如果我使用下面的代码,数据将为 nil
dispatch_async(dispatch_get_global_queue(0,0), ^
UIImage *img = [[UIImage alloc] init];
NSData * data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:@"http://www.manipalgrocer.com/image/catalog/BANNER/sweets.jpg"]];
img = [UIImage imageWithData: data];
dispatch_async(dispatch_get_main_queue(), ^
menuCell.imgMenu.image = img;
);
);
但是,如果我使用以下代码,我将在 menuCell 中获取图像
dispatch_async(dispatch_get_global_queue(0,0), ^
UIImage *img = [[UIImage alloc] init];
NSData * data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:@"https://www.fooodzapp.com/image/catalog/JUST%20CHILL/Justchill%20(1).png"]];
img = [UIImage imageWithData: data];
dispatch_async(dispatch_get_main_queue(), ^
menuCell.imgMenu.image = img;
);
);
如果有人知道如何解决这个问题,请回复。提前致谢
【问题讨论】:
您在尝试加载 http URL 时是否在控制台中看到任何消息? 首先在你的plist中添加ATS,检查图片url是否有多余的空间。然后调用服务 【参考方案1】:您的第一张图片是 HTTP 您需要将 App Transport Security 添加到列表中的 yes
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
【讨论】:
非常感谢@Abdelahad Darwish。现在一切正常以上是关于从 url 检索 jpg 图像返回 nil。但是,从 url 检索 png 图像工作正常的主要内容,如果未能解决你的问题,请参考以下文章
从 xcassets 中的图像创建 URL 总是返回 nil
“[[NSBundle mainBundle] objectForInfoDictionaryKey:]” 有时返回 nil
“[[NSBundle mainBundle] objectForInfoDictionaryKey:]” 有时返回 nil