項目集成JSPatch

  • 集成SDK
    • 官方集成路徑--點擊這里
      具體聊一下注意事項
    • (官方)手動集成無法斷點調(diào)試 JSPatch 核心源碼,推薦使用 cocoapods 方式集成
    • (官方)建議同時接入擴展
    • (個人)我自己采用的是拖包集成的,官方建議使用時cocoapods,添加依賴框架的時候要注意,其中libz.dylib這個依賴在xcode8.1添加是不存在的本人是直接在Demo的文件中copy的~Demo地址 bang神 的jspatch demo都在這里 集成很簡單~
    • (個人)如果不想使用官方的集成包,可以直接使用demo中的開源包,也就是下圖這些,這樣你可以看具體源碼是怎么寫的~


      開源包截圖

  • 接入
    如果是使用的是官方或者拖官方包
 #debug
[JSPatch setupDevelopment];
[JSPatch sync];
#release
[JSPatch sync];

setupDevelopment這個方法存在在開發(fā)者預(yù)覽模式下發(fā)的情況下,所在app才會被下發(fā)補丁包,所以我把它寫在debug環(huán)境下~sync是請求下發(fā)
*如果你想使用本地的js補丁包應(yīng)用在應(yīng)用上,這時候你可以使用官方的testScriptInBundle 這個方法(但是注意:我在測試的時候發(fā)現(xiàn)這個方法無效,不知道是我的操作有問題還是什么問題~)

#debug
[JSPatch testScriptInBundle];

當(dāng)你也遇到上面和我一樣的情況,這時候你可以考慮試試下面的這個方法,我估摸著這個方法就是testScriptInBundle的實現(xiàn),這個方法是蘋果官方JavaScriptCore運行本地js文件的方法

[JPEngine startEngine];
NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"main" ofType:@"js"];
NSString *script = [NSString stringWithContentsOfFile:sourcePath encoding:NSUTF8StringEncoding error:nil];
[JPEngine evaluateScript:script];

如果你使用的是demo包也是采用上面的方法運行你本地的js補丁文件


  • 開發(fā)
    開發(fā)注意的地方
    • 這里是JSPatch官方Wiki - 鏈接
    • 這里是JSPatch官方轉(zhuǎn)化器 - 鏈接
    • 注意如果你是新手你可以直接看wiki,因為wiki完全能夠滿足你的需求,并且配合轉(zhuǎn)化器使用,但是注意轉(zhuǎn)化器不是萬能的,很多東西都不能轉(zhuǎn)所以你不能轉(zhuǎn)化的都需要參考wiki來學(xué)習(xí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容