Xcode: не удалось получить задачу для процесса

243

Это для существующего приложения, которое компилируется и распространяется несколько раз. После обновления до Xcode 5 у меня появляется эта ошибка.

  1. Мой профиль разработчика выбран для подписи кода для отладки.
  2. Удаленные производные данные несколько раз.
  3. Выйти несколько раз
  4. Скачал и попытался повторно добавить мои сертификаты разработчиков.
  5. Перезагрузите мой компьютер! И проверил обновления
  6. Пробовал с помощью черной магии!
  7. Схема> Конфигурация сборки установлена ​​на Отладка

Необычные обстоятельства, которые я собираю для компиляции в iOS 6.1, чтобы я мог работать на моем iPhone 3GS - база SDK iOS 7? Может ли это быть проблемой? Мне просто нужно проверить его, прежде чем найти новый телефон, прежде чем менять его на iOS 7.

elliotrock
источник
2
Проверьте свою схему, чтобы убедиться, что вы действительно работаете в режиме отладки.
13
Я забыл упомянуть, что Scheme> Build Configuration имеет значение Debug
elliotrock
Я тоже получаю эту проблему. В Xcode 4.x проблем нет. Все настройки выглядят одинаково. Символы отладки не должны удаляться в «debug», а схема запускает «debug» для «Run». Это мой единственный код, который имеет эту проблему. Я использую push-уведомления и общие цепочки для ключей в этом коде.
DBD
Я собираюсь перестроить проект в xcode5, просто отсортировав материал для
репозитория

Ответы:

490

Эта ошибка обычно появляется, когда вы выбираете специальный профиль обеспечения. Убедитесь, что ваша подпись кода для разработки.

Hasan
источник
2
Я предлагаю вам создать новый профиль обеспечения в центре разработки, который включает ваше устройство. затем загрузите его и используйте. Я уверен, что это сработает.
Хасан
7
Настройки сборки> Профиль обеспечения, установленный на «Нет», работает для отладки на устройстве.
Дэвид Дуглас
7
Кстати, убедитесь, что это сделано в настройках сборки Project и Target (особенно Target имеет наивысший приоритет, так что если вы, как я, потратили 30 минут на изменение проекта, и вы не поняли, что Target был другим, вы будете
выучи
1
В XCode 6 мне пришлось обновить свои профили обеспечения с помощью учетной записи разработчика, чтобы я мог видеть профиль обеспечения Team Team в настройках сборки. Чтобы обновить: XCode> Настройки> Аккаунты> Apple ID> Просмотр сведений> Кнопка «Обновить» внизу.
Калана
1
Иногда это решение не работает, если вы не перезапустите xcode. @ hasan83 это все еще происходит
albanx
90

Эта ошибка возникает, если вы использовали профиль обеспечения распространения для отладки на устройстве.

Перейти к

Build Settings> Provisioning Profileи set to 'None' for Debugging.

Дэвид Дуглас
источник
2
Я думаю, это правильный ответ для большинства людей.
Джон
39

Наконец-то я решил эту проблему, не забывая устанавливать параметры подписи и предоставления кода в обоих проектах и ​​на вкладках назначения ...

ТИМ
источник
6
Ага. Вот и все. Еще 30 минут потрачено впустую благодаря совершенно дебильному пользовательскому интерфейсу Xcode. Спасибо за сохранение там!
n13
Это спасет меня! Спасибо вам большое!
Евгений Клебан
32

Когда ваше устройство подключено к вашему компьютеру с помощью кабеля и вы создаете и запускаете приложение, ваше устройство попытается отладить его. Отладка разрешена только для профилей разработки.

  1. Если вы соберете + запустите с использованием профиля разработки + кода для разработки, все будет хорошо

  2. Если вы создаете + запускаете с помощью профиля распространения AppStore + кода подписи распространения, приложение даже не достигнет вашего устройства. Эта сборка только для загрузки в AppStore

  3. Если вы создаете + запускаете с использованием профиля распределения AdHoc + кода подписи распределения, вы получите ошибку «не удалось получить задачу для процесса ...», но приложение будет установлено на вашем устройстве. Отключите устройство и запустите приложение с вашего устройства. Он работает в среде распространения. Наслаждаться :)

Алекс Христодулу
источник
Я думаю, что для «AdHoc Distribution profile» вам также нужно довериться команде разработчиков ...
Милый
14

ОБНОВИТЬ:

Xcode 5.1, кажется, исправляет выпадающий список, так что теперь он показывает «(бла-бла)» всякий раз, когда два профиля имеют одно и то же имя. Это позволяет вам выбрать правильный. Что намного лучше :)


Укушен этим несколько раз. Xcode5 отображает «Профиль обеспечения» как единое поле, КОТОРОЕ ВСЕГДА НЕПРАВИЛЬНО, и Apple НЕ ДОЛЖНА кодировать свой GUI, как это (ошибка новичка от Apple).

В Xcode5 (нет предыдущей версии) у вас есть два значения «Профиль обеспечения». Это ДОЛЖНО БЫТЬ установлено ДО ТОГО, как вы установите «Идентификационные данные подписи кода». Очевидно, что поскольку он должен быть установлен ПЕРВЫМ ... Apple поместила его ВТОРОЕ в списке, 3 пункта ниже того, что должно быть установлено "до".

(бонусные очки за ужасный дизайн GUI там ...)

Он также не работает: если у вас есть два профиля обеспечения для одного и того же имени, Xcode5 позволит вам выбрать только один из них. Чтобы обойти это, вам нужно использовать iPhone Configuration Utility, чтобы найти нужный профиль, найти 30-значный «идентификатор профиля» и скопировать / вставить его в значение «Other» в раскрывающемся списке «Provisioning Profile».

В вашем профиле инициализации ДОЛЖНО быть значение «Отладка» и другое значение «Выпуск» (если вы не создадите собственный мега-профиль вручную, Apple хранит их отдельно).

В профиле отладки часто описывается ошибка с одинаковым именем, описанная выше - большинство людей будут использовать автоматически сгенерированный профиль обеспечения команды Apple, который Apple неправильно всегда называет одинаковым для всех целей во всех проектах. (еще одна ошибка в Xcode5).

После того, как вы установите оба значения, ваше поле «Идентификация подписи кода» наконец начнет работать правильно. На самом деле, это работает хорошо: в большинстве предыдущих версий Xcode это поле было разбито, и «автоматический» выбор работал редко. В Xcode5 он может использовать ТОЛЬКО значения для подписи кода, найденные в профиле обеспечения, который вы предварительно выбрали, и, таким образом, он кажется правильным 100% времени.

(то есть вы можете безопасно установить «Автоматически». В предыдущих версиях XCode Xcode часто «Автоматически» использовал профиль распределения для сборки разработчика, и наоборот, вызывая множество проблем)

Адам
источник
NB, использующий v.3.3 XCode, и он все еще иногда выбирает неправильный профиль обеспечения, когда установлен на «Автоматический», приводя к этой ошибке.
Эш
12

Основываясь на моем текущем поиске, ошибка «Не удалось получить задачу для процесса» в xcode 5 может произойти по нескольким причинам:

  1. Одним из них является то, что мы отлаживаем приложение, которое подписано с помощью специального профиля распределения.
  2. Другая причина состоит в том, что каким-то образом xcode5 не смог найти правильный профиль обеспечения разработки, хотя удостоверение подписи кода имеет там удостоверение подписи разработчика.

Для меня это второй случай, который кажется подходящим и для этого вопроса.

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

нажмите «Исправить проблему», чтобы продолжить, xcode 5 решит проблему. После устранения проблемы профиль обеспечения для отладки снова сбрасывается до «Нет», хотя не уверен, почему xcode сделает это.

windfly2006
источник
Здесь я зацикливаюсь - нажатие кнопки «Исправить проблему» займет около 15 секунд, чтобы поговорить с сервером, а затем собрать приложение, после чего сразу же появится то же самое приглашение для устранения проблемы.
Крис
не уверен, почему так в твоем случае, я просто попробовал то же самое пару дней назад, это снова заработало.
windfly2006
+1 для: отладка приложения, которое подписано с помощью специального профиля распределения. Вот в чем моя проблема.
Джон Эрк
4

Я имел это вопросы , и , как только я установил как CODE_SIGN_IDENTITY и PROVISIONING_PROFILE это все отлично работает,

Обратите внимание, что это изменилось в Xcode 5, предыдущая версия не имела записи для PROVISIONING_PROFILE в настройках сборки

//:configuration = Adhoc
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Обратите внимание, что здесь мне пришлось вручную написать разработчика iphone во второй записи, так как автоматический выбор не работал

//:configuration = Debug
CODE_SIGN_IDENTITY = iPhone Developer: Joe Bloggs (0A0AA00A00)
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer: Joe Bloggs (0A0AA00A00)

//:configuration = Release
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Затем обновить и настройки профиля обеспечения

добавить идентификаторы вашего профиля 0000 только для конфиденциальности

//:configuration = Adhoc 
PROVISIONING_PROFILE = 11111111-1111-1111-1111-111111111111
PROVISIONING_PROFILE[sdk=iphoneos*] = 11111111-1111-1111-1111-111111111111

//:configuration = Debug
PROVISIONING_PROFILE = 00000000-0000-0000-0000-000000000000
PROVISIONING_PROFILE[sdk=iphoneos*] = 00000000-0000-0000-0000-000000000000

//:configuration = Release
PROVISIONING_PROFILE = 22222222-2222-2222-2222-222222222222
PROVISIONING_PROFILE[sdk=iphoneos*] = 22222222-2222-2222-2222-222222222222
Kodejack
источник
4

Попробуйте перезапустить XCode

После установки параметров Provisioning и Code Signing из всех этих предложений, перезапуск стал тем, что, в конечном итоге, позволило ему работать с Provisioning, установленным в none, и Code Signing, установленным для iOS Developer (Automatic)

Фрэнк Инь
источник
4

Это может быть сделано путем предоставления профилей. В моем случае я попытался запустить приложение на своем телефоне, и для профиля обеспечения был задан профиль adhoc (XC Ad Hoc), поэтому возникла ошибка. Мне нужно изменить его на профиль iOS Team, который управляется xcode (чтобы избежать ручной работы с центром разработки).

superarts.org
источник
3

на самом деле, это ваш профиль обеспечения - отладка неверна。

Стивен Ли
источник
2

Ответ hasan83 работал для меня. При подготовке Adhoc возникла эта ошибка, и мое устройство также не было включено в этот файл подготовки. Я установил автомат для инициализации и встроил. Xcode предложила устранить проблему и, таким образом, устранить проблему, загрузив и установив файл обеспечения разработчика.

zeeawan
источник
2

В моем случае это потому, что выбранная схема Run actionуказывает на другую Target, чья Code Signing IdentityустановленаiPhone Ditributor

onmyway133
источник
Что за ужасно неописательное сообщение об ошибке для простого вопроса. Спасла мне кучу времени, спасибо.
jungledev
1

Я не принял ответы выше, потому что была цепочка вопросов, которые мне нужно было решить:

  1. Сторонний SDK не установлен как дистрибутив.
  2. Сторонний SDK не установлен на arm64, что, я думаю, я напрасно решил, чтобы исправить проблему, скомпилированную для arm64.
  3. Необходимо завершить очистку любых старых сертификатов и добавить новые от Apple. Хорошая вещь, чтобы сделать.
  4. Я думаю, что Xcode 5 скрывает сертификаты и профили в настройках, что добавило разочарования.
  5. Затем убедитесь, что в настройках отладки и выпуска выбраны правильные профили обеспечения в настройках сборки.

Как всегда, спасибо людям за помощь.

elliotrock
источник
1

Поэтому после тестирования всех этих опций я считаю правильным то, что теперь вам нужно создать профиль обеспечения для разработки, а не только для распространения. перейдите на панель настроек и в профилях обеспечения нажмите «Создать новый», выберите «Разработка», а затем перейдите к настройкам сборки и установите подпись на автоматическую (это выберет правильное предоставление), что сделало это для меня.

Я бы ожидал, что Apple станет более информативной, когда они сделают такие изменения, как по умолчанию

веселит,

ГРАММ.

samiq
источник
1

Благодаря всей помощи в других ответах, я решил это так:

  • Создан новый, пустой проект
  • Запустил его на устройстве - все работало нормально
  • В старом проекте откройте вкладку «Проект, цели».
  • В Project установите для всех свойств подписи кода то же самое, что и для нового пустого проекта (в моем случае все отключено)
  • В Target сделайте то же самое для своей цели.

На данный момент трудно сказать, какая настройка для какого режима работы, поэтому я только начал с проекта, где все работает.

n13
источник
1

Просто была та же самая проблема - приложение устанавливалось хорошо, но не будет запускаться из Xcode с «запуском процесса: не удалось получить задачу для процесса».

Оказывается, мой сертификат развития истек ночью. Восстановление сертификата и профилей обеспечения решило проблему.

Морское побережье Тибета
источник
1

Эта проблема произошла со мной, потому что я удалил «Конфигурация» в Project => Info.

Чтобы решить эту проблему, перейдите к «Product» => «Scheme» => «Manage Schemes». Отредактируйте активную схему и проверьте, не указывает ли «Конфигурация сборки» какие-либо удаленные конфигурации для каждого процесса (Выполнить, Тестировать и т. Д.).

thijsonline
источник
1

В моем случае Xcode не смог автоматически установить правильный iOS Developer Profile для конфигурации сборки Debug. Я должен был установить это вручную iPhone Developer: My Name (XXXXXX):

Настройки целевой сборки → Подписывание кода → Идентификация подписи кода → Отладка.

Павел Алексеев
источник
1

В моем случае я не могу установить профиль обеспечения 'none', потому что мне нужен профиль обеспечения для push-уведомлений. Поэтому я просто создал еще один профиль обеспечения для разработчика Apple, профиль обеспечения для разработчика iOS (не дистрибутива iOS), привязанный к тому же идентификатору приложения. Затем используйте этот профиль обеспечения для своего приложения на вкладке «Настройки сборки».

Чен Ли Ён
источник