没有 ssl 证书的 SDWebImage

SDWebImage without ssl certificate

我尝试通过 SDWebImage 设置图像。但 SDWebImage 取消操作。我试图在 Safari 中使用 url 获取此图像,Safari 向我询问证书。当我取消对话框时 window 我得到这张图片。

问题是:我可以在不修改这个库的情况下禁用 SDWebImage 证书验证吗?

我花了很多时间钻研 SDWebImage 代码并找到解决方案。我想知道为什么文档没有明确说明如何做到这一点!

示例代码如下:

NSURL *url = ... <image url here>
UIImageView *imageView = ...
[imageView sd_setImageWithURL:url placeholderImage:nil options:SDWebImageAllowInvalidSSLCertificates progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        CGFloat percentage = ((CGFloat)receivedSize)/((CGFloat)expectedSize);
        //Track progress here if needed. 
    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
        ...
    }];

关键时刻是通过SDWebImageAllowInvalidSSLCertificates选项。在内部,此选项将转换为共享图像下载程序的正确选项。

希望对您有所帮助,并希望下次我再次遇到该问题时能够找到我的答案!

使用

UIImageView_name.sd_setImage(with: URL(string: logo), placeholderImage: nil, options: .allowInvalidSSLCertificates)

而不是

UIImageView_name.sd_setImage(with: URL(string: logo))
            UIImageView_name

供 UIButton 使用

UIButton_name.sd_setImage(with: URL(string: customer.getProfilePic()), for: .normal, placeholderImage: nil, options: .allowInvalidSSLCertificates, completed: nil)