没有ssl证书的SDWebImage

时间:2018-04-26 12:44:17

标签: ios tvos sdwebimage

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

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

2 个答案:

答案 0 :(得分:1)

我花了很多时间来研究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选项。在内部,此选项将转换为共享图像下载器的适当选项。

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

答案 1 :(得分:1)

使用

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)