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

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

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

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


当前回答

我发现我已经开始有这个问题的Lion + Xcode 4.2。我在Xcode 4.3中也遇到过这个问题。

我已经尝试了所有的建议,但没有一个是有效的,除了一个完全重启。

以下是判断是否需要快速重启的方法。

列出你所有的僵尸进程:

ps -el | grep 'Z'

如果你看到你的应用程序被列为僵尸进程,你需要重新启动你的机器。错误消息表示“这通常意味着此进程的另一个实例已经在运行或挂起在调试器中”。Xcode会检测这个你无法杀死的僵尸进程。解决这个问题的唯一方法就是重新启动系统。:(

编辑,20120823:我对僵尸进程有更好的了解,所以我想更新这个答案。当父进程没有在正在终止的子进程上调用wait()(等待进程改变状态)时,就会创建僵尸进程。你不能直接在僵尸进程上运行“kill”,但是如果你杀死了父进程,僵尸子进程将被“收割”并从进程表中删除。

我很久没有看到这个问题了,所以还没有检查这个场景中的父进程是什么。杀死父进程的替代方法是重新启动系统。:)

其他回答

重置iOS模拟器为我修复了这个错误。虽然这将删除模拟器中所有的应用程序,但它可以在无需重新启动机器的情况下修复问题。

你可以通过以下方法重置你的iOS模拟器:

1)转到“iOS模拟器”菜单,在主屏幕最左侧的Apple()徽标旁边。 2)选择“重置内容和设置…”。 3)阅读弹出的提示信息,如果你同意,点击“重置”,否则,点击“不重置”。

Mike Ash发布了一个不需要重启的解决方案(上帝保佑他!)运行:

launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove

上面的命令列出所有启动作业,搜索带有的作业 UIKitApplication的名字(这将是对应的作业 你的应用不恰当地停留),提取名称,和 告诉launchd把那份工作丢掉。

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

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

我得到了这个错误。我尝试重新启动模拟器和Xcode,但我的项目只会在清洁和构建后再次工作。不知道是什么引起的。

我最近经常遇到这个问题。怎样才能防止这种情况发生呢?登出和登录修复了问题,但是..经常这样做很烦人。

编辑:

我刚找到原因。我在ApplicationWillTerminate方法中有一个bug。所以当我点击Xcode窗口上的停止按钮时,应用程序不能正确终止并开始挂起。

检查活动监视器,看看你的应用程序是否在列表中。如果可能,强制退出。