当我使用我的应用程序一段时间后,我收到以下错误。通常需要50到100次动作才能导致坠机。虽然我正在使用故事板,但我没有理解它,这是一个NIB错误。
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason:
'Could not load NIB in bundle: 'NSBundle
</Users/me/Library/Application Support/iPhone Simulator/5.0/Applications/GUID/appname.app>
(loaded)' with name 'MainStoryboard_iPhone.storyboardc/q8p-MH-tsT-view-acD-hJ-g0C''
我不是100%肯定从哪里开始寻找,但我认为这意味着故事板是腐败的?
我查看了我的所有源代码,并且我没有任何字符串“nib”,因此没有nibWithNibName调用等。我也没有MainWindow.xib,虽然我尝试创建一个。我不确定当我使用故事板时是否可以将其设置为主界面。但.xcodeproj / project.pbxproj文件中有一个.nib引用:
/* Begin PBXBuildRule section */
148BDD4C14AE8D5E002C30ED /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
fileType = wrapper.nib;
isEditable = 1;
outputFiles = (
);
script = "$(DEVELOPER_BIN_DIR)/ibtool\n";
};
我在Xcode 4.2中使用故事板。我的主要故事板设置为MainStoryboard_iPhone,其文件名为MainStoryboard_iPhone.storyboard。
崩溃发生在iOS 5模拟器中。
我也得到了这个错误。
最后我发现原因是我在self.tableView
开始之前访问了-(id)initWithCoder:(NSCoder *)aDecoder
。
所以,我将这些代码移到了- (void)viewDidLoad
,一切顺利。
这个问题似乎已在评论区域得到解答。重新发布此处,问题显示为有答案。 - gs。
从评论中复制的答案:
第三方组件中存在内存泄漏。资源耗尽后,会因上述错误而崩溃。几周的QA / Beta测试证实它已经消失了。谢谢。 - 发茬跳投1月24日凌晨2点29分
我以前遇到过这个问题。使用- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
作为我的init时,我的笔尖的名称与我的视图控制器的名称不同。