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

我试图恢复一个应用程序,我不小心删除,并设法通过组织者做到这一点,但是,现在当我尝试在模拟器或iPhone上运行它,它崩溃了在main.m文件中popup一个错误:

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。 我正在testing它在ios 4.3和ios 5.0上。 事实上,这个应用程序正在工作,现在在应用程序商店。 任何事情都会有帮助

如果你看debugging器,它可能会告诉你是什么原因造成的错误。 由于内存不足(一次在屏幕上的项目太多),这在我之前发生过。 无论哪种方式,看目标debugging器是什么导致了错误。

通常,当我得到类似的错误是因为Interface Builder上有一个断开的链接。 也许你已经改变了一个IBOutlet的名字,忘了再次连接它。

如果您使用的是故事板,请确保您没有连接在您的代码中不存在的重复参考插口或参考插口。 换句话说,如果你从你的视图控制器上的一个button拖动到你的代码,然后属性或方法已经改变,你可以得到这个错误。

在这里输入图像说明

发生在我身上,看着debugging器,发现它提到了一个名字,我给了一个行动,但删除它后,我创build了viewController .h和.m所以由于某种原因,旧行动创build一个不同的名字,仍然徘徊在某个地方…所以我复制我的代码,并粘贴在一个新的编。 当然,这是一个非常小的视图应用程序,所以很容易…

我以前见过这种情况,如果以下的构build设置不存在。 OTHER_LDFLAGS = -ObjC -all_load

这是在目标中的链接。

不知道错误信息是什么 – 这将是有益的。 但是你导入AppDelegate.h?

它发生在我身上,我所做的只是改变了我的图像视图的名称,而不是稍后改变它。 但是,我删除后忘了断开其他的名字。 但是,一旦我从界面生成器断开它的工作。

与LLDPdebugging器崩溃,我改变了GDB,然后它的工作。

我也遇到了这个问题,但不是所有的时间只有一半发射。 在控制台绝对没有错误没有什么,只是一个信号SIGARBT。 我的AppDelegate甚至没有去didFinishLaunchingWithOptions。 将debugging器更改回GDB(Edit Scheme …>(Info选项卡)Debugger> LLDB)解决了这个问题。

要解决这个问题,点击主界面板,即界面生成器,select文件检查器选项卡,并取消选中使用自动布局。 另外,如果你绝对必须有自动布局function,你可以只支持iOS 6.0以上的设备并改变最小目标。 由于xcode版本和学习程序来源的不匹配,会发生此问题。