在main.m中加载错误时,应用程序崩溃

时间:2011-10-21 21:44:10

标签: iphone ios xcode main sigabrt

我正在尝试恢复我意外删除并通过管理器设法完成的应用程序,但是,现在当我尝试在模拟器或iphone上运行它时,它崩溃并在主要部分弹出错误。 m file:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

错误发生在“return UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]));”中带有SIGABRT错误的文件部分。我正在使用带有ARC的Xcode 4.2。我在ios 4.3和ios 5.0上测试它。该应用程序之前和之前正在工作,现在正在应用程序商店中。什么都有帮助

9 个答案:

答案 0 :(得分:8)

如果您查看调试器,它可能会告诉您导致错误的原因。之前发生过这种情况,原因是内存不足(屏幕上的项目太多)。无论哪种方式,请查看目标调试器以了解导致错误的原因。

答案 1 :(得分:7)

通常当我得到类似错误时,因为Interface Builder上的链接断开。也许您已经更改了IBOutlet的名称而忘记再次连接它。

答案 2 :(得分:5)

如果您使用的是故事板,请确保您没有在代码中连接重复的引用插座或引用插座。换句话说,如果从视图控制器上的按钮拖动到代码,然后属性或方法完全改变,则可能会出现此错误。

enter image description here

答案 3 :(得分:2)

发生在我身上,查看了调试器,发现它提到了我给动作的名字,但在我创建了viewController .h和.m后删除了它,所以出于某种原因,使用不同名称创建的旧动作,仍然在某处徘徊...所以我复制了我的代码并将其粘贴在新的编程上。当然,这是一个非常小的一个视图应用程序,所以它很容易......

答案 4 :(得分:1)

如果以下构建设置不存在,我之前就已经看到了这种情况。 OTHER_LDFLAGS = -ObjC -all_load

这是目标中的链接。

答案 5 :(得分:1)

不确定错误消息是什么 - 这会有所帮助。但是你导入AppDelegate.h吗?

答案 6 :(得分:1)

它发生在我身上,我所做的只是更改了我的图像视图的名称,而不是稍后更改它。但是,删除后我忘了断开其他名称。但是,一旦我从界面构建器断开它就可以了。

答案 7 :(得分:1)

  

与LLDP调试器崩溃我改为GDB然后它工作了。

我也遇到了这个问题,但并非所有时间都只有1/2发射。控制台绝对没有任何错误,只有信号SIGARBT。我的AppDelegate甚至没有去过didFinishLaunchingWithOptions。将调试器更改回GDB(编辑方案...>(信息选项卡)调试器> LLDB)解决了这个问题。

答案 8 :(得分:0)

要修复它,请单击mainstoryboard,即Interface Builder,选择File Inspector选项卡,然后取消选中Use autolayout。 或者,如果您必须具有自动布局,则可以定位iOS 6.0 + - 仅设备并更改最小目标。 出现此问题的原因是xcode版本与学习程序源不匹配。