您的位置:首页 > 移动开发 > IOS开发

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

2016-03-24 12:04 721 查看
通过 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被拒。

最后感谢我们的bangbang

bang (棒)同学的热心分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: