Skip to content

iexercise/Jack-JSPatchDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Jack-JSPatchDemo

Jack-JSPatchDemo 具体聊一下注意事项

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

  • 接入 如果是使用的是官方或者拖官方包 #debug [JSPatch setupDevelopment]; [JSPatch sync];
#release [JSPatch sync]; *setupDevelopment这个方法存在在开发者预览模式下发的情况下,所在app才会被下发补丁包,所以我把它写在debug环境下~sync是请求下发* *如果你想使用本地的js补丁包应用在应用上,这时候你可以使用官方的testScriptInBundle 这个方法(但是注意:我在测试的时候发现这个方法无效,不知道是我的操作有问题还是什么问题~)* #debug [JSPatch testScriptInBundle]; *当你也遇到上面和我一样的情况,这时候你可以考虑试试下面的这个方法,我估摸着这个方法就是testScriptInBundle的实现,这个方法是苹果官方JavaScriptCore运行本地js文件的方法* #debug [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 - [链接](https://github.com/bang590/JSPatch/wiki) - 这里是JSPatch官方转化器 - [链接](http://bang590.github.io/JSPatchConvertor/) - 注意如果你是新手你可以直接看wiki,因为wiki完全能够满足你的需求,并且配合转化器使用,但是注意转化器不是万能的,很多东西都不能转~所以你不能转化的都需要参考wiki来学习~
  • 最后 我把我的源码贴在这里你可以看一下如果喜欢的话可以点一下喜欢

About

Jack-JSPatchDemo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published