我做了一个有6个月工作但没有备份的应用程序。它在模拟器上工作正常,但在设备上崩溃。
这是错误代码:
2011-09-11 17:55:49.172 Apli [223:707] * 由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法在bundle中加载NIB:'NSBundle / VAR /移动/应用/ FC234696-314B-4328-94BF-A73506B8AB07 / Apli.app> (加载)'名称'MainWindow''
*** Call stack at first throw:
(
0 CoreFoundation 0x3438664f __exceptionPreprocess + 114
1 libobjc.A.dylib 0x36879c5d objc_exception_throw + 24
2 CoreFoundation 0x34386491 +[NSException raise:format:arguments:] + 68
3 CoreFoundation 0x343864cb +[NSException raise:format:] + 34
4 UIKit 0x34b03a53 -[UINib instantiateWithOwner:options:] + 1110
5 UIKit 0x34b04e09 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
6 UIKit 0x3492f4cd -[UIApplication _loadMainNibFile] + 96
7 UIKit 0x34929b09 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 180
8 UIKit 0x348fe7d7 -[UIApplication handleEvent:withNewEvent:] + 1114
9 UIKit 0x348fe215 -[UIApplication sendEvent:] + 44
10 UIKit 0x348fdc53 _UIApplicationHandleEvent + 5090
11 GraphicsServices 0x33a56e77 PurpleEventCallback + 666
12 CoreFoundation 0x3435da97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
13 CoreFoundation 0x3435f83f __CFRunLoopDoSource1 + 166
14 CoreFoundation 0x3436060d __CFRunLoopRun + 520
15 CoreFoundation 0x342f0ec3 CFRunLoopRunSpecific + 230
16 CoreFoundation 0x342f0dcb CFRunLoopRunInMode + 58
17 UIKit 0x34928d49 -[UIApplication _run] + 372
18 UIKit 0x34926807 UIApplicationMain + 670
19 Apli 0x00002bb3 main + 82
20 Apli 0x00002b5c start + 40
)
terminate called after throwing an instance of 'NSException'
(gdb)
答案 0 :(得分:1)
检查您的MainWindow.XIB文件是否仍在项目中,并且特别要检查是否包含在您的目标中。
我想您的MainWindow.xib不会被检查包含在您的最终Apli.app包中,这解释了为什么它在您的Bundle中找不到。
如果您没有“清理”以前版本的应用程序,则您的已编译应用程序包的先前版本(包括MainWindow.xib文件)可能仍存在于您的模拟器中,解释了模拟器仍然可以找到它的原因。 (如果您从“构建”菜单中“清除所有目标”,然后在模拟器上重建您的应用程序,我打赌模拟器将无法找到您的XIB文件)