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

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

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

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


当前回答

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

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

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

其他回答

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

尝试退出并重新启动模拟器?如果“情况变得更糟”,你可以尝试重新启动:根据我的经验,这应该能解决问题。

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

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

简单!

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

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

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

如果从命令行运行测试(使用xcodebuild test),请确保运行模拟器与您期望在其上运行测试的设备匹配。

您可能正在运行使用iPhone 5的命令行测试。如果您一直在XCode广告中运行iPhone 6,那么运行命令行测试,有时iPhone 6将保持运行状态,您需要手动选择iPhone 5设备,然后再次运行测试。