JSPatchiOS App 热更新服务平台
JSPatch 可以让你用 JavaScript 书写原生 iOS APP。只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。
例如线上 APP 有一段代码出现 bug 导致 crash:
@implementation JPTableViewController
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *content = self.dataSource[[indexPath row]]; //可能会超出数组范围导致crash
JPViewController *ctrl = [[JPViewController alloc] initWithContent:content];
[self.navigationController pushViewController:ctrl];
}
...
@end
可以通过下发这样一段 JS 代码,覆盖掉原方法,修复这个 bug:
//JS
defineClass("JPTableViewController", {
//instance method definitions
tableView_didSelectRowAtIndexPath: function(tableView, indexPath) {
var row = indexPath.row()
if (self.dataSource().length > row) { //加上判断越界的逻辑
var content = self.dataArr()[row];
var ctrl = JPViewController.alloc().initWithContent(content);
self.navigationController().pushViewController(ctrl);
}
}
}, {})
除了修复 bug,JSPatch 也可以用于动态运营,实时修改线上 APP 行为,或动态添加功能。
评论
java-hot-reload-agentjava 热更新插件
java热更新插件,无需重启java进程实现代码更新,提高开发效率,节约时间去陪女朋友!功能模块hot-reload-core:核心处理逻辑,编译&加载classhot-reload-agen
java-hot-reload-agentjava 热更新插件
0
RobustAndroid 热更新方案
Robust,美团开源的新一代热更新系统,对Android版本无差别兼容,无需发版就可以做到随时修改线上bug,快速对重大线上问题作出反应。Robust热更新系统借鉴InstantRun原理,实现了一
RobustAndroid 热更新方案
0