【发布时间】:2018-05-14 07:42:59
【问题描述】:
我必须弄清楚我的应用崩溃的原因。问题是在我的设备 (iPhone 5s) 上它工作正常,但我从 iPhone 8 Plus 收到了一份对我来说没有意义的崩溃报告。
根据 Crashlytics 信息,当用户触发调用数据库以检索某些数据的函数时会发生错误。
- (NSArray*)getContent:(NSString*)ID{
NSMutableArray *retval = [[NSMutableArray alloc] init];
NSString *query = [NSString stringWithFormat:@"SELECT * from contents where ID = \"%@\"",ID];
const char* queryUTF8 = [query UTF8String];
sqlite3_stmt *statement;
@autoreleasepool {
int response = sqlite3_prepare_v2(_database, queryUTF8, -1, &statement, nil);
if (response == SQLITE_OK) {
Crashlytics 报告错误在这一行:
if (response == SQLITE_OK) {
它还提到这个方法是从另一个类调用的,具体来说:
__43-[SessionManager calculateAllItemDistances]_block_invoke
SessionManager 是类,calculateAllItemDistances 是方法,这是对 getContent 方法的调用:
NSArray *contentData = [[self dataManager] getContent:"33"];
这段代码在里面:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
知道如何解决这个问题吗?
更新 崩溃报告:https://pastebin.com/FsgC9fq8
【问题讨论】:
-
请发布完整的 Crashlytics 堆栈跟踪报告和错误消息。可能会使用 pastebin.com
-
@battlmonstr 更新
标签: ios objective-c xcode crashlytics