改变xib时iPhone上的SIGABRT

时间:2009-09-26 10:11:52

标签: iphone objective-c xcode crash xib

我刚刚完成了iPhone的应用程序,直到今天,在iPhone模拟器和实际设备上运行良好。

我尝试更改在我的应用程序委托类中的applicationDidFinishLaunching方法中加载的xib - 我所做的就是更改initWithNibName中的字符串。

当我在模拟器上启动应用程序时,会显示Default.png图像,然后应用程序因未捕获的异常而崩溃。在设备上运行时,Default.png图像显示大约10秒,从未加载UI,我得到'GDB:程序接收信号:“SIGABRT”。在Xcode状态栏上。调试显示appDidFinishLaunching在应用程序崩溃之前从未实际到达。

将起始xib设置回原来解决问题,但现在我已经进行了更改并将其保存在Interface Builder中,并且应用程序显示了与上述相同的问题 - 我根本没有进行任何代码更改。

这是一个内存问题,还是一个常见错误的已知问题?

注意:我没有进行任何代码更改,我对xib所做的唯一更改是装饰性的,IBOutlets都完好无损。

5 个答案:

答案 0 :(得分:2)

您可能在代码中更改了IBOutlet的名称而未在xib中更改它。

答案 1 :(得分:1)

对不起伙计们,我的错 - 看来我删除了MainWindow.xib文件,因此在我做出更改后没有在启动时调用委托。我重新创建了它并将其链接到app delegate和UIApplication,所以现在一切正常。

答案 2 :(得分:0)

您可能已将IBOutlet从xib连接回代码,并且这些连接已断开。

您必须向我们提供有关如何更改nibname字符串的更多详细信息。你重命名了你的xib文件吗?

答案 3 :(得分:0)

我重命名了一些类和Xib,并将SIGABRT改为main.m

Identity Inspector中的类名可能指向不存在的类名

答案 4 :(得分:0)

因为在initWithNibName中你没有给出正确的xib名称所以它会崩溃

相关问题