Abrí un informe de error con Apple: https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66
Avísame si no puedes acceder a él.
Resumen: el depurador de XCode no libera el puerto del servidor de arranque
Pasos para reproducir:
mientras se depura una aplicación de iPhone iOS5 en el simulador en Xcode 4.2 Build 4D5163b en Lion 10.7.2, un bloqueo a veces puede resultar en la imposibilidad de iniciar el bugger. En cambio, Xcode produce este error:
No se pudo registrar com.MyApp.MyApp con el servidor de arranque. Error: código de error desconocido. Esto generalmente significa que otra instancia de este proceso ya se estaba ejecutando o está colgada en el depurador. El programa recibió la señal: "SIGABRT".
Resultados esperados:
debería poder iniciar el depurador después de un bloqueo.
Resultados reales:
no se puede iniciar el depurador. La única forma que he descubierto de hacer que el simulador vuelva a funcionar es reiniciar Mac OS.
Regresión:
Notas:
Mucha gente tiene este problema:
iPhone - error extraño al probar en el simulador
No se pudo registrar con el servidor de
arranque Error del
servidor de arranque en Xcode IPHONE https://discussions.apple.com/message/10416765?messageID=10416765
Salir de XCode y el Simulador (y asegurarse de que ps -Al | egrep "Xcode | Simulator" no devuelva nada) no ayuda con el problema.
La ejecución de "launchtl bslist | grep MyApp" revela que com.MyApp todavía está registrado con el servidor de arranque:
$ launchctl bslist | grep MyApp
A com.MyApp.MyApp.UIKit.migserver
A com.MyApp.MyApp
Escribí un código para encontrar el puerto e invalidarlo, pero esto también falla:
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]);