ios開發不能不知的動態修復bug補丁第三方庫JSPatch 使用學習:JSPatch導入、和使用、.js文件傳輸加解密

JSPatch ios

ios開發不能不知的動態修復bug補丁第三方庫JSPatch 使用學習:JSPatch導入、和使用、.js文件傳輸加解密git

ios開發面臨審覈週期長,修復bug延遲等讓人無奈的問題,因此,熱修復的產生成爲必然。github

ios上線APP產生bug,須要及時修復,如何修復:jsp

我整理了jspatch的使用說明,並創建一個簡單demo供他人使用和學習,此博客不作詳細介紹,具體如何使用附上代碼地址:學習

代碼下載地址: https://github.com/niexiaobo/JSPatchUseui

 

 

##### demo.js裏添加代碼:一、重寫crashBtnClick方法 二、跳轉新建的JPTableViewController控制器spa

//一、修改ViewController控制器的handleBtn方法(原控制器漏此方法,會致使崩潰)。

    defineClass('ViewController', {//defineClass:聲明要被修改的控制器
    crashBtnClick: function(sender) { //聲明要被修改或重寫的方法
    var tableViewCtrl = JPTableViewController.alloc().init()
    self.navigationController().pushViewController_animated(tableViewCtrl, YES)
    },

    })

    //二、新建JPTableViewController控制器

    defineClass('JPTableViewController : UITableViewController <UIAlertViewDelegate>', ['data'], {
    dataSource: function() {
    var data = self.data();
    if (data) return data;
    var data = [];
    for (var i = 0; i < 20; i ++) {
    data.push("經過js建立的cell " + i);
    }
    self.setData(data)
    return data;
    },
    numberOfSectionsInTableView: function(tableView) {
    return 1;
    },
    tableView_numberOfRowsInSection: function(tableView, section) {
    return self.dataSource().length;
    },
    tableView_cellForRowAtIndexPath: function(tableView, indexPath) {
    var cell = tableView.dequeueReusableCellWithIdentifier("cell") 
    if (!cell) {
    cell = require('UITableViewCell').alloc().initWithStyle_reuseIdentifier(0, "cell")
    }
    cell.textLabel().setText(self.dataSource()[indexPath.row()])
    return cell
    },
    tableView_heightForRowAtIndexPath: function(tableView, indexPath) {
    return 60
    },
    tableView_didSelectRowAtIndexPath: function(tableView, indexPath) {
    var alertView = require('UIAlertView').alloc().initWithTitle_message_delegate_cancelButtonTitle_otherButtonTitles("Alert",self.dataSource()[indexPath.row()], self, "OK",  null);
    alertView.show()
    },
    alertView_willDismissWithButtonIndex: function(alertView, idx) {
    console.log('click btn ' + alertView.buttonTitleAtIndex(idx).toJS())
    }
    })


 #####  更新頻率
相關文章
相關標籤/搜索