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
image.png

添加系统依赖库
CoreGraphics.framework
SystemConfiguration.framework
libc++
libz
image.png

1.3 API使用说明

初始化

要使用啄木鸟SDK相关功能,必须进行先初始化——任何API的调用都需要在初始化之后进行。例如在如中App启动回调中添加初始化

在 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary)launchOptions 添加

appname是在啄木鸟新建应用的时候填的应用标识

  1. [WPKSetup startWithAppName:@"wpkiossdktest"];
  2. [WPKSetup sendAllReports];

sendAllReports 会触发异步崩溃日志上传, 也可以在你想要的时机去调用, 例如启动后3秒

自定义udid

因为SDK没有直接依赖IDFA
你可以使用以下方法去自定义的设备UDID

  1. [WPKSetup setUserIdentifier:@"xxxxxxxx"];

用户自定义数据

你也可以添加一些自定义的信息, 我们会把当次的信息附加在崩溃日志底部

  1. [WPKSetup setUserInfo:@{@"test": @"t1"}];

崩溃回调

当崩溃的时候, 你可以设置一个回调来获取当次崩溃的uuid和崩溃类型. 崩溃的uuid可以在啄木鸟用此uuid搜到这次崩溃的日志
在这个block里面return一个NSDictionary, 我们也会添加到崩溃日志底部, 方便用户收集崩溃时更多信息
注意: 这个回调中, 有异步的网络请求或者异步IO, 不能保证其他异步线程能完整执行完, 因为SDK处理崩溃后会把app abort掉, 同时处理超时也会被系统kill掉.

  1. [WPKSetup setCrashCallback:^NSDictionary * _Nonnull(const char * _Nonnull crashUUID, WPKCrashType crashType) {
  2. NSLog(@"crashType %zd", crashType);
  3. return @{
  4. @"callbackhahah": @{@"lalala": @"wwww"},
  5. @"bbbbbb": @"aaas"
  6. };
  7. }];

2. 创建版本

  1. 这里创建版本主要是为了上传符号表,如果不需要上传符号表,可以跳过23步,直接上传日志,系统会自动注册版本号

image.png

image.png

image.png
注意:版本号”1.0.0” 需要与CFBundleShortVersionString 保持一至, 子版本号仅用于标识,方便查找
可以通过openapi方式在打包时创建版本!

3. 上传符号表

把打包出来的dSYM文件压缩成zip上传
image.png
符号表请尽早上传,以便能第一时间做符号化,符号表可以多次上传,同一uuid以首次上传的为准,处理符号表预计需要5分钟,也可以通过openapi方式在打包时上传符号表。

4. 上传崩溃日志

在app上模拟发生崩溃,然后再次启动app,稍等30秒,就可以在平台看到对应的崩溃了。