JSPatch 使用

32.jpg

JSPatch以小巧的體積做到了讓JS調(diào)用/替換任意OC方法,讓iOS APP具備熱更新的能力情妖,在實(shí)現(xiàn) JSPatch 過程中遇到過很多困難也踩過很多坑蹄衷,有些還是挺值得分享的正歼。廢話不多說,直接搞起...

  • 1.首先把文件JSPatch放到你的項(xiàng)目,這就不細(xì)說了,我用的網(wǎng)絡(luò)請(qǐng)求框架是ASI ,代碼就以ASI為例了:
    導(dǎo)入所需的框架,如果項(xiàng)目中已經(jīng)有了就省事了
B14BDE34-4D29-4069-A6D4-EDFF85F91FB0.png
  • 2.這時(shí)還會(huì)報(bào)一個(gè)錯(cuò)誤,就是找不到#import <libxml/HTMLparser.h>這個(gè)文件,在Build Settings --> 輸入 "header search" 就行了,找到對(duì)應(yīng)的Header Search Paths 添加目錄"${SDK_DIR}/usr/include/libxml2"


    BD941803-9D6A-4FA6-8E37-E5F49FF36558.png
  • 3.現(xiàn)在就算導(dǎo)入文件OK了,下面開始真正的集成,其實(shí)也非常的簡(jiǎn)單,在Appdelegate 的程序啟動(dòng)的方法添加如下代碼

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //1.創(chuàng)建請(qǐng)求對(duì)象
    NSURL *url=[NSURL URLWithString:@"文件存放在服務(wù)器上的路徑/demo.js"];
    ASIHTTPRequest *request=[ASIHTTPRequest requestWithURL:url];
    
    //2.設(shè)置下載文件保存的路徑
      NSString *cachepath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
      NSString *filename=[cachepath stringByAppendingPathComponent:@"demo.js"];
      request.downloadDestinationPath=filename;
      NSLog(@"%@",filename);
    
      //3.設(shè)置下載進(jìn)度的代理
      request.downloadProgressDelegate=self;
    
      //4.發(fā)送網(wǎng)絡(luò)請(qǐng)求(異步)
      [request startAsynchronous];
    
      //5.設(shè)置支持?jǐn)帱c(diǎn)下載
      request.allowResumeForFileDownloads=YES;
    
        //6.下載完畢后通知
      [request setCompletionBlock:^{
      NSLog(@"文件已經(jīng)下載完畢");
      [JPEngine startEngine];
      NSString *filename=[cachepath stringByAppendingPathComponent:@"demo.js"];
      NSString *script = [NSString stringWithContentsOfFile:filename encoding:NSUTF8StringEncoding error:nil];
      [JPEngine evaluateScript:script];
      }];
    return YES;
    }
    
  • 4.這是在正常的控制器里的代碼

C08EBB37-1B85-441C-86D5-5B0804BAF4CD.png
  • 5.這是上傳到服務(wù)器上的代碼(這是js代碼,有興趣的同學(xué)可以學(xué)習(xí)一下)
B865BA32-666D-4CB6-A443-F93894146279.png

還有就是安全加密的問題,推薦看看這篇博客
你們最最期待的demo在這里!!!給力吧,別忘記給個(gè)star 啊!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赠尾,一起剝皮案震驚了整個(gè)濱河市力穗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌气嫁,老刑警劉巖当窗,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異寸宵,居然都是意外死亡崖面,警方通過查閱死者的電腦和手機(jī)元咙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘶朱,“玉大人蛾坯,你說我怎么就攤上這事光酣∈瓒簦” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵救军,是天一觀的道長(zhǎng)财异。 經(jīng)常有香客問我,道長(zhǎng)唱遭,這世上最難降的妖魔是什么戳寸? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮拷泽,結(jié)果婚禮上疫鹊,老公的妹妹穿的比我還像新娘。我一直安慰自己司致,他們只是感情好拆吆,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脂矫,像睡著了一般枣耀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庭再,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天捞奕,我揣著相機(jī)與錄音,去河邊找鬼拄轻。 笑死颅围,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恨搓。 我是一名探鬼主播院促,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奶卓!你這毒婦竟也來了一疯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤夺姑,失蹤者是張志新(化名)和其女友劉穎墩邀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盏浙,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眉睹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年荔茬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竹海。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡慕蔚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斋配,到底是詐尸還是另有隱情孔飒,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布艰争,位于F島的核電站坏瞄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏甩卓。R本人自食惡果不足惜鸠匀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逾柿。 院中可真熱鬧缀棍,春花似錦、人聲如沸机错。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毡熏。三九已至坦敌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痢法,已是汗流浹背狱窘。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留财搁,地道東北人蘸炸。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像尖奔,于是被迫代替她去往敵國(guó)和親搭儒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

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

  • hotfix的作用眾所周知提茁,Android和iOS都有各自的技術(shù)淹禾,但是相比Android的當(dāng)天發(fā)布來說(如果你們的...
    made_China閱讀 494評(píng)論 0 1
  • 1. require 在使用Objective-C類之前需要調(diào)用require('className’): req...
    深藏不露的zack閱讀 1,372評(píng)論 0 0
  • 17/03/08更新有不少小伙伴反應(yīng)蘋果發(fā)送了郵件要求去除項(xiàng)目中用于動(dòng)態(tài)改變應(yīng)用的代碼 ,看來 JSPatch 要...
    dy_zhang閱讀 3,403評(píng)論 5 15
  • 頭發(fā)長(zhǎng)那么快 智商怎么不長(zhǎng)呢
    一塊瘦司閱讀 99評(píng)論 2 0
  • 洗碗毁习,是一件讓我真心討厭的事情智嚷。你呢? 我從很小的時(shí)候纺且,就被我媽開始就有計(jì)劃的培養(yǎng)我做家務(wù)盏道。 先從最沒有危險(xiǎn)性的工...
    盧璐說閱讀 2,083評(píng)論 7 28