我在模拟器上测试我的应用程序时,它在点击UIAlertView的一个按钮时崩溃了。我在那里停止调试,对代码做了一些更改,并重新构建应用程序。现在,当我运行应用程序时,我在控制台中得到这个错误

无法向引导服务器注册com.myApp.debug。Error:未知错误码。 这通常意味着该进程的另一个实例已经在运行或挂起在调试器中。程序接收信号:“SIGABRT”。

我尝试从模拟器中删除应用程序,做一个干净的构建,但当我尝试运行应用程序时,我仍然得到这个错误。

我应该怎么做才能再次在模拟器上运行应用程序?


当前回答

如果您发现您的问题是由于僵尸进程:ps -el | grep 'Z' (如之前的评论https://stackoverflow.com/a/8104400/464289),只是想立即解决问题,你可以这样做,而不需要重新启动或杀死任何东西。只需重命名项目目标可执行文件:

单击左侧窗格上的项目 在中间窗格中选择Build Settings 在“包装”下将“产品名称”从$(TARGET_NAME)更改为$(TARGET_NAME).1

简单!

其他回答

我遇到了@jyap提到的僵尸进程的问题。清除它们的唯一方法就是重启。然而,我注意到我的朋友在同一个项目中也会遇到同样的问题,但他们可以在不创建僵尸进程的情况下关闭模拟器。我完全卸载了Xcode并重新安装了它,虽然我仍然得到了错误,但它没有创建僵尸进程,所以我不必重新启动。

在此之前,我使用了这个非常丑陋的解决方案:更改应用程序ID并再次运行。你最终会在模拟器中看到应用程序的垃圾副本,但你可以推迟一段时间重新启动。

备选解决方案:

给你的应用一个新的标识符。如果它叫com.foobar。Myapp,命名为com.foobar。myapp01

你会丢失应用中的所有数据,因为就iPhone模拟器而言,它实际上是一个正在运行的新应用。这可能比重启更烦人,也可能不会——只是想把它添加到列表中。

我有一个递归setter,它破坏了堆栈,杀死了我的应用程序,以至于我不得不启动我的iPad。这是可以通过修改代码来证明的。

的原因

在模拟器中运行您的应用程序之前,之前运行的应用程序已经完全停止。

修复

等待,直到您看到停止按钮再次激活,然后再次运行。

(我使用的是Xcode 4.2.1。当我升级到OS X Lion时,这个问题经常发生)。

我的问题不需要重建或重新安装,在我的情况下,当试图在iPhone上运行应用程序时出现了错误。模拟器工作正常。

解决方案:删除应用程序的手机,做一个冷重启手机,现在一切都很好。