SDK接入

第一步 获得 AppKey

在平台上注册帐号,可以任意添加新 App,每一个 App 都有一个唯一的 AppKey 作为标识。

第二步 集成SDK

通过 cocoapods 集成

podfile 中添加命令:

pod 'JSPatchPlatform'

再执行 pod install 即可。

手动集成

若没有使用 cocoapods,也可以手动集成。在本页左侧下载 SDK 后解压,将 JSPatchPlatform.framework 拖入项目中,勾选 "Copy items if needed",并确保 "Add to target" 勾选了相应的 target。

SDK1

SDK2

添加依赖框架:TARGETS -> Build Phases -> Link Binary With Libraries -> + 添加 libz.dylibJavaScriptCore.framework

SDK3

注意:手动集成无法断点调试 JSPatch 核心源码,推荐使用 cocoapods 方式集成。

第三步 运行

AppDelegate.m 里载入文件,并调用 +startWithAppKey: 方法,参数为第一步获得的 AppKey。接着调用 +sync 方法检查更新。例子:

#import <JSPatchPlatform/JSPatch.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [JSPatch startWithAppKey:@"你的AppKey"];
    [JSPatch sync];
    ...
}
@end

至此 JSPatch 接入完毕,下一步可以开始在后台为这个 App 添加 JS 补丁文件了。


上述例子是把 JSPatch 同步放在 -application:didFinishLaunchingWithOptions: 里,若希望补丁能及时推送,可以把 [JSPatch sync] 放在 -applicationDidBecomeActive: 里,每次唤醒都能同步更新 JSPatch 补丁,不需要等用户下次启动:

#import <JSPatchPlatform/JSPatch.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [JSPatch startWithAppKey:@"你的AppKey"];
    ...
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
    [JSPatch sync];
    ...
}
@end

注意

建议同时接入扩展

常见问题

若使用 XCode8 接入,需要在项目 Capabilities 打开 Keychain Sharing 开关,否则在模拟器下载脚本后会出现 decompress error, md5 didn't match 错误(真机无论是否打开都没问题):

JSPatch.com © 2017 Github开源 | 联系我们 | 合作伙伴