# 接入指南
# 1.工具下载
在 SDK 下载页面点击下载 iOS SDK。
# 2.导入 iOS SDK
- 将下载后的
Crasheye.h
和libCrasheye.a
文件拖动到你的 XCode 工程中,如下图所示:
TIP
💡 或者你也可以在 XCode 中右键点击你的工程,点击选择[Add Files to "xxxx"...]:
- 在之后弹出的选框中勾选[Copy items if needed], 并确保[Add To Targets]已勾选相应的 target。
# 3.配置工程
- 打开你的 XCode 工程设置,在[Build Phases]项中展开[Link Binary With Libraries],点击[+]按钮:
- 将[libz.dylib]与 [libc++.dylib]添加进来:
- 再为工程添加编译选项:
TIP
💡 iOS SDK 版本 2.5.0 及以上,已将上传改为 https 方式,不需再添加 NSExceptionDomains 或 NSAllowsArbitraryLoads 字段
2.5.0 以下版本需自行添加例外。
# 4.初始化 SDK
在项目的AppDelegate.m
源文件中引入头文件:
#import "Crasheye.h"
在 application:didFinishLaunchingWithOptions:方法中初始化 SDK,如下:
[Crasheye initWithAppKey:@"Your_AppKey"]
如果需要为你的 APP 指定渠道信息,那么还可以这样初始化:
[Crasheye initWithAppKey:@"Your_AppKey" withChannel:@"Your_Channel"]
TIP
👍 至此,iOS 上的 SDK 接入工作就完成了。在你的 Apple 设备上启动 APP,在 Crasheye 后台便能实时看到监控数据。
# 5.测试
请在真机上调试验证,在 Crasheye 后台便能实时看到监控数据。 启动您的项目,在 Crasheye 后台便能实时看到监控数据了!
# 常用API
# setAppVersion
设置 App 版本号
- 默认读取 app 的版本信息,也可以用这个接口自己设置。注意:此方法需在 Crasheye init 前调用。
[Crasheye setAppVersion:(NSString *) appVersion];
# setUserID
设置用户标识
- 为每一条上报记录设置用户标识,可以方便后期筛选和定位问题,比如开发人员想看到自己手机上报的崩溃信息,就可以采用这种方式:
[Crasheye setUserID:(NSString *) userID];
# leaveBreadcrumb
添加面包屑(打点信息)
- 您可以在您的代码中添加多个面包屑(打点信息)然后在 Crasheye 平台上查看面包屑(打点信息)的时间和顺序,这样您就可以监视到您的项目是否按照您的预设跑了!只需要在每个您想监视的地方调用如下 API 即可:
[Crasheye leaveBreadcrumb:(NSString *) breadcrumb];
# addExtraDataWithDic
添加自定义数据
- 如果您觉得 Crasheye 默认捕获的数据还不足以满足您的要求的话,您可以添加自定义数据,只需要调用如下 API 即可:
[Crasheye addExtraDataWithDic:(NSDictionary *) dic];
# sendScriptExceptionRequestWithTitle
主动上报脚本错误
- 此接口主要是给开发者主动调用,在捕获到异常信息时,如:lua、js 等脚本异常,可以通过调用接口上报至服务端。(为了减少重复上报,相同的异常信息在 10 分钟内只能上报一次)
/*
@param:
errorTitle 错误的标题,由开发人员指定,不可以为空
exception 异常的详细内容 不可以为空
*/
[Crasheye sendScriptExceptionRequestWithTitle:(NSString *) errorTitle exception:(NSString *) exception file:(NSString *) file language:(NSString *) language];
# getDeviceID
获取设备 ID
- 此接口是用户获取当前手机的设备 ID 信息,通过此 ID 信息可以通过页面搜索,找到对应的机器异常信息。
[Crasheye getDeviceID];
# setBeta
设置测试版本
/**
* 设置该版本是否为测试版本
* @param enabled 是否为测试版本(1是启用,0是禁用)
*/
[Crasheye setBeta:(int32_t) enabled];
# 符号文件上传
# 工具上传
- 下载全平台符号文件上传工具
- 运行符号文件工具,具体参数如下
args:
--appkey <appkey>
: 项目的appkey--version <version>
: 应用版本--platform <platform>
: 符号文件的所属平台: android, ios, windows, macos, ps5, harmony, xbox--disable_upload
: 不上传符号文件,仅本地打包--internal
: 上传符号文件到内网服务器(仅限内网使用, 上传速度相对于上传到外网会快)--package_info
: 上传符号文件的打包信息(包括branchname, gitcommitid, buildmode等信息)symbol_file
:- iOS平台:单个符号文件(仅支持
*.dSYM
后缀的mach-O格式符号文件), 不支持文件夹 (因为dSYM符号文件本身就是一个文件夹)
- iOS平台:单个符号文件(仅支持
$ crasheye_symbol_upload_tool.exe --appkey <appkey> --version <version> --platform <platform> <symbol_file>
NOTE:
- 暂不支持上传zip格式的符号文件。
- 在上传iOS平台符号时:
- 如果当前运行工具的操作系统是macOS,则会先使用
dump_syms
工具在本地先解析符号文件后再上传服务器。 - 如果当前运行工具的操作系统是windows/linux,使用工具时需加参数
--internal
(只有内网才有中转服务),则会直接将*.dSYM
符号文件打包上传服务器,由服务器解析符号文件(因为dump_syms
工具不支持windows/linux平台)。
- 如果当前运行工具的操作系统是macOS,则会先使用