使用指南

开启 Bugtags SDK 的在线修复功能,需要在 iOS 项目中添加 JSPatch 库。JSPatch 是一个非常优秀的开源项目,现已广泛使用于 iOS 应用,只需要在项目里引入极小的引擎文件,就可以实现使用 JavaScript 调用或者替换 Objective-C/Swift 的原生接口,非常高效。

项目中添加 JSPatch 库后,无需初始化 JSPatch,Bugtags SDK 会自动开启在线修复功能,Bugtags 管理后台实现了完整的补丁下发及下发规则管理。

了解更多 >>

添加 JSPatch

CocoaPods

  1. 在你项目的 Podfile 中添加以下代码
    pod 'Bugtags/Hotfix'
    
  2. 执行 pod 安装命令
    pod install
    
    如果无法获取到最新版本的 JSPatch SDK,请运行以下命令更新本地的 pod 仓库
    pod repo update
    
    运行完成后,重新执行安装命令 pod install

手动添加

  1. 下载 JSPatch 压缩包 并解压缩
  2. JSEngine.m JSEngine.h JSPatch.js 文件拖到 Xcode 项目中
  3. 在应用的设置中,Build Phases -> Link Binary With Libraries 里添加 JavaScriptCore.framework

添加完成后,无需在项目中初始化 JSPatch,Bugtags SDK 会自动开启在线修复功能。

Bugtags SDK 相关 API

开启本地调试状态

用于开发阶段在本地测试脚本,Bugtags SDK 会自动读取 mainBundle 里的 main.local.js 文件并执行,不会读取缓存在本地的补丁数据,也不会获取云端的补丁数据,建议在 DEBUG 时设置

Objective-C

BugtagsOptions *options = [[BugtagsOptions alloc] init];
options.hotfixDataMode = BTGDataModeLocal;
[Bugtags startWithAppKey:@"APP_KEY" invocationEvent:BTGInvocationEventBubble options:options];

Swift 3

let options = BugtagsOptions()
options.hotfixDataMode = BTGDataModeLocal
Bugtags.start(withAppKey: "APP_KEY", invocationEvent: BTGInvocationEventBubble, options: options)

Swift 2

let options = BugtagsOptions()
options.hotfixDataMode = BTGDataModeLocal
Bugtags.startWithAppKey("APP_KEY", invocationEvent: BTGInvocationEventBubble, options: options)

开启测试状态

请确保待测试补丁已经同步到测试环境,建议在 DEBUG 时设置

Objective-C

BugtagsOptions *options = [[BugtagsOptions alloc] init];
options.hotfixDataMode = BTGDataModeTesting;
[Bugtags startWithAppKey:@"APP_KEY" invocationEvent:BTGInvocationEventBubble options:options];

Swift 3

let options = BugtagsOptions()
options.hotfixDataMode = BTGDataModeTesting
Bugtags.start(withAppKey: "APP_KEY", invocationEvent: BTGInvocationEventBubble, options: options)

Swift 2

let options = BugtagsOptions()
options.hotfixDataMode = BTGDataModeTesting
Bugtags.startWithAppKey("APP_KEY", invocationEvent: BTGInvocationEventBubble, options: options)

同步补丁

通常情况下,Bugtags SDK 会在初始化阶段自动同步补丁,如果需要手动同步补丁,可调用:

Objective-C

[Bugtags sync];

Swift

Bugtags.sync()

参考文档

评论