# iOS SDK 使用指南

# 接入指南

# 创建 AppKey

在你注册登录 Crasheye 之后,便可创建自己的 APP,每个 APP 都有全局唯一的 AppKey,用来唯一标识你的 APP。AppKey 在初始化 SDK 时需要使用。

如何创建 APP:

  1. 登录 Crasheye 进入后台管理页面
  2. 点击网页右上角个人头像按钮,在弹出的菜单中点击选择[我的应用],进入应用列表页面
  3. 在应用列表页面,点击[创建新的应用],会弹出创建新应用的提示框
  4. 输入应用名称,选择所属的平台类型,点击[确定]按钮,就完成了一个新应用的创建

AppKey 用来唯一标识你的移动应用,为防止别人滥用,请勿泄露。

# 下载 SDK

在 SDK 下载页面点击下载 iOS SDK

# 导入 iOS SDK

将下载后的[Crasheye.h]和[libCrasheye.a]文件拖动到你的 XCode 工程中,如下图所示:

或者你也可以在 XCode 中右键点击你的工程,点击选择[Add Files to "xxxx"...]:

在之后弹出的选框中勾选[Copy items if needed], 并确保[Add To Targets]已勾选相应的 target。

# 配置工程

打开你的 XCode 工程设置,在[Build Phases]项中展开[Link Binary With Libraries],点击[+]按钮:

将[libz.dylib]与 [libc++.dylib]添加进来:

再为工程添加编译选项:

iOS SDK 版本 2.5.0 及以上,已将上传改为 https 方式,不需再添加 NSExceptionDomains 或 NSAllowsArbitraryLoads 字段,2.5.0 以下版本需自行添加例外。

# 初始化 SDK

在项目的[AppDelegate.m]源文件中引入头文件:

#import "Crasheye.h"

在 application:didFinishLaunchingWithOptions:方法中初始化 SDK,如下:

[Crasheye initWithAppKey:@"Your_AppKey"]

如果需要为你的 APP 指定渠道信息,那么还可以这样初始化:

[Crasheye initWithAppKey:@"Your_AppKey" withChannel:@"Your_Channel"]

至此,iOS 上的 SDK 接入工作就完成了。在你的 Apple 设备上启动 APP,在 Crasheye 后台便能实时看到监控数据。

# 测试

请在真机上调试验证,在 Crasheye 后台便能实时看到监控数据。

启动您的项目,在 Crasheye 后台便能实时看到监控数据了!

# 常用 API

设置 App 版本号

默认读取 app 的版本信息,也可以用这个接口自己设置。注意:此方法需在 Crasheye init 前调用。

[Crasheye setAppVersion:(NSString *) appVersion];

设置用户标识

为每一条上报记录设置用户标识,可以方便后期筛选和定位问题,比如开发人员想看到自己手机上报的崩溃信息,就可以采用这种方式:

[Crasheye setUserID:(NSString *) userID];

添加面包屑(打点信息)

您可以在您的代码中添加多个面包屑(打点信息)然后在 Crasheye 平台上查看面包屑(打点信息)的时间和顺序,这样您就可以监视到您的项目是否按照您的预设跑了!只需要在每个您想监视的地方调用如下 API 即可:

[Crasheye leaveBreadcrumb:(NSString *) breadcrumb];

添加自定义数据

如果您觉得 Crasheye 默认捕获的数据还不足以满足您的要求的话,您可以添加自定义数据,只需要调用如下 API 即可:

[Crasheye addExtraDataWithDic:(NSDictionary *) dic];

主动上报脚本错误

此接口主要是给开发者主动调用,在捕获到异常信息时,如:lua、js 等脚本异常,可以通过调用接口上报至服务端。(为了减少重复上报,相同的异常信息在 10 分钟内只能上报一次)

/*
@param:
errorTitle 错误的标题,由开发人员指定,不可以为空
exception  异常的详细内容  不可以为空
*/
[Crasheye sendScriptExceptionRequestWithTitle:(NSString *) errorTitle exception:(NSString *) exception file:(NSString *) file language:(NSString *) language];

获取设备 ID

此接口是用户获取当前手机的设备 ID 信息,通过此 ID 信息可以通过页面搜索,找到对应的机器异常信息。

[Crasheye getDeviceID];

设置测试版本

/**
* 设置该版本是否为测试版本
* @param enabled 是否为测试版本(1是启用,0是禁用)
*/
[Crasheye setBeta:(int32_t) enabled];

# 符号文件上传

  1. 环境要求

Java SE Runtime Environment 7 (opens new window) 或以上
仅在Mac系统使用

  1. 准备

    1. 符号文件工具
    2. dSYM 文件(iOS 中包含调试信息的文件),其位置如下:
    XCode -> 项目工程 -> Products -> XXX.app -> 右键"显示文件夹" -> XXX.app.dSYM
    
  2. 上传符号文件

    参数 说明
    -appkey 项目的 appkey
    [-veresion] 应用版本(可选),默认从符号文件中 Contents/info.plist 读取
    [-platform] 默认值为 ios
    [-disableUpload] 不上传符号文件
    [-dumpsyms] dsym 分析程序 dump_syms 位置,默认指向当前工作目录符号文件路径

    网页上传:

    1. 运行符号文件工具,具体参数如下:
    java -jar CrasheyeiOSSymbol.jar -disableUpload 符号文件路径
    
    1. 把生成的.zip 包通过网页上传(设置 - 符号文件 - 符号文件上传),并选择对应的应用版本号

    工具上传:

    1. 运行符号文件工具,具体参数如下:
    java -jar CrasheyeiOSSymbol.jar -appkey=项目的AppKey [-version=应用版本号] [-platform=ios] 符号文件路径
    
上次更新: 2022-6-28 2:59:17 PM