Налагодження iPhone: як вирішити "не вдалося отримати завдання для процесу"?


158

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

Додаток встановлено, але він не запускається. На консолі я бачу таке повідомлення:

Error launching remote program: failed to get the task for process 82.
Error launching remote program: failed to get the task for process 82.
The program being debugged is not being run.
The program being debugged is not being run.

Однак якщо я запускаю програму на пристрої вручну, вона працює як очікувалося. Нещодавно я встановив останню версію XCode 3.2 для Snow Leopard. Це відома помилка цієї версії XCode чи я щось роблю не так?

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


також це може допомогти: перейдіть до Організатора -> Проекти -> DerivedData видаліть та очистіть. Переконайтесь, що всі підписи в Project and Target встановлені послідовно та правильно - це допомогло в моєму випадку ....
user387184

Відповіді:


110

У мене виникли проблеми з налагодженням бінарних файлів на пристрої через XCode, коли додаток включає файл Entitlements.plist, який не потрібно встановлювати на пристрої для налагодження. Загалом, тоді я включив цей файл для складання версій (де він потрібен для App Store) і видалив його для налагодження (тому я можу налагоджувати додаток із XCode). Це може бути тут вашою проблемою.

Оновлення : (. , Наприклад, поширення через App Store) Станом на (принаймні) Документи 2010 року (iPhone 4,1 SDK) Entitlements.plist більше не потрібно включати в додаток у багатьох випадках Див тут для отримання додаткової інформації про випадки , коли Entitlements.plist обов’язковий:

ВАЖЛИВО: Файл прав користування, як правило, потрібен лише під час створення розсилки ad hoc або включення обміну даними Keychain. Якщо жодне з них не відповідає дійсності, видаліть запис у правах підписання коду. (наголос мій)


Ви маєте рацію, я переконався, що в Entitlements.plist справжнє значення get-task-enable булеве значення встановлено на false, яке запобігає налагодженню. Дякую.
Массімо Кафаро

1
FYI, у мене була точно така ж проблема, і це вирішило проблему - ДОПОМОГА файлу прав з встановленням дозволу get-task встановлено ТАК ... так що якщо у вас є та сама проблема, і у вас немає файлу прав, спробуйте додати ...: P
Алекс Зак

Станом на iOS 8.1.3 entitelments.plist необхідний також для програм, підписаних підприємством.
Рой К

289

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


Наскільки мені відомо, я не бачив цієї інформації на порталі програм розробника. Але мій коментар до fbrereto пояснює, чому це так: у нас немає файлу Entitlements.plist ні в налаштуваннях налагодження, ні в конфігураціях випуску.
Массімо Кафаро

5
У мене була така ж проблема, коли я випадково встановив ідентифікацію підпису коду на дистрибутиві iPhone в XCode 4
cpungaliya

1
як переключити профіль на налагодження, якщо я просто натискаю кнопку "Пуск"
spankmaster79

Ще одна з тих маленьких підводних каменів, які Apple поставила для вас. Щойно це сталося після повторної роботи всіх моїх профілів та сертифікатів завдяки портальній помилці ... зітхання. Дякую за інформацію, виправили мою проблему.
n13

Це була відповідь на мою проблему. Не мав нічого робити з правами.
DOOManiac

37

У мене була та сама проблема, але я її вирішив, виконавши наступні прості дії:

  1. Переконайтесь, що ви вибрали налагодження, а не випуск.
  2. У налаштуваннях налагодження в налаштуваннях проекту ви повинні обрати профіль розробника, і не потрібно вказувати філіст прав.
  3. Також такі самі налаштування є під: Targets:, якщо не manuall змінити їх на вище, для налаштування налагодження. Це спрацює.

Всього найкращого.


Причина цього спрацьовувала майже в тому, що ваш конфігурація налагодження встановив get-task-enable в Entitlements.plist, тоді як випуску немає - це зупиняє людей приєднувати налагоджувач до копіювання, яке вони отримують з App Store (див. також відповідь Кая нижче про те, щоб встановити його так, щоб змусити його працювати ..)
dsmudger

Зробив це для мене. Якось збірка була встановлена ​​на «випуск», а профілі випуску не були налаштовані належним чином.
КПК

19

Це знадобило мені час, щоб розібратися.

Якщо ви використовуєте дистрибутив / ad hoc / профіль, ви не можете перевірити його через xcode. Ви отримаєте помилку: Налагоджена програма не запускається.

Ви можете створити додаток, перейти в папку продуктів у вашому додатку в xcode, натиснути на файл із назвою вашого проекту та оберіть розкрити в пошуку. Ви можете перетягнути цю програму в iTunes та синхронізувати, і в цей момент ви можете протестувати додаток на своєму пристрої.


Так, це була моя проблема. У мене не було файлу Entitlements, але я переключив конфігурацію збірки налагодження на профіль розподілу. Перехід на профіль розвитку все виправляв.
vocaro

1
Я б хотів, щоб XCode була більш передовою щодо цього. Зовсім не очевидно, що ви не можете перевірити збірку розподілу на пристрої під час підключення до XCode. Це звичайний випадок використання.
користувач798719

13

Якщо ви отримуєте таку помилку, єдиною причиною може бути те, що ви використовуєте профіль розподілу, а не профіль розробки в Xcode або відсутнє властивість Entitlement. Якщо ви не використовуєте Entitlements.plist, єдиною можливою помилкою може бути додаток, яке пакується з профілем розповсюдження. Ви можете це підтвердити, підтверджуючи журнали збірки. Щоб змінити це, перейдіть до розділу Налаштування проекту та перевірте налаштування суб'єкта підпису коду. Для налагодження роботи цей параметр повинен бути профілем розробника для конфігурації, яку ви зараз використовуєте.

https://developer.apple.com/library/ios/#qa/qa1682/_index.html

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


13

Майже 2 години з цього питання! І нарешті я вирішив це, замінивши

iPhone Developer

до

Розробник iPhone: Назва мого облікового запису Dev

для налагодження CODE_SIGN_IDENTITY:

  1. Виберіть ціль проекту
  2. Налаштування побудови
  3. Пошук за "кодовим знаком"
  4. Змініть рядок налагодження розділу CODE_SIGN_IDENTITY на "Розробник iPhone: Ім'я мого облікового запису Dev" , а не лише на "Розробник iPhone" .

Я не маю уявлення, чому це працює, але це так! Принаймні для мене!


Навколишнє середовище: Xcode 5.0 (5A1412).


це теж працювало для мене, дякую. довелося поспілкуватися з тим, які саме особистість використовувати, але це врешті сподобалось певному комбо. Xcode 6 дійсно потребує функції "автоматичного коректування" для подібних речей, багато ведення домашнього господарства у мене немає часу !!
Джон Контаріно

1
Просто, щоб додати до цього, те, що я робив, було схожим, але різним - я змінив профіль на профіль команди (який використовується для налагодження), який встановив підписник коду на "автоматичний" - у XCode 5+ ви дійсно повинні бути вибираючи профіль для складання і дозволяючи йому вирішувати, який підписувач використовувати на основі цього.
Kendall Helmstetter Gelner

@KendallHelmstetterGelner thx, це може бути корисним для інших! : D
Kjuly

Також слід додати, що я змінив профіль команди для складання "Налагодження", який використовується для запуску на пристрої з XCode (якщо ви не змінюєте параметри схеми)
Kendall Helmstetter Gelner

1
Це вирішило мою проблему з цією проблемою, не роблячи нічого іншого, крім перебудови з іншою особою підпису коду. Дякую! У моєму випадку я використовував спеціальну особу розповсюдження.
Шон Майкл Доріан

12

Перевірте підпис підпису ур. Section: переконайтеся, що підпис коду підписаний на iPhoneDeveloper


Це зробило моє - Чомусь у моїй цілі команда змінилася на "Ніхто" - змінивши її назад, відсортував її. Ура
Ральфару

9

Відкрийте Entitlements.plist і встановіть бульне значення get-task-enable на ТАК - налагоджувач може приєднатися зараз!


Так, я намагався це багато разів і не розумію, чому це не вирішує проблему. це був би найкращий метод, якщо ви все-таки хочете включити testflightapp
Owen Gerig

У мене схема запуску встановлена ​​на налагодження. Тільки це рішення зафіксувало це для мене! Дякую.
Пітер

Дякую, це дійсно допоможіть мені !!
Амір Худані

4

Перейдіть до редагування схем і в розділі Виконати -> Інформація -> Конфігурація збірки, перейдіть з Ad-Hoc на Налагодження. Клацніть OK, щоб зберегти.


1

Можливо, у вас телефон з розробленим терміном дії закінчився.

Мій профіль забезпечення розробки закінчився кілька днів тому, і мені довелося його поновити. Я встановив новий профіль на своєму телефоні і припустив те саме повідомлення про помилку, коли намагався запустити додаток. Переглянувши параметри профілю на своєму телефоні, я помітив прострочений профіль і видалив його. Це очистило помилку для мене.


1

Я отримав цю помилку, коли спробував запустити програму з Xcode, оскільки я зрозумів, що вибрав лише профіль розповсюдження. Збірка пройшла успішно, тому я створив файл .ipa. Я використовував testflightapp.com для запуску програми. Ви можете використовувати iTunes.


1

Як зазначає Buffernet, ви не можете використовувати налагодження профілю розподілу для налагодження. Коли я перейшов до профілю забезпечення розробника, у мене виникла помилка "Дійсний профіль надання даних для цього виконуваного файлу не знайдено".

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

Переконайтеся, що у вас є профіль забезпечення розробника iPhone, і ваш пристрій додано на портал забезпечення!

http://iosdevelopertips.com/xcode/a-valid-provisioning-profile-for-this-executable-was-not-found.html


0

Так, передбачені профілі, призначені для розповсюдження, тобто профілі надання перебоїв не підтримують налагодження і дають цю помилку. Просто створіть і використовуйте профіль забезпечення налагодження (подбайте про це, створюючи профіль надання з облікового запису developer.apple.com).



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