项目集成JSPatch

  • 集成SDK
    • 官方集成路径--点击这里
      具体聊一下注意事项
    • (官方)手动集成无法断点调试 JSPatch 核心源码,推荐使用 cocoapods 方式集成
    • (官方)建议同时接入扩展
    • (个人)我自己采用的是拖包集成的,官方建议使用时cocoapods,添加依赖框架的时候要注意,其中libz.dylib这个依赖在xcode8.1添加是不存在的本人是直接在Demo的文件中copy的~Demo地址 bang神 的jspatch demo都在这里 集成很简单~
    • (个人)如果不想使用官方的集成包,可以直接使用demo中的开源包,也就是下图这些,这样你可以看具体源码是怎么写的~


      项目集成JSPatch_第1张图片
      开源包截图

  • 接入
    如果是使用的是官方或者拖官方包
 #debug
[JSPatch setupDevelopment];
[JSPatch sync];
#release
[JSPatch sync];

setupDevelopment这个方法存在在开发者预览模式下发的情况下,所在app才会被下发补丁包,所以我把它写在debug环境下~sync是请求下发
*如果你想使用本地的js补丁包应用在应用上,这时候你可以使用官方的testScriptInBundle 这个方法(但是注意:我在测试的时候发现这个方法无效,不知道是我的操作有问题还是什么问题~)

#debug
[JSPatch testScriptInBundle];

当你也遇到上面和我一样的情况,这时候你可以考虑试试下面的这个方法,我估摸着这个方法就是testScriptInBundle的实现,这个方法是苹果官方JavaScriptCore运行本地js文件的方法

[JPEngine startEngine];
NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"main" ofType:@"js"];
NSString *script = [NSString stringWithContentsOfFile:sourcePath encoding:NSUTF8StringEncoding error:nil];
[JPEngine evaluateScript:script];

如果你使用的是demo包也是采用上面的方法运行你本地的js补丁文件


  • 开发
    开发注意的地方
    • 这里是JSPatch官方Wiki - 链接
    • 这里是JSPatch官方转化器 - 链接
    • 注意如果你是新手你可以直接看wiki,因为wiki完全能够满足你的需求,并且配合转化器使用,但是注意转化器不是万能的,很多东西都不能转所以你不能转化的都需要参考wiki来学习

  • 最后
    我把我的源码贴在这里你可以看一下
    希望能给个星星支持一下

你可能感兴趣的:(项目集成JSPatch)