iOS热更新_无需发布新版本实现app更新

释放双眼,带上耳机,听听看~!

实现热更新的方法:

 

  1. 使用FaceBook 的开源框架 reactive native
  2. 使用JSpatch

JSPatch 学习总结

  以下内容为学习总结记录。JSPatch是实现热更新(无需发新版本实现app添加新功能)的一个框架。可以为项目动态添加模块,或替换项目原生代码动态修复 bug。比较其他的热更新方法,学习成本更低。JSPatch坐着给出的说明文档非常详细,网址:

JSPatch下载地址:https://github.com/bang590/JSPatch
讲述JSPatch:http://blog.cnbang.net/
使用说明文档介绍:https://github.com/bang590/JSPatch/wiki

JSPatch的使用简记:

//JSPatch的三个文件导入项目,在需要的地方加入以下代码
[JPEngine startEngine];
NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"js"];
NSString *script = [NSString stringWithContentsOfFile:sourcePath encoding:NSUTF8StringEncoding error:nil];
[JPEngine evaluateScript:script];

ViewController中的button事件

- (void)setButtonAction:(UIButton *)sender {
self.view.backgroundColor = [UIColor redColor];
}

使用JS改变button事件的写法:

require('UILabel, UIColor, UIFont')
defineClass('ViewController', {
setButtonAction: function(sender) {
var viewController = XYViewController.alloc().init()       self.navigationController().pushViewController_animated(viewController,YES)
}
})
defineClass('XYViewController:UIViewController',{
viewDidLoad:function() {
self.ORIGviewDidLoad();
var whiteColor = UIColor.whiteColor();
var view = self.view()
view.setBackgroundColor(whiteColor);
var lab = UILabel.alloc().initWithFrame({x: 10, y: 150, width: 100, height: 30});
lab.setText("happy");
lab.setTextAlignment(2)
self.view().addSubview(lab);
},
})

人已赞赏
iOS文章

iOS开发新手引导页面,透明遮罩指引页

2020-2-21 14:44:25

iOS文章

iOS NSMutableAttributedString使用

2020-2-21 16:03:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索