美文网首页IOS 知识积累
SDWebImage 报错Error Domain=NSURLE

SDWebImage 报错Error Domain=NSURLE

作者: ali_hilo | 来源:发表于2017-03-31 13:41 被阅读733次

    首先排除ios9   ATS的设置问题。

    1、SDWebImage可以正常加载HTTPS的图片。

    2、SDWebImage可以加载有些HTTP图片。

    3、SDWebImage不能加载有些HTTP的图片,但是网页上打开,或者UIWebView可以正常加载。

    排除了所有可能的问题。

    找到这个答案:Stackflow

    For some reason yourSDWebImagewasn’t persisting theuser-Agent

    以下代码贴上使用。即可加载部分不能加载的图片。

    NSString*userAgent=@"";userAgent=[NSStringstringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)",[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleExecutableKey]?:[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleIdentifierKey],[[[NSBundlemainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"]?:[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleVersionKey],[[UIDevicecurrentDevice]model],[[UIDevicecurrentDevice]systemVersion],[[UIScreenmainScreen]scale]];if(userAgent){if(![userAgent canBeConvertedToEncoding:NSASCIIStringEncoding]){NSMutableString*mutableUserAgent=[userAgent mutableCopy];if(CFStringTransform((__bridgeCFMutableStringRef)(mutableUserAgent),NULL,(__bridgeCFStringRef)@"Any-Latin; Latin-ASCII; [:^ASCII:] Remove",false)){userAgent=mutableUserAgent;}}[[SDWebImageDownloadersharedDownloader]setValue:userAgent forHTTPHeaderField:@"User-Agent"];}

    相关文章

      网友评论

      • Eddy_0:解决了我的问题,谢谢! 有个建议,格式改一下,简书这么好看的格式,你能堆在一起!
        ali_hilo:😄 好的,谢谢提醒!
      • MrJ的杂货铺:这个加在什么地方啊
        ali_hilo:@MrJ的杂货铺 加在加载图片的前面就好。

      本文标题:SDWebImage 报错Error Domain=NSURLE

      本文链接:https://www.haomeiwen.com/subject/kzomottx.html