JSPatch-iOS热补丁方式快速修复bug

来源:互联网 发布:windows 10 恢复桌面 编辑:程序博客网 时间:2024/04/28 17:24

通过 JS 调用和改写 OC 方法最根本的原因是 Objective-C 是动态语言,OC 上所有方法的调用 / 类的生成都通过 Objective-C Runtime 在运行时进行。

通过JS代码覆盖,能够快速完美的修复线上程序bug。从此再也不用担心waiting review的时候发现了一个严重的bug,重新排队的问题。对于线上应用通过热补丁的方式进行修复。

具体调用方法如下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.    [JPEngine startEngine];        // exec js directly//    [JPEngine evaluateScript:@"\//     var alertView = require('UIAlertView').alloc().init();\//     alertView.setTitle('提示');\//     alertView.setMessage('我用的JS写的程序'); \//     alertView.addButtonWithTitle('OK');\//     alertView.show(); \//     "];        // exec js file from network//    NSData *data =[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://cnbang.net/test.js"]];//    NSString *script = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];//    NSLog(@"-----%@",script);//    [JPEngine evaluateScript:script];        // exec local js file    NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"js"];    NSString *script = [NSString stringWithContentsOfFile:sourcePath encoding:NSUTF8StringEncoding error:nil];    [JPEngine evaluateScript:script];        return YES;}
灵活的使用方法降低了,iOS程序开发的难度。只要你熟悉JS编程也能轻松实现自己的iOS应用。

最近出现一些对于JSpatch开发的程序害怕AppStore审核不同的疑虑,对此我明确地告诉大家,AppStore不会因为你使用了JSpatch被拒。

最后感谢我们的bangbangbang (棒)同学的热心分享。

0 0
原创粉丝点击