113

我只是在我的程序中更改了一些代码并得到了这个错误:

无法向引导服务器注册 com.yourcompany.XXX。错误:未知错误代码。

这通常意味着该进程的另一个实例已经在运行或挂在调试器中。程序收到信号:“SIGABRT”。

我尝试将我的程序恢复到可以正常工作的版本,重新启动,重新启动,清空缓存并在以前可以工作的版本上重建。

任何帮助,将不胜感激。

4

21 回答 21

116

我可以通过拔掉 iPad 电源、关闭并备份它、清除所有 XCode 缓存和目标以及进行干净的构建来从中恢复。我正在运行 XCode 3.5.4 和 iOS 4.2.1 希望这对某人有所帮助。-麦克风

更新:运行 Xcode 4.3 和 iOS5 时同样的问题 - 只需重启设备即可。

于 2011-04-07T18:50:26.617 回答
25

您可能希望kill所有Simulator进程也可能导致此错误。

这是一条可以杀死所有人的单线:

kill -9 `ps ax | grep Simulator | grep -v grep | awk '{print $1}'` 

或者更简洁,就像@brianegge 在评论中提到的那样:

killall -9 Simulator
于 2011-05-30T21:09:39.550 回答
15

我的解决方案是重新启动 ipad,稍等片刻再试一次。

于 2011-08-10T01:26:59.527 回答
14

如果您在使用模拟器时遇到问题,请查看此线程:测试模拟器时出现奇怪的错误

您可能会发现这个测试很有趣,因为它会尽快告诉您唯一的解决方案是否是现在重新启动:

打开终端并运行以下命令:ps -Ael | grep Z. 如果您收到两个条目,一个是“(clang)”,另一个是您的应用程序或公司名称,那么您将被淹没 - 重新启动。

如果您是开发人员,请输入一个简短的错误并告诉 Apple 必须重新启动是多么烦人,并提及他们可以将此错误复制到 "rdar://10401934" 。

于 2011-11-05T14:50:22.553 回答
11

我收到了同样的问题,从 Xcode 在 iPhone 上运行应用程序。我收到的消息与上面相同:

无法向引导服务器注册 xxx.com.company.appname。这通常意味着该进程的另一个实例已经在运行或挂在调试器中。

我按此顺序尝试了很多方法来解决问题,但都失败了:

  • 强制退出 iPhone 上的应用程序
  • 强制退出,然后删除应用程序的 iPhone
  • 打开和关闭项目
  • 清理项目
  • 重新启动 XCode

最终,我重新启动了 iPhone,问题就消失了,这让我认为问题的根源是 Xcode 无法或不会杀死的挂起进程。如果我能够准确地重现我在调试会话期间所做的事情以获得这种奇怪的状态,我将在此处添加另一个注释。

于 2011-05-13T20:45:35.140 回答
5

我打开了苹果的错误报告:https ://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66

如果您无法访问它,请告诉我。

摘要: XCode 调试器未释放引导服务器端口

重现步骤: 在 Lion 10.7.2 上的 Xcode 4.2 Build 4D5163b 模拟器中调试 iPhone iOS5 应用程序时,崩溃有时会导致无法启动虫子。相反,Xcode 会产生这个错误:

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

预期结果: 应该能够在崩溃后启动调试器。

实际结果: 无法启动调试器。我发现让模拟器再次工作的唯一方法是重新启动 Mac OS。

回归:

注意: 很多人都遇到这个问题: iPhone - 在模拟器上测试时出现奇怪错误 无法注册引导服务器 引导服务器错误在 Xcode IPHONE https://discussions.apple.com/message/10416765?messageID=10416765

退出 XCode 和模拟器(并确保 ps -Al | egrep "Xcode|Simulator" 不返回任何内容)对问题没有帮助。

运行“launchtl bslist | grep MyApp”显示 com.MyApp 仍在引导服务器上注册:

$ launchctl bslist | grep MyApp
A  com.MyApp.MyApp.UIKit.migserver
A  com.MyApp.MyApp

我写了一些代码来查找端口并使之无效,但这也失败了:

NSMachBootstrapServer *bsserver = [NSMachBootstrapServer sharedInstance];
NSMachPort *port = (NSMachPort *)[bsserver portForName:@"com.MyApp.MyApp"];
[port removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:<#(NSString *)#>
NSLog(@"port = %@",port);   
NSLog(@"port.isValid=%d",[port isValid]);
[port invalidate];
NSLog(@"port.isValid=%d",[port isValid]);       
于 2011-12-01T23:53:34.783 回答
4

我在 Xcode 4 上遇到了同样的问题。解决方案是更改方案。运行设置为调试,测试设置为调试,配置文件设置为发布,分析设置为调试,存档设置为发布

于 2011-04-04T10:31:00.883 回答
2

总结一下。

有时kill -9 (进程 ID)会有所帮助。
有时(如前所述)launchctl list | grep UIKitApplication | grep "(你的应用名称/标识符)" | awk '{打印 $3}' | xargs launchctl remove有效。

但是,如果它是一个“僵尸”进程,那么只有重新启动才能解决您的问题。

临时解决方案是将标识符(IOS 应用程序目标,摘要选项卡)更改为其他内容(例如“com.mycompany.myapp”中的“com.mycompany1.myapp”),但请记住在重新启动后和之前将其更改回来提交它。

(当然这会在模拟器上创建另一个应用程序,但我想这是你的问题中最少的......)

不幸的是,没有“通往伟大的简单方法”...... ;-)

于 2012-06-19T15:12:13.030 回答
2

重新启动计算机解决了我的问题。当我将我的新 iPod Touch 连接到我的 mac 并同时在模拟器中运行我的项目时,发生了这个错误。

于 2011-11-09T02:42:05.853 回答
2

最简单的方法是更改​​目标名称,记得在重新启动后第二天将其更改回来。

于 2012-03-20T12:03:52.563 回答
1

以下是我认为我解决这个“奇怪”错误的方法:

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

(1) 清理 Xcode 和模拟器上的所有缓存、目标、标头。(2) 在未连接到计算机时重新启动您的 iPhone,并确保您的 iPhone 上没有留下任何给您带来问题的程序版本。(3) 恢复您知道在某个时间点绝对有效的任何先前版本的程序。(4) 关闭您的计算机/笔记本电脑。(我需要做 4 次。)对我来说毫无意义。(5) 重新启动机器并尝试运行不同的程序,看看是否仍然出现错误。如果您在另一个程序上没有收到错误。(6) 编译给出错误的程序:(1) 首先使用可以工作的早期版本。然后,给你错误的版本。当然,您可能必须逐步重新添加代码,以确保您知道是什么代码导致了错误。

于 2010-07-30T23:00:40.323 回答
1

已经提供了很多很好的答案来解决这个问题。

我发现我可以通过在我的代码中创建一个断点来重新创建这个错误,以便执行暂停。然后,如果我按下停止按钮,当我再次尝试运行代码时,就会出现错误。因此,在按下停止按钮之前恢复执行可以避免这个问题。

希望这可以帮助。

于 2012-05-23T16:35:26.703 回答
1

这发生在我身上,因为另一个应用程序正在消耗计算机的资源。我退出了模拟器,退出了挂在我电脑上的应用程序并重新启动了模拟器,然后它就可以工作了。该错误意味着先前杀死的进程无法到达队列的末尾,并且正在阻止当前进程。

于 2011-08-16T01:13:06.337 回答
0

关闭 xcode 然后启动它,然后重新启动我的 iphone 解决了我的问题

于 2011-08-18T17:49:18.183 回答
0

我刚刚在评估 AppCode 时遇到了这个问题。当我试图将 AppCode 附加到我的应用程序时,我发现 XCode 以某种方式附加到了我的应用程序。我只是停止了 XCode 调试会话,它按预期工作。我希望这会对某人有所帮助。

于 2011-11-12T14:10:14.463 回答
0

好的,我有一个不涉及重新启动手机的硬件问题的解决方法。我认为这也适用于模拟器,但我还没有尝试过。

通过更改语言强制 Springboard 重新启动。设置 -> 常规 -> 国际 -> 语言。

我只是将其更改为西班牙语,等待 Springboard 重新启动,将其更改回英语,一切顺利。

于 2012-04-23T22:17:57.363 回答
0

只需重新启动设备即可解决问题。请参阅有关模拟器的类似问题:iPhone - 在模拟器上测试时出现奇怪错误

于 2011-11-16T10:27:49.807 回答
0

我没有找到比上面提到的更好的解决方案:重启 iPhone。似乎有一个连接到 Xcode 调试器的守护程序没有被正确杀死。

你可以避免这种行为总是通过 Xcode 中的“停止”按钮停止调试会话,并等待应用程序在 iPhone 上自动退出。如果我单击“开始”而不先停止,或者使用 iPhone 的按钮退出,或者类似的东西,我总是必须重新启动。希望能帮助到你

于 2011-08-25T17:44:51.710 回答
0

尝试重新启动计算机时的结果非常有趣。它说,这不是开玩笑,103 个用户在哪里“共享”系统。当我重新启动时,它又恢复到通常的四个(我的所有计算机都通过这台计算机运行 Time Machine 的东西)。我通过简单地设置一个监控该活动的应用程序来解决这个问题,并且不允许其他用户在未经我许可的情况下“共享”我的计算机。它的作用是在每次有人想要访问时创建一个窗口,我必须在他们进入之前按“批准”。在我进行以下更改之前,这无法正常工作。

  • 我确保当有人停止分享时它会告诉我。每当 Xcode 出现这个问题时,我早在它返回错误之前就知道了。

现在这对几乎所有东西都很有用,但在任何类型的游戏中都很烦人。

  • 然后我写了一个脚本来解决这个问题,基本上,清除可能导致问题的Simulator进程。

这个应用程序对开发者来说非常有用,所以我稍微“打磨”一下,然后它就变成了App Store. 当它到达那一点时,我会在这里发布一个链接(它将是免费的)。

于 2012-01-09T03:09:25.073 回答
0

今天晚上我遇到了同样的问题

“无法向引导服务器注册 com.xxx.yyy。错误:未知错误代码。

这通常意味着该进程的另一个实例已经在运行或挂在调试器中。(lldb)"

我解决了

1.只需断开我的设备(对我来说是 iPhone)与 Xcode/Mac 机器的连接

2.重启设备(我的 iPhone)

3.删除以前安装/损坏的应用程序

4.再次连接设备并启动异常

它运作良好

希望这会帮助那里的人。

于 2013-08-30T11:39:16.893 回答
0

这可能是由您的应用程序在后台运行的实例引起的。这个简化的过程对我有用,甚至无需关闭 xCode 或关闭我的计算机。

  1. 关闭模拟器
  2. 停止应用程序在 xCode 中运行。
  3. 打开活动监视器并搜索使用您的App NAME运行的进程
  4. 在活动监视器中终止此进程
  5. 重建你的项目,你应该准备好了

理论上 Pål 的命令行解决方案也应该可以工作。该问题似乎肯定是由在后台运行的应用程序的额外实例引起的。在模拟器或设备上的每次测试后,该应用程序似乎并不总是被正确杀死。当我经常在模拟器和设备之间跳转时,我首先注意到了这一点。

作为一项预防措施,每次测试后总是按 xCode 中的停止按钮是一种很好的做法。

于 2011-11-29T18:09:35.450 回答