# iOS SDK接入指南

Crash SDK 支持两种库文件集成方式:


  • pod自动集成

一行代码接入,强烈推荐 

  • 手动集成

需要较多手动配置,且不便升级,仅适合对于SDK版本有指定要求的用户


# 1. SDK接入

# 1.1 pod接入方式

在Podfile 添加以下pod信息。


pod 'WPKMobi', :podspec =>'http://image.uc.cn/s/uae/g/3w/woodpecker-sdk/WPKMobi/xxx/WPKMobi.podspec.json'


注意:podspec真实地址请迁往《SDK下载》页获取


# 1.2 手工接入方式

下载SDK, 解压引入到项目中

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:@"yueyingiosdemo"];

[WPKSetup sendAllReports];




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


# 自定义udid

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


[WPKSetup setUserIdentifier:@"xxxxxxxx"];




# 用户自定义数据

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


[WPKSetup setUserInfo:@{@"somevar": @"var001"}];




# 崩溃回调

当崩溃的时候,你可以设置一个回调来获取当次崩溃的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. 上传符号表


把打包出来的dSYM文件压缩成zip上传。

符号表请尽早上传,以便能第一时间做符号化,符号表可以多次上传,同一uuid以首次上传的为准,处理符号表预计需要5分钟,也可以通过openapi方式在打包时上传符号表。



# 3. 上传崩溃日志

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