Не вдалося зареєструвати сервер завантаження


113

Я просто змінив код у своїй програмі і отримав цю помилку:

Не вдалося зареєструвати com.yourcompany.XXX на сервері завантаження. Помилка: невідомий код помилки.

Це, як правило, означає, що інший екземпляр цього процесу вже запущений або висів у відладчику. Програма отримала сигнал: "SIGABRT".

Я спробував відновити свою програму до версії, яка працювала, перезавантажувалась, перезавантажувалась, порожні кеші та перебудовувалась на версії, які навіть працювали раніше.

Будь-яка допомога буде вдячна.


Зробивши все вищесказане. Я виконав окрему програму, і ця програма працювала .... ???
MadProfit

У мене виникло це питання незабаром після використання інструментів. Цікаво, чи це пов’язано.
Сем


1
Ця проблема часто виникає для мене, і це майже завжди трапляється, коли я в середині інсталяції насильно скасовує процес установки, перш ніж в додатку викликається didFinishLaunching ... З кількох років я намагаюся ніколи не порушувати інсталяцію, поки не досяг цієї точки, тому що це часто викликає вищевказану проблему. Перенесення Xcode від 3 до 4 та найновіші версії iOS або новий налагоджувач тут не змінилися.
Джоні

Відповіді:


116

Мені вдалося відновитись після цього, відключивши iPad, включивши його та створивши резервну копію, очистивши всі кеші та цілі XCode та зробивши чисту збірку. Я використовую XCode 3.5.4 та iOS 4.2.1 Сподіваюся, що це комусь допоможе. -Майк

ОНОВЛЕННЯ: та сама проблема із запуском Xcode 4.3 та iOS5 - просто живлення циклу на пристрої.


2
Перезавантаження пристрою було для мене тим, що я спробував все інше.
noodl_es

Працював для мого iPhone 4 лише після перезавантаження пристрою. (те саме, що noodl_es). Чи можемо ми припустити, що «сервер завантаження» - це щось, що знаходиться на пристрої, і «простий» спосіб усунення проблем - це, таким чином, перезавантажити пристрій?
Jonny

6
@Sam - так, я думаю, є помилкові процеси, які недостатньо очищені. Щодо MadProfit, я сподівався на сумнівну честь бути його першою прийнятою відповіддю :)
Rayfleck

25

Ви можете побажати killвсім Simulatorпроцесам, які також можуть спричинити цю помилку.

Ось один вкладиш, щоб вбити їх усіх:

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

Або більш стисло, як @brianegge згадує як коментар:

killall -9 Simulator

Я вставив цей рядок у термінальному дословно, і він не запуститься
barfoon

2
Яка помилка @barfoon? Яка ОС? Якщо у вас не працює Simulator, ви просто отримаєте kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec].
Пел Браттберг

@barfoon - напевно, тому, що у вас немає процесів імітації. Якщо ви оціните "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... або kill -l [sigspec]", ви не отримаєте результату, тому "kill -9 {empty}" повертає помилку: убивати: використання: убивати [-s sigspec | -n signum | -sigspec] pid | jobspec ... або вбий -l [sigspec]
Аней Маллаварапу

Коротша лінія будеkillall -9 Simulator
brianegge

1
Ви також можете спробувати Монітор діяльності, щоб вбити весь процес, який ви хочете, його всі видимі там. Просто введіть Монітор активності в центрі уваги. Сподіваюся, що це допоможе.
iphonic

15

Моє рішення було перезапустити ipad, почекати деякий час і спробувати ще раз.


14

Якщо ви отримаєте повірку під час використання тренажера, подивіться на цю тему: Дивна помилка при тестуванні симулятора

Ви можете виявити цей тест, що цікавить, оскільки він скаже вам якнайшвидше, якщо єдине рішення - перезавантажити зараз чи ні:

Відкрити термінал і виконайте наступну команду: ps -Ael | grep Z. Якщо ви отримаєте дві записи, одну "(clang)", а іншу назву програми або компанії, вам потрібно ввести перезавантаження.

Якщо ви розробник, введіть коротку помилку та скажіть Apple, як абсолютно дратує перезавантаження, і згадайте, що вони можуть копіювати цю помилку на "rdar: // 10401934".


11

Я отримав ту ж проблему, запустивши додаток на iPhone від Xcode. Повідомлення, яке я отримував, було таким же, як і вище:

Не вдалося зареєструвати xxx.com.company.appname на сервері завантаження. Це, як правило, означає, що інший екземпляр цього процесу вже запущений або висів у відладчику.

Я намагався вирішити проблему в цьому порядку, і все це не вдалося:

  • змусити вийти з програми на iPhone
  • змусити вийти, а потім видалити додаток iPhone
  • відкриття та закриття проекту
  • прибирання проекту
  • перезапуск XCode

Врешті-решт я перезавантажив iPhone, і проблема пішла, і це змушує мене думати, що джерелом проблеми є висячий процес, який Xcode не може або не вбиває. Якщо я зможу відтворити саме те, що робив під час моєї сесії налагодження, щоб отримати цей дивний стан, я додам тут ще одну замітку.


5

Я відкрив звіт про помилку з Apple: https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66

Будь ласка, дайте мені знати, якщо ви не можете отримати доступ до нього.

Короткий зміст: Відладчик XCode не випускає порт сервера завантажувача

Крок до відтворення: Під час налагодження додатка iPhone iOS5 в тренажері в Xcode 4.2 Build 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" нічого не повертає) не допомагає проблемі.

Запуск "starttl 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

Найпростіший спосіб змінити ім'я цілі, Remembert змінити його наступного дня після перезавантаження.


Це дійсно найпростіший спосіб. Не потрібно перезавантажувати. Дякую!
pgpb.padilla

2

Підсумовуючи все це.

Іноді допомагає kill -9 (ідентифікатор процесу) .
Іноді (як було зазначено) startctl список | grep UIKitApplication | grep "(назва вашої програми / ідентифікатор)" | awk '{print $ 3}' | xargs launchctl видалити твори.

Але якщо це "зомбі" процес, лише перезапуск вирішить вашу проблему.

Тимчасове рішення - просто змінити ідентифікатор (IOS Application Target, Tab Summary) на щось інше (наприклад, "com.mycompany1.myapp" з "com.mycompany.myapp"), але не забудьте змінити його назад після перезавантаження та перед вами подайте його.

(звичайно, це створить ще один додаток на тренажері, але, мабуть, це найменше ваших проблем ....)

На жаль, не існує "простого шляху до величі" ... ;-)


1

Ось як я думаю, що я вирішив цю "дивну" помилку:

Не вдалося зареєструвати com.yourcompany.XXX на сервері завантаження. Помилка: невідомий код помилки. Це, як правило, означає, що інший екземпляр цього процесу вже запущений або висів у відладчику. Програма отримала сигнал: "SIGABRT".

(1) Очистіть усі кеші, цілі, заголовки як на Xcode, так і на тренажері. (2) Перезавантажте свій iPhone, коли він не підключений до комп'ютера, і переконайтеся, що на вашому iPhone не залишилося версій програми, що викликали проблеми. (3) Відновіть будь-яку попередню версію вашої програми, яка, на вашу думку, абсолютно працювала в один момент часу. (4) Вимкніть комп'ютер / ноутбук. (Мені потрібно було це зробити 4 рази.) Не має для мене сенсу. (5) Перезавантажте машину та спробуйте запустити іншу програму, щоб побачити, чи все-таки ви отримаєте помилку. Якщо ви не отримаєте помилку в іншій програмі. (6) Скомпілюйте програму, яка дала вам помилку: (1) Спочатку з попередньою версією, яка працювала. А потім - версія, яка дала вам помилку. Звичайно, вам може знадобитися поетапне додавання коду, щоб переконатися, що ви знаєте, який код спричинив помилку.


4
Це не рішення проблеми, це спосіб змусити її знову складати. Вирішити проблему було б не отримання цієї помилки чи спосіб її усунення без необхідності перезавантаження комп'ютера ...
Хав'єр Сото

1

Це сталося зі мною, тому що інша програма поїдала ресурси комп’ютера. Я вийшов з тренажера, вийшов із програми, яка повісила мій комп'ютер, і перезапустив тренажер, і він працював тоді. Помилка означає, що раніше вбитий процес не міг дійти до кінця черги, і він затримує поточну.


1

Для вирішення проблеми було запропоновано багато хороших відповідей.

Я виявив, що я можу відтворити цю помилку, створивши в моєму коді точку перелому, щоб виконання призупинилося. Тоді якщо я натискаю кнопку "Стоп", помилка тепер з’явиться, коли я спробую запустити код ще раз. Відновлення виконання перед натисканням кнопки "Стоп" дозволяє уникнути цього питання.

Сподіваюся, це допомагає.


0

закривши xcode, потім запустивши його, і перезапуск iphone вирішив мою проблему


0

Я не знайшов кращого рішення, ніж було зазначено вище: перезавантажте iPhone. Здається, є демон, який підключається до налагоджувача Xcode, неправильно вбитого.

Ви можете уникнути такої поведінки ЗАВЖДИ, зупиняючи сеанс налагодження за допомогою кнопки «Зупинити» в Xcode та чекати, коли додаток автоматично вийде на iPhone. Мені завжди доводиться перезавантажуватися, якщо натискати кнопку "Пуск", не зупиняючись спочатку, або не виходячи за допомогою кнопки iPhone, або щось подібне. Сподіваюся, це допомагає


0

Я сам зіткнувся з цим питанням саме зараз, оцінюючи AppCode. Я виявив, що XCode якось приєднався до моєї програми, коли я намагався приєднати AppCode до своєї програми. Я просто зупинив налагодження сесії XCode, і він працював так, як очікувалося. Я сподіваюся, що це комусь допоможе.



0

Це може бути викликано екземпляром вашого додатка, який працює у фоновому режимі. Цей спрощений процес працював для мене, навіть не замикаючи xCode чи вимикаючи комп'ютер.

  1. Закрийте тренажер
  2. Зупиніть роботу програми в xCode.
  3. Відкрийте монітор активності та знайдіть процес, що працює з вашим додатком NAME .
  4. Убийте цей процес у "Моніторі діяльності"
  5. Відновіть свій проект, і вам слід все налаштувати

Теоретично рішення командного рядка Пеля також має працювати. Здається, проблема, безумовно, викликана додатковим екземпляром програми, що працює у фоновому режимі. Додаток не завжди вбивається належним чином після кожного тесту в тренажері чи на пристрої. Я вперше помітив це, коли часто стрибав між тренажером та пристроєм.

В якості профілактичного заходу є найкращою практикою завжди натискати кнопку зупинки в xCode після кожного тесту.


0

Дуже цікаві результати при спробі перезавантажити комп’ютер. Сказали, і це не жарт, що 103 користувачі, де "діляться" системою. Коли я перезапустив, він повернувся до звичайних чотирьох (у мене є час роботи машини для всіх моїх комп'ютерів, що проходять через цей комп'ютер). Я зупинив проблему, просто налаштувавши додаток, який слідкує за цією діяльністю, і не дозволяє додатковим користувачам "ділитися" моїм комп'ютером без мого дозволу. Для цього потрібно створити вікно кожного разу, коли хтось хоче отримати доступ, і я повинен натиснути «Підтвердити», перш ніж вони зможуть увійти. Це не спрацювало належним чином, поки я не внесла зміни нижче.

  • Я переконався, що це скаже мені, коли хтось перестане ділитися. Щоразу, коли Xcode має цю проблему, я знаю задовго до того, як вона поверне помилки.

Це зараз корисно майже для всього, але дратує під час будь-яких ігор.

  • Потім я написав сценарій , який зафіксував проблему, в основному, очищаючи Simulatorпроцеси , які можуть можливо викликати проблеми.

Цей додаток буде дуже корисним розробникам, тому я його трохи "відшліфую", а потім вимкнено App Store. Коли я дістанеться до цього моменту, я опублікую тут посилання (це буде безкоштовно).


0

Гаразд, у мене є вирішення проблеми з обладнанням, яке не передбачає перезавантаження телефону. Я припускаю, що це також буде працювати на тренажері, але я його не пробував.

Примушуйте Springboard відновлюватись, змінюючи мову. Налаштування -> Загальні -> Міжнародні -> Мова.

Я просто змінив його на іспанську, зачекав, коли Springboard відновиться, змінив його на англійську, і було добре піти.


Зауважте, що це зі мною щойно трапилося, і моє вирішення спрацювало. Я думаю, що це солідно!
Джейсон Харріс

Я пробував це досить декілька разів з часу публікації оригінального рішення, і це було для мене ефективним. Більше інформації, безумовно, буде корисно!
Джейсон Харріс

0

Цього вечора я отримав те саме питання

"Не вдалося зареєструвати com.xxx.yyy на сервері завантаження. Помилка: невідомий код помилки.

Це, як правило, означає, що інший екземпляр цього процесу вже запущений або вивішений у відладчику. (Lldb) "

і я вирішив

1. Просто відключіть мій Пристрій (для мене його iPhone) від машини Xcode / Mac

2. Перезавантажте пристрій (мій iPhone)

3. Видалено раніше встановлений / пошкоджений додаток

4. Знову підключіть пристрій і почали виняток

Це добре працює

Сподіваюся, це допоможе комусь там.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.