无法注册引导服务器

时间:2010-07-30 21:22:01

标签: xcode ios4 iphone-sdk-3.0 ios5

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

  

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

     

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

我尝试将我的程序恢复到一个可以工作,重新启动,重新启动,空缓存以及在以前工作过的版本上重建的版本。

任何帮助都将不胜感激。

21 个答案:

答案 0 :(得分:115)

我能够通过拔掉iPad,断电并备份,清除所有XCode缓存和目标以及进行干净的构建来从中恢复。 我正在运行XCode 3.5.4和iOS 4.2.1 希望这有助于某人。 -Mike

更新:  运行Xcode 4.3和iOS5时遇到同样的问题 - 只需关闭设备电源。

答案 1 :(得分:24)

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

这是一个单行杀死所有人:

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

或者更简洁,比如@brianegge提到评论:

killall -9 Simulator

答案 2 :(得分:15)

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

答案 3 :(得分:14)

如果您在使用模拟器时遇到问题,请查看以下主题:Strange Error When Testing Simulator

您可能会发现这个感兴趣的测试,因为它会尽快告诉您是否现在重新启动:

打开终端并运行此命令:ps -Ael | grep Z。如果你得到两个条目,一个是“(clang)”而另一个是你的应用程序或公司名称,那么你就会被重新启动。

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

答案 4 :(得分:11)

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

  

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

我尝试了许多方法来解决问题,按此顺序,所有这些都失败了:

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

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

答案 5 :(得分:5)

我向Apple发布了一个错误报告: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应用程序时,崩溃有时会导致无法启动bugger。相反,Xcode产生了这个错误:

  

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

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

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

<强>回归:

备注: 很多人都有这个问题: iPhone - strange error when testing on simulator Couldn't register with the bootstrap Server Bootstrap Server Error in Xcode IPHONE https://discussions.apple.com/message/10416765?messageID=10416765

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

运行“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]);       

答案 6 :(得分:4)

我遇到了与Xcode 4相同的问题。解决方案是改变方案。 运行设置为Debug, 测试设置为Debug, 配置文件设置为发布, 分析设置为Debug, 存档设置为发布

答案 7 :(得分:2)

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

答案 8 :(得分:2)

总结一下。

有时 kill -9(进程ID)有帮助 有时(如上所述) launchctl list | grep UIKitApplication | grep“(您的应用名称/标识符)”| awk'{print $ 3}'| xargs launchctl remove 有效。

但如果它是一个“僵尸”过程,只有重启才能解决你的问题。

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

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

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

答案 9 :(得分:2)

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

答案 10 :(得分:1)

以下是我认为我解决了这个'奇怪'的错误:

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

(1)清除Xcode和模拟器上的所有缓存,目标,标题。 (2)当iPhone未连接到计算机时重新启动iPhone,并确保iPhone上没有任何可以解决问题的程序版本。 (3)恢复您在一个时间点完全工作的程序的任何先前版本。 (4)关闭电脑/笔记本电脑。 (我需要做4次。)对我没用。 (5)重新启动计算机并尝试运行其他程序以查看是否仍然出现错误。如果你没有在另一个程序上得到错误。 (6)编译给你错误的程序:(1)首先使用早期版本。然后,给你错误的版本。当然,您可能需要逐步重新添加代码,以确保您知道导致错误的代码。

答案 11 :(得分:1)

为解决问题提供了很多好的答案。

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

希望这有帮助。

答案 12 :(得分:1)

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

重新启动设备应解决问题。请参阅有关模拟器的类似问题:iPhone - strange error when testing on simulator

答案 15 :(得分:0)

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

  1. 关闭模拟器
  2. 停止在xCode中运行应用。
  3. 打开活动监控,并使用应用名称搜索正在运行的流程。
  4. 在“活动监视器”
  5. 中终止此过程
  6. 重建您的项目,您应该全部设置
  7. 理论上,Pål的命令行解决方案也应该有效。问题肯定是由在后台运行的应用程序的额外实例引起的。在模拟器或设备上进行每次测试后,应用程序似乎并不总是被正确杀死。我经常在模拟器和设备之间跳跃时注意到这一点。

    作为预防措施,最好在每次测试后始终按下xCode中的停止按钮。

答案 16 :(得分:0)

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

您可以避免此行为始终通过Xcode中的“停止”按钮停止调试会话,并等待应用程序在iPhone上自动退出。如果我点击“开始”而不先停止,或者使用iPhone的按钮退出,或类似的东西,我总是要重新启动。希望它有所帮助

答案 17 :(得分:0)

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

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

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

  • 然后我编写了一个脚本来修复问题,基本上是清除可能可能导致问题的Simulator进程。

这个应用程序对开发人员非常有用,所以我对它进行了“抛光”,然后将其关闭到App Store。当它到达那一点时,我会在这里发布一个链接(它将是免费的)。

答案 18 :(得分:0)

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

答案 19 :(得分:0)

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

通过更改语言强制Springboard重新启动。设置 - &gt;一般 - &gt;国际 - &gt;语言。

我刚刚将其改为西班牙语,等待Springboard重新启动,将其改回英语,并且很高兴。

答案 20 :(得分:0)

今晚我有同样的问题说

  

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

     

这通常意味着此过程的另一个实例已经存在   在调试器中运行或挂起。(lldb)“

我解决了

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

2. 重启设备(我的iPhone)

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

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

效果很好

希望这会帮助那里的人。