2011-10-21 68 views
11

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

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

在 “返回UIApplicationMain(的argc,argv的,零,NSStringFromClass([AppDelegate类]));” 将出现错误带有SIGABRT错误的文件部分。我在ARC上使用Xcode 4.2。我在ios 4.3和ios 5.0上测试它。该应用程序之前正在工作,事实上,现在在应用程序商店。任何事情都可以帮助

回答

9

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

+2

当这发生在我身上,我从另一个复制的项目,并没有重命名视图控制器。我将nib文件作为源文件打开,并相应地重命名了违规行,并且它可以正常工作。 – gonzobrains

1

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

这是在目标下的链接。

1

不知道错误信息是什么 - 这会有所帮助。但是你是否导入AppDelegate.h?

7

通常,当我得到类似的错误是因为Interface Builder上存在断开的链接。也许你已经更改了IBOutlet的名称,并忘记重新连接它。

2

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

1

它发生在我身上,我所做的只是改变了我的图像视图的名称,并稍后将其更改回来。但是,在我删除它之后,我忘了断开其他名称。但是,一旦我将它从界面构建器断开连接,它就可以工作。

0

要修复它,请点击主界面板,即界面生成器,选择文件检查器选项卡,然后取消选中使用自动布局。 另外,如果您绝对必须具有自动布局功能,您可以定位iOS 6.0以上的设备并更改最低目标。 由于xcode版本和学习程序来源的不匹配而发生此问题。

1

使用LLDP调试器崩溃我更改为GDB,然后它工作。

我也陷入了这个问题,但并非所有的时间只有1/2发射。绝对没有错误在控制台没有任何东西,只是一个信号SIGARBT。我的AppDelegate甚至没有去过didFinishLaunchingWithOptions。将调试器更改回GDB(Edit Scheme ...>(Info选项卡)Debugger> LLDB)解决了这个问题。

4

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

enter image description here

+0

这就是我的!我改变了根视图控制器的类,它没有原始类的一些出口。 – Troy

相关问题