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

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

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

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


当前回答

的原因

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

修复

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

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

其他回答

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

修复后重新启动我的手机删除应用程序,然后重建它干净,再次运行。现在工作正常。

奇怪。

备选解决方案:

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

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

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

编辑:

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

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

此错误过去常发生在旧版本的iOS模拟器中,因为另一个设备中正在关闭的作业的旧实例可能与新实例发生冲突。

iOS 6.0及以后版本应该不会遇到这样的问题,因为iOS 6.0引入了引导子集的使用,而iOS 7.0引入了专用引导服务器(launchd_sim)的使用,它与主机的引导服务器完全隔离。