iPhone应用程序在模拟器上无法启动,没有错误。

14

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

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

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

直到现在都一切正常。我尝试更换了一些图像及其@2x版本,以更改一下,然后就出现了这个问题。

我已经进行了清理,并清理了构建文件夹。我也清空了DerivedData文件夹并尝试重新启动。我尝试在我的AppDelegate中的didFinishLaunchingWithOptions方法中添加断点,但似乎从未到达过。

我基本上已经试尽了所有想到的方法。

调试导航器:

enter image description here

编辑:

当我注释掉:

@property(strong,nonatomic)UIWindow * window;

从@interface AppDelegate开始,并注释掉

@synthesize window = _window;

从@implementation AppDelegate开始,尽管具有空白屏幕,但它可以正确加载,因为我想窗口没有加载。


好的,有一些进展。我已经到了Storyboard并创建了一个新的View Controller,并将入口点更改为它。它可以正常加载,因此我的原始View Controller出了点问题。嗯...... - Richard Williams
你是否使用像Git这样的版本控制系统?那么你可以轻松地生成差异并查看两个版本之间的区别。 - FrediWeber
7个回答

17

这可能会像它帮助了我一样帮助你

Xcode->Product->Edit Scheme

在这里,您可以看到"可执行文件"设置为"yourappname.app",然后它将开始运行得相当好


15

在Ashar的回答基础上进行扩展(因为这个方法对我有效)。

首先点击“编辑方案”,如下所示。

点击编辑方案

然后,在弹出窗口中,点击运行 [你的应用名称] 并将可执行文件下拉菜单设置为 [你的应用名称].app,如下所示。 点击运行<应用名称>,设置可执行文件

这个方法对我的问题有所帮助,希望能对你有所帮助。


2

您是否已重置模拟器?


你能否创建一个同名的新项目,并将旧项目中的所有文件复制到新项目中? - FrediWeber
可能并没有帮助弄清楚实际发生了什么。新的空白项目运行良好。 - Richard Williams

0
我在升级到 XCode 7.2 后遇到了这个问题。在我的情况下,解决方法是手动删除构建文件夹并重新启动计算机。我相信这不是一个通用的解决方案,所以您需要自己试试看。

0
为什么不创建一个空项目,检查它是否运行,然后将你的类复制到新项目中呢?这样很可能会起作用。

是的,它可能会起作用。但如果出了问题,我也不知道哪里出错了,那么如果再次遇到这种情况,该怎么办呢?而且虽然它相当简单,但我已经设置了很多东西,并且现在核心数据也在正常工作。 - Richard Williams

0

第10行抛出了一个异常。如果您能通过检查第9行的状态来确定具体的异常,那将会非常有帮助。

然而,考虑到这是在应用程序启动的早期发生的,我的猜测是您已经搞乱了应用程序资源 - 要么您已经更改了所需资源的名称,要么该资源的格式不正确,运行时不知道如何处理它。

由于您提到您修改了一些图像,我猜测您用于调整图像的应用程序生成了不同格式的图像。我建议您将图像替换为您知道可以正常工作的原始版本,然后逐个用修改后的版本进行替换,直到您隔离出一个导致问题的版本。此时,您可以检查差异并找出问题所在。


我更新了一个@2x版本的图像,因为我意识到分辨率有1个像素的错误(即比普通非视网膜图像少1个像素)。 - Richard Williams

0
也许我会说些愚蠢的话(很可能),但根据你的说法,这是在你替换图像之后发生的。你是否也删除了它们并使用其他名称的图像?我认为问题可能是您使用了现在缺失的某些图像。
这只是一个随机的猜测。

不要猜测了,这与编程有关。请将图像的分辨率调整为1px即可。 - Richard Williams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接