Я открыл сообщение об ошибке в Apple: https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66
Пожалуйста, дайте мне знать, если вы не можете получить к нему доступ.
Резюме: Отладчик XCode неосвобождение порта начальной загрузки
Шаги для воспроизведения: При отладке приложения iPhone iOS5 в симуляторе в Xcode 4.2 Сборка 4D5163b на Lion 10.7.2 иногда может произойти сбой при невозможности запускапедерастВместо этого 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]);