请前往文档SDK下载&版本更新记录里下载“iOS SDK”、“iOS调试工具”以及“iOS本地补丁打包工具”。如有任何疑问请加入钉钉群咨询。
步骤1: 启动IDE(如Xcode),将“iOS SDK”和“iOS调试工具”压缩文件中的以下文件拷贝到项目文件夹下,并导入工程中。1、AliHotFix.framework 2、AliHotFixDebug.framework
注意: 在Release模式下请将AliHotFixDebug.framework移除,该framework仅用于扫码调试用。
步骤2: 使用CocoaPods 集成 SDK 所需依赖,安装完成之后在项目目录下执行pod init
命令,然后在项目文件夹下创建的podfile文件中添加如下内容:
source 'https://github.com/CocoaPods/Specs.git' source 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git' platform :ios, '7.0' inhibit_all_warnings! target ‘xxx工程名称’ do pod 'BCUserTrack' pod 'ZipArchive', '~> 1.4.0' pod 'wax', :git => 'https://github.com/alibaba/wax.git' end
注意: 当你的项目中集成了AlipaySDK、友盟SDK等阿里系SDK时,再集成AliHotFix如果出现***UTDID库*** 依赖冲突。这时在出现冲突的相应SDK平台找到不依赖UTDID版本集成。例如:支付宝解决UTDID冲突SDK版本地址
使用在步骤获取SDK配置信息中所得的 AppID、App Secret、PrivateKey以及在步骤获取运行patch需要的密钥参数生成的本地自签名证书的公钥(rsaPublicDerData)、本地加密补丁密钥(aesEncryptKeyData) 初始化 HotFix,初始化代码如下:
#import "AliHotFix.h" /** * 初始化启动HotFix * * @param appID 百川HotFix平台申请的appID * @param secret 百川HotFix平台申请的secret * @param privateKey 百川HotFix平台申请的RSA密钥 * @param publicKeyData 本地打包patch生成的rsa的der格式公钥data流(本地打包工具生成) * @param encryptAESKeyData 被加密后的用来加解密patch文件的密钥(本地打包工具生成) * */ [AliHotFix startWithAppID:appId secret:secret privateKey:privateKey publicKey:rsaPublicDerData encryptAESKey:aesEncryptKeyData];
注意:为了保证 HotFix 的修复效果,要求将初始化代码尽量提前:(如在 AppDelegate的didFinishLaunchingWithOptions: 进行初始化)。
为使接入方更方便灵活的检测patch更新,以及有效控制检测patch更新的请求次数,AliHotFixSDK默认只会在客户端启动时主动检测一次是否有Patch要更新。如果用户希望能够自己主动检查Patch更新可调用sync方法(建议程序在前后台切换时调用sync方法检测patch是否要更新):
#import <AliHotFix/AliHotFix.h> [AliHotFix sync];
1.AliHotFix提供扫码调试功能,方便使用方在Patch上线前在本地进行调试,如果要使用该功能请在Debug模式下引入AliHotFixDebug.framework
可以在需要唤起扫码功能的 ViewController 内调用:
#import <AliHotFixDebug/AliHotFixDebug.h> // currentViewController 需要唤起扫码功能的VC [AliHotFixDebug showDebug:currentViewController];
2.AliHotfix同时提供本地patch调试接口,如果要使用该功能请在Debug模式下引入AliHotFixDebug.framework
在 AppDelegate的didFinishLaunchingWithOptions:方法中调用:
#import<AliHotFixDebug/AliHotFixDebug.h> // patchDirectory 为本地Patch目录全路径,注意该Patch目录结构参照'Part2生成patch补丁'中的Patch目录结构规则 [AliHotFixDebug runPatch:patchDirectory];