如何在 iOS 中向服务器报告错误和崩溃
How to report error and crashes to a server in iOS
我正在开发一个 iOS 7 及更高版本的应用程序,我想知道一旦它在 App Store
中可用,我该如何报告应用程序的错误和崩溃,而无需整合任何第三方来做到这一点。
我需要报告服务器可能发生的错误,所以我考虑将我感兴趣的报告错误(例如,从服务获取数据失败)保存在一个文件中,然后发送在特定时刻将文件发送到服务器。我不知道这是不是一个好方法,如果是:
1) 我是否应该明确请求用户允许应用报告错误? (警报视图)
2) 可以随时发送带有错误日志的文件,还是应该由用户要求应用程序发送?
有更好的方法吗?另一方面,关于应用程序崩溃:是否也可以将它们保存在文件中?
提前致谢
像 Crashlytics 这样的第三方库可以做所有的好工作,很多人更喜欢它,但如果你坚持你可以让你自己的服务发送包含崩溃详细信息的文件。
以下函数会将崩溃详细信息记录到控制台;
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
然后您可以访问控制台日志并将此数据写入文件。
可以找到更详尽和具体的解决方案 here
我正在开发一个 iOS 7 及更高版本的应用程序,我想知道一旦它在 App Store
中可用,我该如何报告应用程序的错误和崩溃,而无需整合任何第三方来做到这一点。
我需要报告服务器可能发生的错误,所以我考虑将我感兴趣的报告错误(例如,从服务获取数据失败)保存在一个文件中,然后发送在特定时刻将文件发送到服务器。我不知道这是不是一个好方法,如果是:
1) 我是否应该明确请求用户允许应用报告错误? (警报视图)
2) 可以随时发送带有错误日志的文件,还是应该由用户要求应用程序发送?
有更好的方法吗?另一方面,关于应用程序崩溃:是否也可以将它们保存在文件中?
提前致谢
像 Crashlytics 这样的第三方库可以做所有的好工作,很多人更喜欢它,但如果你坚持你可以让你自己的服务发送包含崩溃详细信息的文件。
以下函数会将崩溃详细信息记录到控制台;
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
然后您可以访问控制台日志并将此数据写入文件。
可以找到更详尽和具体的解决方案 here