【问题标题】:App crashes while loading with error in main.m在 main.m 中加载错误时应用程序崩溃
【发布时间】:2011-12-12 22:15:06
【问题描述】:

我正在尝试恢复一个我不小心删除并设法通过管理器完成的应用程序,但是,现在当我尝试在模拟器或 iphone 上运行它时,它会崩溃并在主程序中弹出一个错误。 m 文件:

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 上对其进行测试。该应用程序以前可以运行,事实上,现在就在应用程序商店中。任何事情都会有帮助

【问题讨论】:

    标签: iphone ios xcode main sigabrt


    【解决方案1】:

    如果您查看调试器,它可能会告诉您导致错误的原因。由于内存不足(一次屏幕上的项目太多),这曾经发生在我身上。无论哪种方式,请查看目标调试器以了解导致错误的原因。

    【讨论】:

    • 当这种情况发生在我身上时,我从另一个项目中复制了一个项目并且没有重命名视图控制器。我将 nib 文件作为源文件打开,并相应地重命名了有问题的行。
    • 视图控制器的名称在哪里?谢谢你,我也复制了@gonzobrains
    【解决方案2】:

    通常当我收到类似错误时,是因为 Interface Builder 上的链接断开。可能您更改了 IBOutlet 的名称并忘记再次连接它。

    【讨论】:

      【解决方案3】:

      如果您使用 Storyboard,请确保您没有连接重复的引用出口或代码中不再存在的引用出口。换句话说,如果你从视图控制器上的一个按钮拖到你的代码中,然后属性或方法发生了变化,你就会得到这个错误。

      【讨论】:

      • 对我来说就是这样!我更改了根视图控制器的类,它没有原始类的一些出口。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        如果没有以下构建设置,我之前已经看到过这种情况。 OTHER_LDFLAGS = -ObjC -all_load

        这是在目标中的链接下。

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            这发生在我身上,我所做的只是更改了我的图像视图的名称,然后再改回来。但是,我删除后忘记断开另一个名称。但是,一旦我将它与界面生成器断开连接,它就可以工作了。

            【讨论】:

              【解决方案8】:

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

              我也遇到了这个问题,但并非一直只有 1/2 启动。控制台中绝对没有错误,什么都没有,只是一个信号 SIGARBT。我的 AppDelegate 甚至没有去 didFinishLaunchingWithOptions。将调试器改回 GDB(编辑方案...>(信息选项卡)调试器 > LLDB)解决了问题。

              【讨论】:

                【解决方案9】:

                要修复它,请单击 mainstoryboard,即 Interface Builder,选择 File Inspector 选项卡,然后取消选中 Use autolayout。 或者,如果您绝对必须具有自动布局,您可以针对仅 iOS 6.0+ 的设备并更改最低目标。 这个问题是由于xcode的版本和学习程序的来源不匹配造成的。

                【讨论】:

                  猜你喜欢
                  • 2018-01-16
                  • 2013-07-02
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-04-19
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-03-31
                  相关资源
                  最近更新 更多