- 2018.06.16
- ios, jspatch, objective-c, runtime, 移動app,
JSPatch 實現理詳解(一)
JSPatch以小巧的體積做到了讓JS呼叫/替換任意OC方法,讓iOS APP具備熱更新的能力,在實現 JSPatch 過程中遇到過很多困難也踩過很多坑,有些還是挺值得分享的。本篇文章從基礎原理、方法呼叫和方法替換三塊內容介紹整個 JSPatch 的實現原理,並把實現過程中的想法和碰到的坑也儘可能記 […]
-->
程式前沿 幫助程式設計師解決問題,增加專業技能,提升個人能力與未來世界競爭力。
JSPatch以小巧的體積做到了讓JS呼叫/替換任意OC方法,讓iOS APP具備熱更新的能力,在實現 JSPatch 過程中遇到過很多困難也踩過很多坑,有些還是挺值得分享的。本篇文章從基礎原理、方法呼叫和方法替換三塊內容介紹整個 JSPatch 的實現原理,並把實現過程中的想法和碰到的坑也儘可能記 […]
JSPatch 是一個 iOS 動態更新框架,只需在專案中引入極小的引擎,就可以使用就可以使用 JavaScript 呼叫任何 Objective-C 原生介面,獲得指令碼語言的優勢:為專案動態新增模組,或替換專案原生程式碼動態修復 bug。 之前在部落格上寫過兩篇 JSPatch 原理解析文章(1 […]
距離上次寫的 JSPatch實現原理詳解 有一個月的時間,在這段時間裡 JSPatch 在不斷地完善和改進,程式碼已經有很多變化,有一些修改值得寫一下,作為上一篇的補充。 Special Struct 先說下 _objc_msgForward,在上一篇提到為了讓替換的方法走 forwardInvoc […]
JSPatch以小巧的體積做到了讓JS呼叫/替換任意OC方法,讓iOS APP具備熱更新的能力,在實現 JSPatch 過程中遇到過很多困難也踩過很多坑,有些還是挺值得分享的。本篇文章從基礎原理、方法呼叫和方法替換三塊內容介紹整個 JSPatch 的實現原理,並把實現過程中的想法和碰到的坑也儘可能記 […]
使用 JSPatch 有兩個安全問題: 傳輸安全:JS 指令碼可以呼叫任意 OC 方法,許可權非常大,若被中間人攻擊替換程式碼,會造成較大的危害。 執行安全:下發的 JS 指令碼靈活度大,相當於一次小型更新,若未進行充分測試,可能會出現 crash 等情況對 APP 穩定性造成影響。 接下來說下這兩 […]
JSPatch 是一個 iOS 動態更新框架,只需在專案中引入極小的引擎,就可以使用就可以使用 JavaScript 呼叫任何 Objective-C 原生介面,獲得指令碼語言的優勢:為專案動態新增模組,或替換專案原生程式碼動態修復 bug。 之前在部落格上寫過兩篇 JSPatch 原理解析文章(1 […]
JSPatch在社群的推動下不斷在優化改善,這篇文章總結下這幾個月以來 JSPatch 的一些新特性,以及它們的實現原理。 performSelectorInOC JavaScript 語言是單執行緒的,在 OC 使用 JavaScriptCore 引擎執行 JS 程式碼時,會對 JS 程式碼塊加鎖 […]
JSPatch 開源以來大部分被用於 hotfix,替換原生方法修復線上bug,但實際上 JSPatch 一直擁有動態新增功能模組的能力,因為 JSPatch 可以建立和呼叫任意 OC 類和方法,完全可以用 JSPatch 寫功能模組,然後動態下發載入。只是之前在效能和開發體驗上有些問題,還沒有太多 […]
IOS App常常會遇到這種情況,線上發現一個嚴重bug,可能是某一個地方Crash,也可能是一個功能無法使用,這時能做的只有趕緊修復Bug然後提交app store等待漫長的稽核。即使申請加急稽核但是稽核速度仍然不會快到那裡去,即使稽核完了之後,還要盼望著使用者快點升級,使用者不升級同樣的漏洞一直 […]
本文來自於騰訊bugly開發者社群,非經作者同意,請勿轉載,原文地址:http://dev.qq.com/topic/579ef… Dev Club 是一個交流移動開發技術,結交朋友,擴充套件人脈的社群,成員都是經過稽核的移動開發工程師。每週都會舉行嘉賓分享,話題討論等活動。 本期,我們 […]