应用程序在测试人员的手机上崩溃时创建错误报告?

时间:2022-06-10 23:13:43

I'm wanting to have a bunch of people beta test my app on their phones soon. In the event that the app crashes, what's the best way for them to send me a bug report?

我想让很多人尽快在他们的手机上测试我的应用程序。如果应用程序崩溃,他们向我发送错误报告的最佳方式是什么?

3 个解决方案

#1


1  

My own experience: I used Flurry as the analytics tool in my project. I followed Flurry's recommendation and set up an uncaught exception listener inside my code.

我自己的经验:我在项目中使用Flurry作为分析工具。我按照Flurry的建议,在我的代码中设置了一个未捕获的异常监听器。

void uncaughtExceptionHandler(NSException *exception) {
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}
- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    [FlurryAPI startSession:@"my_API_here"];
        ....
}

And then I tested my app, and after several hours' delay, I was able to see a few crashes reported to Flurry. Things like this:

然后我测试了我的应用程序,经过几个小时的延迟,我能够看到Flurry报告了一些崩溃。这样的事情:

NSInvalidArgumentException: -[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x2e1b30 Msg: Crash!

NSInvalidArgumentException: - [NSCFString objectAtIndex:]:发送到实例0x2e1b30的无法识别的选择器Msg:崩溃!

It's neither complete nor thorough, but it was a convenient way to have a basic sense of what's going on out there in the wild.

它既不完整也不彻底,但它是一种方便的方式,可以基本了解野外发生的事情。

#2


5  

A good approach is to use a 3rd party service like Instabug which is a bug & crash reporting service that allows for two things:

一个好的方法是使用像Instabug这样的第三方服务,这是一个错误和崩溃报告服务,允许两件事:

  • Automatically receive crash reports in the event of a crash
  • 在发生崩溃时自动接收崩溃报告

  • Allow users to report bugs through a shake gesture in-app.
  • 允许用户通过应用内的摇动手势报告错误。

All reports arrive to your Instabug dashboard containing various details such as:

所有报告都会到达您的Instabug仪表板,其中包含各种详细信息,例如:

  • Network and console logs
  • 网络和控制台日志

  • Complete Device details
  • 完整设备详细信息

  • Visual reproduction steps
  • 视觉再现步骤

  • 3D inspection of the current view hierarchy
  • 3D检查当前视图层次结构

  • Crash stack trace (In case of a crash report)
  • 崩溃堆栈跟踪(如果是崩溃报告)

  • It only takes a line of code to integrate.
  • 它只需要一行代码就可以集成。


For full disclosure, I work at Instabug. Let me know if I can help.

为了完整披露,我在Instabug工作。如果我能提供帮助,请告诉我。

#3


0  

Setup a database for it. Have a submit form that places their report into the database. This way any of the info they submit can be searched and managed easilly.

为它设置数据库。有一个提交表单,将报告放入数据库。这样,他们提交的任何信息都可以轻松搜索和管理。

#1


1  

My own experience: I used Flurry as the analytics tool in my project. I followed Flurry's recommendation and set up an uncaught exception listener inside my code.

我自己的经验:我在项目中使用Flurry作为分析工具。我按照Flurry的建议,在我的代码中设置了一个未捕获的异常监听器。

void uncaughtExceptionHandler(NSException *exception) {
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}
- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    [FlurryAPI startSession:@"my_API_here"];
        ....
}

And then I tested my app, and after several hours' delay, I was able to see a few crashes reported to Flurry. Things like this:

然后我测试了我的应用程序,经过几个小时的延迟,我能够看到Flurry报告了一些崩溃。这样的事情:

NSInvalidArgumentException: -[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x2e1b30 Msg: Crash!

NSInvalidArgumentException: - [NSCFString objectAtIndex:]:发送到实例0x2e1b30的无法识别的选择器Msg:崩溃!

It's neither complete nor thorough, but it was a convenient way to have a basic sense of what's going on out there in the wild.

它既不完整也不彻底,但它是一种方便的方式,可以基本了解野外发生的事情。

#2


5  

A good approach is to use a 3rd party service like Instabug which is a bug & crash reporting service that allows for two things:

一个好的方法是使用像Instabug这样的第三方服务,这是一个错误和崩溃报告服务,允许两件事:

  • Automatically receive crash reports in the event of a crash
  • 在发生崩溃时自动接收崩溃报告

  • Allow users to report bugs through a shake gesture in-app.
  • 允许用户通过应用内的摇动手势报告错误。

All reports arrive to your Instabug dashboard containing various details such as:

所有报告都会到达您的Instabug仪表板,其中包含各种详细信息,例如:

  • Network and console logs
  • 网络和控制台日志

  • Complete Device details
  • 完整设备详细信息

  • Visual reproduction steps
  • 视觉再现步骤

  • 3D inspection of the current view hierarchy
  • 3D检查当前视图层次结构

  • Crash stack trace (In case of a crash report)
  • 崩溃堆栈跟踪(如果是崩溃报告)

  • It only takes a line of code to integrate.
  • 它只需要一行代码就可以集成。


For full disclosure, I work at Instabug. Let me know if I can help.

为了完整披露,我在Instabug工作。如果我能提供帮助,请告诉我。

#3


0  

Setup a database for it. Have a submit form that places their report into the database. This way any of the info they submit can be searched and managed easilly.

为它设置数据库。有一个提交表单,将报告放入数据库。这样,他们提交的任何信息都可以轻松搜索和管理。