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
- Crash stack trace (In case of a crash report)
- It only takes a line of code to integrate.
网络和控制台日志
完整设备详细信息
视觉再现步骤
3D检查当前视图层次结构
崩溃堆栈跟踪(如果是崩溃报告)
它只需要一行代码就可以集成。
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
- Crash stack trace (In case of a crash report)
- It only takes a line of code to integrate.
网络和控制台日志
完整设备详细信息
视觉再现步骤
3D检查当前视图层次结构
崩溃堆栈跟踪(如果是崩溃报告)
它只需要一行代码就可以集成。
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.
为它设置数据库。有一个提交表单,将报告放入数据库。这样,他们提交的任何信息都可以轻松搜索和管理。