无法注册引导服务器


113

我刚刚在程序中更改了一些代码,并收到此错误:

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

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

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

任何帮助,将不胜感激。


完成以上所有操作。我执行了一个单独的程序,该程序工作了。
MadProfit

使用仪器后不久,我遇到了这个问题。我想知道是否相关。
山姆


1
这个问题对我来说经常会出现,当我在安装过程中在应用程序中调用didFinishLaunching ...之前强制取消安装过程时,几乎总是会发生此问题。几年以来,我一直尝试不中断安装,直到安装到此为止,因为它通常会导致上述问题。Xcode从3升级到4,以及最新的iOS版本或新的调试器在这里没有什么不同。
强尼

Answers:


116

通过拔出iPad的电源,关闭并重新启动它的电源,清除所有XCode缓存和目标并进行干净的构建,我能够从中恢复过来。我正在运行XCode 3.5.4和iOS 4.2.1,希望这对某人有帮助。-麦克风

更新:运行Xcode 4.3和iOS5时遇到相同的问题-只是重启设备电源。


2
在尝试了所有其他方法之后,重新启动设备对我来说是有用的。
noodl_es

仅在重启设备后为我的iPhone 4工作。(与noodl_es相同)。我们是否可以假定“引导服务器”位于设备上,而解决问题的“简单”方法就是重启设备?
强尼

6
@Sam-是的,我认为有些虚假的流程没有得到很好的清理。至于MadProfit,我希望能成为他的第一个被接受的答案而感到怀疑:)
Rayfleck 2011年

25

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

这是杀死所有人的一线客:

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

或更简洁,例如@brianegge作为评论提及:

killall -9 Simulator

我将这条线逐字粘贴在Terminal中,它不会运行
barfoon 2011年

2
@barfoon有什么错误?什么操作系统?如果您没有运行模拟器,那么您将获得kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
帕尔Brattberg

@barfoon-可能是因为您没有任何模拟器进程。如果您评估“ kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...或kill -l [sigspec]”,则不会得到任何结果,因此“ kill -9 {empty}”将返回错误:杀死:用法:杀死[-s sigspec | -n signum | -sigspec] pid | jobspec ...或kill -l [sigspec]
Aneil Mallavarapu 2011年

较短的行是killall -9 Simulator
brianegge 2012年

1
您也可以尝试使用“活动监视器”杀死所有想要的进程,该进程在那里都可见。只需在Spotlight中键入“活动监视器”即可。希望有帮助。
iphonic

15

我的解决方案是重新启动ipad,稍等片刻,然后重试。


14

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

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

打开终端并运行以下命令:ps -Ael | grep Z。如果您得到两个条目,一个为((clang)),另一个为您的应用程序或公司名称,则说明已准备就绪-重新启动。

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


11

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

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

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

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

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


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应用程序时,崩溃有时可能导致无法启动Bugger。相反,Xcode会产生此错误:

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

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

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

回归:

注意: 很多人都遇到了这个问题: iPhone-在模拟器上进行测试时出现奇怪的错误, 无法 在Xcode IPHONE中 向bootstrap Server Bootstrap Server错误注册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]);       

4

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


有趣的解决方法。我在iPad模拟器上遇到这个烦人的问题。我将设备目标更改为真实设备,关闭了iPad模拟器,然后在模拟器上重新运行该应用程序,它开始运行。
托马斯·沙漠

2

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



2

总结一下。

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

但是,如果它是“僵尸”进程,则仅重新启动即可解决您的问题。

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

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

不幸的是,没有“成就伟大的捷径” ... ;-)


1

我认为这是我解决此“奇怪”错误的方式:

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

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


4
那不是解决问题的方法,而是使其重新编译的一种方法。解决该问题将不会得到此错误,或者是无需重新启动计算机即可摆脱该错误的方法...
Javier Soto

1

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


1

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

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

希望这可以帮助。


0

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


0

我没有找到比上述更好的解决方案:重新启动iPhone。似乎有一个守护程序连接到Xcode调试器时未正确终止。

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


0

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



0

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

  1. 关闭模拟器
  2. 停止应用程序在xCode中运行。
  3. 打开活动监视器,并搜索使用您的“ 应用程序名称” 运行进程
  4. 在活动监视器中终止此过程
  5. 重建项目,一切准备就绪

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

作为预防措施,在每次测试后始终按xCode中的停止按钮是一种好习惯。


0

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

  • 我确定它会告诉我何时停止共享。每当Xcode遇到此问题时,我就知道它早于返回错误。

现在,这几乎适用于所有事物,但是在任何形式的游戏中都会令人讨厌。

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

该应用程序对开发人员将非常有用,因此我将它“抛光”了一下,然后就可以使用了App Store。当达到这一点时,我将在此处发布一个链接(它是免费的)。


0

好的,我有一个解决硬件问题的方法,它不涉及重启手机。我认为这也可以在模拟器上运行,但是我还没有尝试过。

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

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


请注意,这再次发生在我身上,并且我的解决方法起作用了。我认为这很可靠!
杰森·哈里斯

自发布原始解决方法以来,我已经尝试了很多次,并且对我有效。肯定会有更多输入!
杰森·哈里斯

0

今天晚上我有同样的问题说

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

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

我解决了

1. 只需从Xcode / Mac机器上断开我的设备(对我而言,它的iPhone)即可

2. 重新启动设备(我的iPhone)

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

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

效果很好

希望这对那里的人有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.