1. SDK接入
1.1 pod接入方式
在Podfile 添加 pod ‘WPKMobi’, :podspec =>’http://image.uc.cn/s/uae/g/3w/woodpecker-sdk/WPKMobi/1.1.2/WPKMobi.podspec.json‘
1.2 手工接入方式
下载SDK, 解压引入项目中
http://image.uc.cn/s/uae/g/3w/woodpecker-sdk/WPKMobi/1.1.2/WPKMobi.framework.zip
Other Linker Flags 添加 -ObjC
添加系统依赖库
CoreGraphics.framework
SystemConfiguration.framework
libc++
libz
1.3 API使用说明
初始化
要使用啄木鸟SDK相关功能,必须进行先初始化——任何API的调用都需要在初始化之后进行。例如在如中App启动回调中添加初始化
在 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary)launchOptions 添加
appname是在啄木鸟新建应用的时候填的应用标识
[WPKSetup startWithAppName:@"wpkiossdktest"];
[WPKSetup sendAllReports];
sendAllReports 会触发异步崩溃日志上传, 也可以在你想要的时机去调用, 例如启动后3秒
自定义udid
因为SDK没有直接依赖IDFA
你可以使用以下方法去自定义的设备UDID
[WPKSetup setUserIdentifier:@"xxxxxxxx"];
用户自定义数据
你也可以添加一些自定义的信息, 我们会把当次的信息附加在崩溃日志底部
[WPKSetup setUserInfo:@{@"test": @"t1"}];
崩溃回调
当崩溃的时候, 你可以设置一个回调来获取当次崩溃的uuid和崩溃类型. 崩溃的uuid可以在啄木鸟用此uuid搜到这次崩溃的日志
在这个block里面return一个NSDictionary, 我们也会添加到崩溃日志底部, 方便用户收集崩溃时更多信息
注意: 这个回调中, 有异步的网络请求或者异步IO, 不能保证其他异步线程能完整执行完, 因为SDK处理崩溃后会把app abort掉, 同时处理超时也会被系统kill掉.
[WPKSetup setCrashCallback:^NSDictionary * _Nonnull(const char * _Nonnull crashUUID, WPKCrashType crashType) {
NSLog(@"crashType %zd", crashType);
return @{
@"callbackhahah": @{@"lalala": @"wwww"},
@"bbbbbb": @"aaas"
};
}];
2. 创建版本
这里创建版本主要是为了上传符号表,如果不需要上传符号表,可以跳过2,3步,直接上传日志,系统会自动注册版本号
注意:版本号”1.0.0” 需要与CFBundleShortVersionString 保持一至, 子版本号仅用于标识,方便查找
可以通过openapi方式在打包时创建版本!
3. 上传符号表
把打包出来的dSYM文件压缩成zip上传
符号表请尽早上传,以便能第一时间做符号化,符号表可以多次上传,同一uuid以首次上传的为准,处理符号表预计需要5分钟,也可以通过openapi方式在打包时上传符号表。
4. 上传崩溃日志
在app上模拟发生崩溃,然后再次启动app,稍等30秒,就可以在平台看到对应的崩溃了。