资讯专栏INFORMATION COLUMN

TestBird 崩溃分析(Artisan) iOS SDK 使用指南

Null / 1158人阅读

摘要:最新版本更新内容支持插件,收集异常支持语言一快速集成崩溃分析,支持及以上版本。上传符号化文件将符号化文件压缩成包,通过崩溃分析应用设置中的版本管理上传。手动上报的将多带带显示在分析报表的异常栏目中。

最新版本1.04 更新内容
支持H5插件,收集H5 JS异常;
支持Swift语言
一、快速集成

TestBird 崩溃分析(Artisan) iOS SDK,支持iOS 6.0 及以上版本。SDK及Plugin下载

集成具体方法如下:

Step 1. 创建App

请注册TestBird账户并登陆产品后台,点这里注册登陆;

通过“添加应用”按钮上传应用的ipa文件,添加您的新应用;

添加应用后,在页面下方的“崩溃分析”面板中获取您的AppKey,初始化SDK时需要使用;

Step 2. 导入SDK

下载SDK并解压,支持收集NSException导致的崩溃和Native崩溃

如果您的应用是基于HTML的Hybird App,还可以下载集成HTML Plugin,支持收集javascript异常

将TestBirdAgent.framework拖拽到XCode工程内,并勾选Copy items if need

Step 3. 添加依赖库

CoreTelephony.framework

SystemConfiguration.framework

Security.framework

libz.dylib

Step 4. 导入头文件

Objective-C,在 AppDelegate.m 中添加:

   #import 

Swift,请在 bridging-header.h 文件中导入头文件

Step 5. 初始化SDK

在 AppDelegate 的 application didFinishLaunchWithOptions 方法中添加SDK初始化语句:

Objective-C

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // 配置打开SDK调试模式,默认是关闭状态
        [TestBirdAgent setDebug:YES];

        // 初始化SDK
        [TestBirdAgent enableWithAppKey:@"YourAppKey"]; // YourAppKey 是在官网申请到的App Key
        return YES;
    }

Swift

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        TestBirdAgent.setDebug(true)
        TestBirdAgent.enableWithAppKey("YourAppKey") // YourAppKey 是在官网申请到的App Key
    }

注意:请先关闭其他第三方SDK的崩溃捕获接口,然后再初始化TestBird SDK,或将TestBird SDK初始化代码放到 didFinishLaunchWithOptions 方法最后,避免冲突。

二、SDK调试

SDK处于调试状态下,在APP启动之后,如果在设备日志输出中可以找到以下Log,就表明SDK初始化成功:

TestBird: CrashReporter enabled!
TestBird: framework bundle identifier: com.testbird.artisan.TestBirdAgent
TestBird: framework version: x.x.x

为确保SDK正常工作,请触发一次崩溃,并检查日志和Web分析报表

注意:多数时候需要重启一次应用,崩溃信息才能够上报成功

三、上传符号化文件

符号表是内存地址与函数名、文件名、行号的映射表。为了能快速并准确地定位用户APP发生崩溃等异常的代码位置,TestBird需要使用符号表对APP发生异常的程序错误堆栈进行解析和还原。

3.1 符号化文件的位置

在执行archive之后,可以在生成的“.xcarchive”文件夹中找到dSYMs的文件夹, 在dSYMs文件夹中有一个名为{APP_NAME}.app.dSYM的文件(APP_NAME是应用的名字),这个文件里面就包含了我们需要的符号表。

注意:如果发现这个位置没有 dSYM 文件,说明设置了打包时不生成符号表。可查看Build Settings -> Build Options -> Debug Information Format 的设置,必须选择DWARF with dSYM File才会生成符号表文件。

3.2 上传符号化文件

将符号化文件{APP_NAME}.app.dSYM压缩成zip包,通过崩溃分析应用设置中的“版本管理”上传。

注意:各个版本需要分别上传符号化文件。

3.3 Bitcode APP的符号化文件

开启了Bitcode的APP需要在XCode中下载符号化文件,具体方法如下:

打开XCode的Organizer窗口,选择要对应的archive。

再点击“Dowload dSYMs”,符号化文件会被下载到对应的archive目录。

将对应的dSYM文件打包上传。

四、API 说明

4.1 启用崩溃报告功能

启用TestBirdAgent,并创建一个TestBirdAgent的实例,注册的APP Key

Objective-c

+ (TestBirdAgent *)enableWithAppKey:(NSString *)appKey;

Swift

 TestBirdAgent.enableWithAppKey(appKey: String) -> TestBirdAgent

4.2 获取 TestBirdAgent 的全局唯一实例

Objective-c

 + (TestBirdAgent *)sharedInstance;

Swift

 TestBirdAgent.sharedInstance() -> TestBirdAgent

4.3 设置User ID

调用该方法,设置当前使用App的用户账号,以便跟踪用户反馈,找出对应的崩溃或异常。

Objective-c

- (void)setUserId:(NSString *)userId;

Swift

setUserId(userId: String)

4.4 自定义Log日志

调用该方法,添加一条自定义Log日志,该Log会随崩溃堆栈等信息收集到崩溃报表中。自定义Log日志缓存Buffer是32KB,超出时只保留最新的Log。

Objective-c

-(void)addCustomLog:(NSString *)log;

Swift

addOneCustomLog(log: String!)

4.5 自定义键值对参数

添加自定义键值对参数

调用该方法后,将向缓存中添加一条键值对参数,参数将会被收集到崩溃报表中。键和值的总大小不能超过1KB,最多设置32条自定义键值对。

Objective-c

- (BOOL)setCustomValue:(NSString *)value forKey:(NSString *)key;

Swift

setCustomValue(value: String!, forKey: String!)

移除自定义键值对

Objective-c

 - (BOOL)removeCustomKey:(NSString *)key;

Swift

removeCustomKey(key: String!)

清除所有自定义键值对

Objective-c

 - (void)clearCustomKeys;

Swift

  clearCustomKeys()

4.6 设置Debug模式

将SDK设置为debug模式后,TestBirdAgent会输出调试Log,默认为关闭状态。

Objective-c

 - (void)setDebug:(BOOL)enable;

Swift

setDebug(enable: Bool)

4.7 上报NSException

可以通过该API手动上报NSException。手动上报的NSException将多带带显示在分析报表的“异常”栏目中。

Objective-c

 - (void)reportException:(NSException *)exception;

Swift

// unsupported yet 

4.8 HTTPs开关

默认情况下SDK将使用HTTPs和服务器通信,如果需要使用非HTTPs的通信请在初始化SDKenablWithAppKey之前调用以下 接口(参数为NO,表示禁用HTTPs传输)

Objective-c

 - (void)enableSecurityTransport:(BOOL)enable;

Swift

enableSecurityTransport(enable: Bool)

HTTP通信配置,iOS 9要求默认使用HTTPs通信。TestBird目前支持HTTPs 和 HTTP 两种连接方式,如果要使用HTTP连接,请在Info.plist中,按照下图添加允许TestBird域名HTTP通信的配置:

也可以,添加允许任意域名HTTP通信的配置:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16491.html

相关文章

  • TestBird 崩溃分析(Artisan) Android SDK 使用指南

    摘要:崩溃分析使用指南最新版本更新内容支持插件,可收集异常修复启动次数统计一快速集成崩溃分析,支持及以上版本。会用进行错误堆栈还原帮助快速定位问题。手动上报的异常将单独显示在分析报表的异常栏目中。本文由崩溃分析产品经理撰写。 TestBird 崩溃分析(Artisan) Android SDK 使用指南 ** 最新版本1.0.4 更新内容 ** 支持H5插件,可收集H5 JS异常; 修复启...

    Raaabbit 评论0 收藏0
  • TestBird 崩溃分析(Artisan) Android SDK 使用指南

    摘要:崩溃分析使用指南最新版本更新内容支持插件,可收集异常修复启动次数统计一快速集成崩溃分析,支持及以上版本。会用进行错误堆栈还原帮助快速定位问题。手动上报的异常将单独显示在分析报表的异常栏目中。本文由崩溃分析产品经理撰写。 TestBird 崩溃分析(Artisan) Android SDK 使用指南 ** 最新版本1.0.4 更新内容 ** 支持H5插件,可收集H5 JS异常; 修复启...

    Barry_Ng 评论0 收藏0
  • 关于IOS测试

    摘要:由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。并在之后的测试报告中予以体现。只有在回归测试通过之后,才对产品进行提交。测试工具归纳是苹果自带的工具,肯定比较好用。 前言: 最近跟很多同行讨论过,现在也想和大家聊聊,我这里还有一些APP测试的具体指标,希望通过自己很有限的经验帮助大家。内容中部分是可以百度到,部分是我自己的一些看法,欢迎大家补充。201...

    894974231 评论0 收藏0
  • 关于IOS测试

    摘要:由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。并在之后的测试报告中予以体现。只有在回归测试通过之后,才对产品进行提交。测试工具归纳是苹果自带的工具,肯定比较好用。 前言: 最近跟很多同行讨论过,现在也想和大家聊聊,我这里还有一些APP测试的具体指标,希望通过自己很有限的经验帮助大家。内容中部分是可以百度到,部分是我自己的一些看法,欢迎大家补充。201...

    SmallBoyO 评论0 收藏0
  • APP测试的新篇章

    摘要:前言如今缺乏专业的应用测试,上线将由通途变天堑。一般来讲,开发者没有完成专业测试的条件,因为这需要极大的硬件与人力成本。在共享经济与协作开放的时代,开发者可以尝试来进行应用测试,继而发现应用的不足之处,及时完善产品质量,加速上线审核。 前言: 如今缺乏专业的应用测试,上线将由通途变天堑。一般来讲,开发者没有完成专业测试的条件,因为这需要极大的硬件与人力成本。在共享经济与协作开放的时代,...

    philadelphia 评论0 收藏0

发表评论

0条评论

Null

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<