【问题标题】:iPhone app not starting on simulator, no errorsiPhone应用程序没有在模拟器上启动,没有错误
【发布时间】:2012-03-21 18:41:21
【问题描述】:

我遇到了一个问题,我的(简单)iOS 应用程序构建良好,说正在运行,但在模拟器上我只是得到一个空白屏幕。在 xCode 中,它仍然显示“在 iPhone 5.0 模拟器上运行 XXXX”,但也给出了“线程 1:信号 SIGABRT”;

底部窗口没有可读错误,只是:

argc = (int) 1
argc = (char **) 0xbffff578

到目前为止,一切都很好。在尝试将一些图像及其@2x 版本换成我稍微调整过的图像后,我遇到了问题。

我已经完成了清理工作,并且清理了构建文件夹。我还清空了 DerivedData 文件夹并尝试重新启动。我尝试在 didFinishLaunchingWithOptions 方法中的 AppDelegate 中添加断点,但似乎永远无法到达。

我想尝试的东西几乎用完了。

调试导航器:

编辑:

当我注释掉时:

@property (strong, nonatomic) UIWindow *window;

来自@interface AppDelegate

并注释掉

@synthesize 窗口 = _window;

来自@implementation AppDelegate,它可以很好地加载,尽管屏幕是空白的,因为我猜窗口没有加载。

【问题讨论】:

  • 好的,有些进展。我已经去了情节提要并制作了一个新的视图控制器并将入口点更改为它。它可以加载这个,所以我原来的视图控制器有问题。嗯嗯
  • 你使用git之类的版本控制系统吗?然后,您可以轻松地进行比较,看看 to 版本之间有什么区别。

标签: iphone xcode xcode4 sigabrt xcode4.3


【解决方案1】:

这可能会帮助你,因为它帮助了我

Xcode->Product->Edit Scheme

在这里你可以看到在“yourappname.app”中设置的“可执行文件”,它会开始正常工作

【讨论】:

    【解决方案2】:

    扩展 Ashar 的答案(因为它对我有用)。

    首先点击“Edit Scheme”,如下图。

    然后在出现的弹出窗口中,单击运行 [Your App Name] 并将 Executable 下拉菜单设置为 [Your App Name].app,如下图所示。

    这为我解决了这个问题。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      您是否已经重置了模拟器?

      【讨论】:

      • 能不能新建一个同名项目,把旧项目的所有文件都复制到新项目中?
      • 可能,这无助于弄清楚实际发生了什么。新的空白项目运行良好。
      【解决方案4】:

      为什么不创建一个空项目,检查它是否运行,然后将类复制到新项目中?它可能会工作

      【讨论】:

      • 是的,它可能会起作用。虽然不知道出了什么问题,所以如果我再次遇到这种情况会发生什么?另外,虽然它相当简单,但我已经进行了很多设置并且现在正在工作,核心数据和所有内容。
      【解决方案5】:

      第 10 行抛出异常。如果您能弄清楚具体的异常是什么,这将很有帮助,您可以通过检查第 9 行的状态来做到这一点。

      但是,看到这种情况发生在应用程序启动的早期,我的猜测是您弄乱了应用程序资源 - 您更改了所需资源的名称,或者资源格式错误并且运行时不知道如何处理。

      既然你提到你修改了一些图像,我敢猜测你用来调整它的应用程序产生了不同格式的图像。我会尝试用您知道曾经可以使用的原始版本替换图像,然后开始将它们与修改后的版本一一交换,直到您隔离出破坏它的图像。此时您可以检查差异并找出问题所在。

      【讨论】:

      • 我更新了我用于按钮的图像的 @2x 版本,因为我意识到分辨率有 1px 错误(即 1px 小于正常非视网膜图像的两倍)。
      【解决方案6】:

      也许我会说一些愚蠢的事情(可能),但根据你的说法,它发生在你替换图像之后。您是否也删除了它们并为图像使用了其他名称?我认为问题可能是您使用了一些现在丢失的图像。

      只是随机猜测

      【讨论】:

      • 没有相同的图像,感谢您的猜测。 1px 不同的分辨率!
      【解决方案7】:

      我在升级到 XCode 7.2 后遇到了这个问题。就我而言,解决方案是手动删除构建文件夹并重新启动我的计算机。我确定这不是一个通用的解决方案,所以 YYMV。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 2014-05-08
        • 1970-01-01
        • 2021-08-24
        • 2015-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多