1.首頁打開http://jspatch.com品姓,注冊一個賬戶然后登陸。
2.選擇我的App箫措,然后新增App腹备,
3.添加App名稱和AppID
得到左邊的appKey,
4.點擊SDK下載,把下載好的SDK拖入項目中斤蔓,添加依賴框架:TARGETS -> Build Phases -> Link Binary With Libraries -> + 添加 libz.dylib 和 JavaScriptCore.framework
5.在 AppDelegate.m 里載入文件植酥,并調(diào)用 +startWithAppKey: 方法,參數(shù)為第一步獲得的 AppKey弦牡。接著調(diào)用 +sync 方法檢查更新
由于項目是由Swift語言編寫的友驮,這里是Swift的接入方法,判斷用戶是否登陸驾锰,根據(jù)用戶ID來開啟開發(fā)預(yù)覽卸留,圖中白色部分為appKey。
6.到JSPatch平臺我的App中選擇你需要修改的App椭豫,添加APP版本耻瑟,
7.選擇需要修改的版本,上傳js文件赏酥,填寫補丁描述
我這里選擇是開發(fā)預(yù)覽選項喳整,補丁只下發(fā)到項目里開啟了開發(fā)預(yù)覽模式的用戶。測試沒有問題后變成全量下發(fā)裸扶。
至此利用JSPatch平臺實現(xiàn)線上bug修復(fù)已基本完成框都,更詳細的接入文檔在這里http://jspatch.com/Docs/SDK。
關(guān)于main.js的編寫以及JSPatch的更多用法可以參考https://github.com/bang590/JSPatch/wiki呵晨。
由于我的項目是用Swift編寫的魏保,中間遇到過不少的問題,下面貼出部分main.js的代碼
1.Swift項目里面摸屠,控制器名稱前面一定要加前綴谓罗。
2.只有繼承自 NSObject 的 Swift 類,其繼承自父類的方法和屬性可以在 JS 調(diào)用餐塘,其他自定義方法和屬性同樣需要加 dynamic 關(guān)鍵字才行妥衣。
3.方法的參數(shù)/屬性類型為 Swift 特有(如 Character / Tuple),則此方法和屬性無法通過 JS 調(diào)用。
4.方法名或者屬性名帶有“”的税手,一定要用“_”雙下劃線蜂筹,比如:JPObject.__privateMethod()。
5.js里面獲取數(shù)組里面的值芦倒,最好分步實現(xiàn)艺挪,比如:self.selectDataSource().toJS()[indexPath.row()]這樣可能會獲取不到數(shù)組里面的值。
以上是我用JSPatch所遇到的一些問題兵扬,希望看客也能幫忙多補充些解決問題的方法麻裳,第一次寫簡書就寫這樣了。