iOS適配https(二)-- 黑魔法簡單適配SDWebImage

前言

繼續(xù)上篇的篇章悬荣。上篇講述了SSL證書的配置以及AFNetworking的單向驗證。這里我們講解一下SDWebImage的配置暖呕。

SDWebImage本身是支持https的呈枉,所以我們要做的工作量并不是很大。

  • (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;

options:SDWebImageAllowInvalidSSLCertificates
設置即可

方法一

這種方法是最笨的剩蟀,那就是逐個替換,將所有用到sdwebimage方法的地方全都設置一遍攻旦,效率最低喻旷。屬于大改項目。

方法二

直接到UIImageView+WebCache.m方法中將用到的幾個方法都改動一下牢屋。

- (void)sd_setImageWithURL:(NSURL *)url {
    [self sd_setImageWithURL:url placeholderImage:nil options:SDWebImageAllowInvalidSSLCertificates progress:nil completed:nil];
}
- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder {
    [self sd_setImageWithURL:url placeholderImage:placeholder options:SDWebImageAllowInvalidSSLCertificates progress:nil completed:nil];
}

這樣就可以全局設置好了且预,但是有個弊端。如果是使用cocoapods的烙无,那么這樣的修改無法同步到其他人的工程里锋谐,需要每個人都這樣設置,而且?guī)焐壍脑捫薷恼諛拥美^續(xù)截酷。所以這個方法只是對于快捷而言試用涮拗,長遠來說并不方便。所以重點是方法三迂苛,使用黑魔法三热。

方法三 -- 黑魔法

采用黑魔法,并不改動三方庫三幻,寫一個類別即可就漾。長話短說,直接上代碼念搬。

UIImageView+JFHttps.h

#import <UIKit/UIKit.h>

@interface UIImageView (JFHttps)

@end

UIImageView+JFHttps.m

#import "UIImageView+JFHttps.h"
#import <UIImageView+WebCache.h>
#import <objc/runtime.h>

@implementation UIImageView (JFHttps)

+ (void)load {
    Class myClass = [self class];
    
    // 獲取SEL
    SEL originSetImageSel = @selector(sd_setImageWithURL:placeholderImage:options:progress:completed:);
    SEL newSetImageSel = @selector(sd_setHttpsImageWithURL:placeholderImage:options:progress:completed:);
    
    // 生成Method
    Method originMethod = class_getInstanceMethod(myClass, originSetImageSel);
    Method newMethod = class_getInstanceMethod(myClass, newSetImageSel);
    
    // 交換方法實現(xiàn)
    method_exchangeImplementations(originMethod, newMethod);
}

- (void)sd_setHttpsImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock {
    NSLog(@"這里實現(xiàn)了");
    
    [self sd_setHttpsImageWithURL:url placeholderImage:placeholder options:SDWebImageAllowInvalidSSLCertificates progress:progressBlock completed:completedBlock];
}

@end

UIImageView+JFHttps.h加入到全局
正常調(diào)用SDWebImage的方法即可抑堡,其他的都可以不用管摆出,升級庫照常升級。

給個tip:
https://cdn.pixabay.com/photo/2017/01/18/21/34/cyprus-1990939_1280.jpg
這是一個https的圖片首妖,方便大家測試

上一篇:

iOS適配https(一) -- AFNetworking

相關參考:

iOS 遷移到HTTPS(自建證書+單向驗證+AF3.0+WKWebView+SDWebImage)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末偎漫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子有缆,更是在濱河造成了極大的恐慌象踊,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妒貌,死亡現(xiàn)場離奇詭異通危,居然都是意外死亡,警方通過查閱死者的電腦和手機灌曙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門菊碟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人在刺,你說我怎么就攤上這事逆害。” “怎么了蚣驼?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵魄幕,是天一觀的道長。 經(jīng)常有香客問我颖杏,道長纯陨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任留储,我火速辦了婚禮翼抠,結果婚禮上,老公的妹妹穿的比我還像新娘获讳。我一直安慰自己阴颖,他們只是感情好,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布丐膝。 她就那樣靜靜地躺著量愧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帅矗。 梳的紋絲不亂的頭發(fā)上偎肃,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音浑此,去河邊找鬼软棺。 笑死,一個胖子當著我的面吹牛尤勋,可吹牛的內(nèi)容都是我干的喘落。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼最冰,長吁一口氣:“原來是場噩夢啊……” “哼瘦棋!你這毒婦竟也來了?” 一聲冷哼從身側響起暖哨,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赌朋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后篇裁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沛慢,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年达布,在試婚紗的時候發(fā)現(xiàn)自己被綠了团甲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡黍聂,死狀恐怖躺苦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情产还,我是刑警寧澤匹厘,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站脐区,受9級特大地震影響愈诚,放射性物質發(fā)生泄漏。R本人自食惡果不足惜牛隅,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一炕柔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倔叼,春花似錦汗唱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巡验,卻和暖如春际插,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背显设。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工框弛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捕捂。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓瑟枫,卻偏偏與公主長得像斗搞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慷妙,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 前不久做了一個生成快照的需求僻焚,其中用到 SDWebImage 來下載圖片,在使用該框架的過程中也遇到了一些問題膝擂,索...
    ShannonChenCHN閱讀 14,082評論 12 241
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫虑啤、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,118評論 4 61
  • 技術無極限架馋,從菜鳥開始狞山,從源碼開始。 由于公司目前項目還是用OC寫的項目叉寂,沒有升級swift 所以暫時SDWebI...
    充滿活力的早晨閱讀 12,656評論 0 2
  • 8.14晴 今天去玩電腦好不爽萍启,一玩游戲就不想站起來,現(xiàn)在到了最關鍵的階段办绝,而且自己的理解能力并不好伊约,周日應該待在...
    愿明天安好閱讀 532評論 0 0
  • 月亮與六便士屡律,應該算是通俗讀物,很多場合被中國讀者討論或評判降淮。即使未通讀全本超埋,也能對書中內(nèi)容說個大概,但又怎能不仔...
    another瓊閱讀 167評論 0 0