热修复——工程接入jsPatch

使用热修复的第一步是需要把jsPatch加入到工程中,接入的过程在官方给出的skd中已经有详细的说明,且借助于cocopods我们能更快速地完成接入过程,在这里把工程接入jsPatch的流程写出来,并不是我太闲了,是因为关于热修复打算写三篇文章,第一篇文章把工程接入jsPatch的流程贴出来,第二篇文章是如何使用jsPatch进行修复,以及修复过程中如何调试。还有可能会出现的问题。最后一篇是自己在使用jsPatch中的感受,以及给正要使用jsPatch的一些诚恳的建议。

下面开始接入jsPatch
  • 第一步:
    我们需要使用cocopods把jsPatch代码库导入到工程中,在 podfile中添加命令,然后执行pod install就可以将文件导入到工程中。
pod 'JSPatchPlatform'

当然,如果你太闲了,也可以手动将jsPatch代码库导入到工程中。下载 SDK 后解压,将 JSPatchPlatform.framework 拖入项目中,然后切记要勾选 "Copy items if needed",并确保 "Add to target" 勾选了相应的 target。
然后我们就完成了导入frameWork的第一步。


  • 第二步我们需要把相关的依赖库导入到工程中,和其他的大的sdk不同,jsPatch只需导入 libz.dylib和 JavaScriptCore.framework两个依赖库,具体操作为TARGETS -> Build Phases -> Link Binary With Libraries -> + 点击加号后输入我们要添加的依赖库的名字,就能将依赖库添加到工程中。

  • 第三步是我们需要把在appdelegate文件中运行文件,在appdelegate中加入下面的代码,我们就完成了jsPatch的接入。
#import 
@implementation AppDelegate
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 { [JSPatch startWithAppKey:@"你的AppKey"]; 
[JSPatch sync]; 
...
}
@end
  • 常见问题:
    若使用 XCode8 接入,需要在项目 Capabilities 打开 Keychain Sharing 开关,否则在模拟器下载脚本后会出现 decompress error, md5 didn't match错误(如果是真机,则无论是否打开都没问题):
热修复——工程接入jsPatch_第1张图片
keychain.png

你可能感兴趣的:(热修复——工程接入jsPatch)