【发布时间】:2009-12-11 23:50:10
【问题描述】:
我向 iTunesConnect 提交了我的应用程序,Apple 将以下崩溃报告返回给我:
Thread 2 Crashed:
0 libobjc.A.dylib 0x00003eb8 objc_msgSend + 16
1 Foundation 0x0004c3aa _NSDescriptionWithLocaleFunc + 24
2 CoreFoundation 0x0003d52e _CFStringAppendFormatAndArgumentsAux + 1390
3 CoreFoundation 0x0003ceca _CFStringCreateWithFormatAndArgumentsAux + 66
4 CoreFoundation 0x00073fd6 _CFLogvEx + 34
5 Foundation 0x000661a4 NSLogv + 74
6 Foundation 0x0006614a NSLog + 18
7 mobilescan 0x00039014 -[BlaBlaBlaDao insertCategoryWithId:andName:] (BlaBlaBlaDao.m:110)
似乎当应用程序尝试打印日志时,它会使应用程序崩溃。 这很奇怪,因为在调试模式下,应用程序会停止 2 秒然后打印错误并继续工作...
从应用程序崩溃的 BlaBlaBlaDao.m 中的第 110 行,我有这些行:
NSLog(@"category, id:%@, name:%@", subcategory.id, subcategory.name);
[subcategory addFreshfoodProductsObject:freshfoodProduct];
NSError *error = nil;
if (![managedObjectContext save:&error]) {
[managedObjectContext rollback];
NSLog(@"error: %@", error);
}
它来自一个苹果的例子......
每个人都知道为什么?
感谢您的帮助!
【问题讨论】:
-
好吧,首先你不能有一个名为 id 的成员,因为它是objective-c 中类型的保留字。你应该先重命名它。
-
哪个 NSLog 失败了?第一个还是第二个有错误?