iOS 问题模板

问题类型

  1. 集成问题(手动集成/Pod 集成)(Swift/Obj-C)
  2. 网络请求相关
  3. sdk 的 bug
  4. 上传符号表(手动还是自动)
  5. 崩溃收集的问题
  6. 其他功能

是否已经参考过 FAQ

iOS FAQ

崩溃收集的问题

1.是否参考过这篇文章 应用崩溃后没有看到信息
2.真机还是模拟器,建议关闭 Xcode 后在模拟器中调试
3.崩溃发生的时机,目前应用启动时发生崩溃可能没有时机上传。

问题描述(越详细,越能提高解决速度)

问题详情页在 bugtags 上的 url 链接

例如

出现问题的设备与版本

iPhone 6/iOS 10.1.1

联系方式

qq:xxxx

相关堆栈及问题详情

如:

0   CoreFoundation      0x1dee9e1f <redacted> + 154
1   libobjc.A.dylib     0x1d14f077 objc_exception_throw + 38
2   CoreFoundation      0x1ddf9635 <redacted> + 962
3   Bugtags             0x0008d755 Bugtags + 26453
4   UIKit               0x22f6495d <redacted> + 76
5   Bugtags             0x000a84d3 Bugtags + 136403
6   UIKit               0x22f648eb <redacted> + 62
7   UIKit               0x22f4ea87 <redacted> + 470
8   UIKit               0x22f64213 <redacted> + 634
9   UIKit               0x234c645b <redacted> + 4322
10  UIKit               0x234c2aa1 <redacted> + 1048
11  CoreFoundation      0x1dea5485 <redacted> + 20
12  CoreFoundation      0x1dea3701 <redacted> + 282
13  CoreFoundation      0x1dea3b17 <redacted> + 934
14  CoreFoundation      0x1ddf3073 CFRunLoopRunSpecific + 486
15  CoreFoundation      0x1ddf2e81 CFRunLoopRunInMode + 104
16  GraphicsServices    0x1f59bbfd GSEventRunModal + 156
17  UIKit               0x22f9aacf <redacted> + 574
18  UIKit               0x22f95201 UIApplicationMain + 150
19  Bugtags             0x0008d29b Bugtags + 25243
20  libdyld.dylib       0x1d5be50b <redacted> + 2

1.问题的标题和描述
2.信号类问题需要判断具体的信号类型,信号类问题只看堆栈信息可能解决不了问题,建议按照重现步骤看最后几步是否一样,能否重现;如果可以重现,按照重现步骤,连接 Xcode 调试,来分析具体情况。

相关控制台 log

与网络请求相关

1.使用的网络请求库及用法
2.集成 SDK 版本 3.在 BugtagsOptions 中是否设置过滤规则,如

BugtagsOptions *options = [[BugtagsOptions alloc] init];
options.trackingNetworkURLFilter = @"yourdomain.com";
[Bugtags startWithAppKey:@"APP_KEY" invocationEvent:BTGInvocationEventBubble options:options];

与上传符号表相关

1.应用是否支持 bitcode,如果支持请参考 文章
2.选择
(1) Target -> Build Settings -> Generate Debug Symbols -> Yes
(2) Target -> Build Settings -> Debug Information Format -> DWARF with dSYM File
3.检查自动上传符号表脚本

SKIP_DEBUG_BUILDS=1    #在Debug模式下编译是否自动上传符号表 0 上传 1不上传
SKIP_SIMULATOR_BUILDS=1    #在模拟器环境下编译是否自动上传符号表 0上传 1不上传
APP_KEY="App Key"    #请填写应用的App Key
APP_SECRET="App Secret"    #请填写应用的App Secret,可向应用拥有者索要
SCRIPT_SRC=$(find "$PROJECT_DIR" -name 'Bugtags_dsym_autoupload.sh' | head -1)
if [ ! "${SCRIPT_SRC}" ]; then
  echo "Bugtags: err: script not found. Make sure that you're including Bugtags.bundle in your project directory"
  exit 1
fi
source "${SCRIPT_SRC}"

4.检查 Xcode Build 运行之后提供 Log 截图

初始化 SDK 的代码

BugtagsOptions *options = [[BugtagsOptions alloc] init];
options.trackingCrashes = YES;        // 是否收集闪退,联机 Debug 状态下默认 NO,其它情况默认 YES
options.trackingUserSteps = YES;      // 是否跟踪用户操作步骤,默认 YES
options.trackingConsoleLog = YES;     // 是否收集控制台日志,默认 YES
options.trackingUserLocation = YES;   // 是否获取位置,默认 YES
options.trackingNetworkURLFilter = @"yourdomain.com";

options.crashWithScreenshot = YES;    // 收集闪退是否附带截图,默认 YES
options.ignorePIPESignalCrash = YES;  // 是否忽略 PIPE Signal (SIGPIPE) 闪退,默认 NO
[Bugtags startWithAppKey:@"APP_KEY" invocationEvent:BTGInvocationEventBubble options:options];

本地集成是什么版本的 SDK?

如果是 Pod 集成,可以从 Pods -> Bugtags -> Bugtags.h 文件中查看,手动集成同样查看 Bugtags.h 文件来查看版本。

发生的问题包含的 Bugtags SDK 版本

此信息,在问题详情页->设备信息->Bugtags SDK 版本可以查看

测试阶段发生/线上用户反馈?

是否已经参考 Demo

Pod 集成 Demo

手动集成 Demo

远程配置/在线修复

1.集成 SDK 版本
2.启动 SDK 代码设置
3.使用在线修复功能,项目是否有集成 JSPatch
4.如果测试模式不 work,本地调试是否 work 5.查看远程配置/在线修复的回调数据

    BugtagsOptions *options = [[BugtagsOptions alloc] init];
    options.remoteConfigDataMode = BTGDataModeTesting; //远程配置
    options.remoteConfigCallback = ^(BTGRemoteConfigState state, NSDictionary *data){
        NSLog(@"Data: %@",data);
    };
    options.hotfixDataMode = BTGDataModeTesting; //在线修复
    options.hotfixCallback = ^(BTGHotfixState state, NSDictionary *data, NSError *error){

        NSLog(@"Data: %@",data);

        if (error) {
            NSLog(@"error: %@",error);
        }
    };
    [Bugtags startWithAppKey:“你的 App Key” invocationEvent:BTGInvocationEventBubble options:options];