iOS热更新,JSPatch初探

鉴于同志们总是出现很多的小Bug小错误,开始寻找能够热更新的方案,果然深受其害的不止我一个人;

腾讯出了JSPatch来应对iOS出现BUG就要很久才能修复的问题;


具体讲解请看:http://www.jspatch.com/Docs/start,腾讯的官方页面,对于小的App来说都是免费的,付费的价格也比较低,推荐使用;


我这边就贴一个,自己实际应用的例子;

以下是我们原来的OC代码

- (void)needRead
{
    NSString *strNeedRead = @"\t原来的文本";
    AllMessageView * allMessageView = [[AllMessageView alloc] initWithFrame:[UIScreen mainScreen].bounds withType:@"needRead"];
    [allMessageView addDetailMessage:strNeedRead];
    [self.navigationController.view.superview addSubview:allMessageView];
}


但是都上线了,现在需求方改了,需要文本对应不同的情况需要变化;

还好我们机智,在发现有JSPatch的时候就加上了,于是我们直接写了一个热更新脚本,JS演变为如下的代码:

defineClass("ProgramMessageViewController", {
  needRead: function() {
            var strNeedRead = ""
            
            if(self.programId() == 200)
            {
                strNeedRead = "\t原来的文本"
            }else{
                strNeedRead = "根据新的需求产生的文本"
            }
            var allMessageView = require('AllMessageView').alloc().initWithFrame_withType(require('UIScreen').mainScreen().bounds(), "needRead")
            allMessageView.addDetailMessage(strNeedRead)
            self.navigationController().view().superview().addSubview(allMessageView)
  }
})

这样直接就更新了,很好的解决了需求,所以同志们,不管是否用到,赶紧把JSPatch先给加上,以防万一,万一真的太多了。


更有好心人出了,OC转JS的工具,请移步(可能需要翻墙):http://bang590.github.io/JSPatchConvertor/



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值