Действительный профиль обеспечения для этого исполняемого файла не найден для режима отладки

239

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

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

Кстати, работает профиль предоставления adhoc.

Я провел весь день, чтобы найти решение, но ничего. У кого-нибудь есть решение?

xenep
источник
2
Apple предоставляет подробные инструкции на портале обеспечения: сертификаты , профиль обеспечения
Casebash
Как ни странно, я вижу эту ошибку только в консоли Xcode Organizer, но приложение все еще устанавливается и работает без проблем. Я строю со специальным профилем и профилем распространения магазина приложений. Может быть, вы жалуетесь на специальный профиль, но работаете с профилем распространения магазина приложений?
Больше
Я следовал этому уроку, и это сработало для меня! Надеюсь, поможет. youtube.com/watch?v=dUdHifLTyrE
матиаслезин 12.12.12
Я была такая же проблема. Устройство не было добавлено в профиль обеспечения, и это было причиной.
Келин
1
Если вы получили это сообщение через неделю после того, как приложение заработало, и используете бесплатную учетную запись разработчика, вам нужно переустановить
Ryan Haining

Ответы:

186

Это может быть связано с тем, что ваш iphone не распознается порталом инициализации.

Решение:

1) В Xcode, Goto -> Build -> очистить все цели.

2) В «Группы и файлы» -> Цель -> разверните его -> щелкните правой кнопкой мыши свое приложение и выберите Очистить «ваше приложение»

3) Перейти -> Окно -> Органайзер

4) На вкладке «Устройства» слева выберите свой iphone.

5) В разделе Provisioning выбранного iphone удалите все текущие профили (если есть)

6) Отключите ваш iPhone и подключите его снова.

7) Перейдите-> Окно -> Органайзер -> щелкните правой кнопкой мыши на вашем iPhone -> Добавить устройство на портал инициализации

8) Теперь убедитесь, что вы выбрали соответствующий идентификатор подписи кода в настройках редактирования проекта -> Сборка -> Подписание кода

Сборка и запуск. Удачи!

samdeV
источник
7
не обязательно. Я выполнил все шаги, которые вы упомянули, и мое устройство уже занесено в список на портале инициализации, и я все еще получаю эту ошибку.
Nate
35
Это сейчас устарело. В Xcode 4.3+ перейдите в «Органайзер»> выберите устройство> нажмите «Добавить в портал» внизу экрана, и все готово! Если вы неправильно введете свой пароль при первом запросе Xcode Organizer, он все равно установит устройство, но без действительного сертификата. Обновление профилей обеспечения в разделе «Библиотека» не влияет на связанный сертификат устройства. Вуаля!
pchap10k
1
Я не думал, что это сработает, но полностью сработало. Спасибо! сэкономил мне много часов головной боли. :) Кстати, я использую Xcode 4.5.
Мона
1
При «добавлении в портал обеспечения» я получил сообщение об ошибке, в котором мне нужно было принять новое соглашение на веб-сайте developer.apple.com, сначала это было сделано с помощью веб-браузера, а затем это сработало. Спасибо!
Хаа
11
Путь устарел. Это совершенно по-другому в xCode 6 ... пожалуйста, обновите свой ответ.
Stevebot
45

В Xcode 10 я решил эту проблему, переключив систему сборки проекта с «новой системы сборки» на «устаревшую систему сборки» («Файл» -> «Настройки проекта»).

че
источник
5
Первоначальный вопрос: «Я провел весь день, чтобы найти решение, но ничего. У кого-нибудь есть решение?» в связи с ошибкой «допустимый профиль обеспечения для этого исполняемого файла не найден для режима отладки». Изменение системы сборки в новой версии XCode решает проблему. Существует много решений для различных ситуаций, когда это происходит.
Че
3
@ user191712 Проигнорируйте модераторов подражателя. Ваш ответ спас меня от долгих часов кроличьих отверстий, не связанных с ошибкой. Спасибо!
Ремондо
Я забыл проверить эту конфигурацию ... 🤦‍♂️ спасибо, чувак!
Цесарак
Огромное спасибо. Это сработало для меня без потери времени!
Дениз
1
По какой-то причине я до сих пор не понимаю, это была моя проблема с cordova-ios@4.5.4проектом и XCode 10.0.
Żabojad
41

У меня такая же проблема. Все было хорошо: устройство было зарегистрировано на IOS Provisioning Portal; сертификат был загружен, и профили обеспечения разработки для моего приложения были загружены.

Так что решение !!!

Цель> Получить информацию

Выберите «Конфигурация для освобождения» (вот дьявол). В подписи кода проверяется идентификация подписи кода для iPhone Developer. Близко.

В Target выберите Clean Target, а затем запустите приложение.

Удачи.

Рафаэль
источник
67
Где эта цель-> получить информацию?
Септиади Агус
1
Я видел, что могу установить идентификацию подписи кода devloper в настройках сборки.
Септиади Агус
2
Нет скриншота для "Target-> Get Info"? Не могу найти это.
GusOst
1
@Rafael Что такое Target-> Get Info?
Skywinder
1
Пожалуйста, объясните, что такое "Target> Get Info".
битопсы
28

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

Удаление сертификата iPhone Developer из моих сертификатов и сертификатов, а затем загрузка последнего из центра разработки и его установка (двойной щелчок по файлу .cer)

разобрался с моей проблемой

danmux
источник
Была такая же проблема. Несколько Dev сертификатов на мое имя. Это исправило это.
Эктор Рамос
2
да, это исправило наше. нажмите на Target> Build Settings> подписывание кода> debug> нажмите на выпадающий список для IPHONE DVELOPER> и не выбирайте автоматический выбор, попробуйте каждый из других идентификаторов разработчика, прикрепленных к другой команде * PP
brian.clear
1
это должен быть правильный ответ ... это имеет смысл, поскольку устройство не добавлено в фактический профиль обеспечения ....
Calleth 'Zion'
если вы попытаетесь запустить с профилем подписи кода, к которому не добавлено текущее устройство, вы получите точно такую же ошибку (например, это может произойти при переходе от отладки к выпуску)
kritzikratzi
1
@ChrisConway Да, но отмеченный ответ не объясняет причину проблемы ... он просто выполняет целые процессы, не зная, почему;)
Calleth 'Zion'
18

Наконец-то я смог решить проблему. Один из моих коллег отозвал сертификат разработчика на iOS Provisioning Portal для своих тестовых приложений. для крепления; Я удалил существующий сертификат разработчика в своей цепочке для ключей, запросил новый сертификат с существующим закрытым ключом, отозвал сертификат у портала обеспечения и представил новый запрошенный сертификат. Затем я скачал и установил его.

Теперь я могу отлаживать свое приложение на моем устройстве :)

xenep
источник
Одной из причин может быть то, что ваш "project => Build Settings => Signing => Team Development" отличается от вашей "target => Build Settings => Signing => Team Development", просто сделайте их одинаковыми
Halt
16

Это застало меня врасплох, потому что кто-то изменил настройку «Выполнить» конфигурации «Выполнить» на «Выпуск» (в разделе «Продукт»> «Изменить схему ..»> «Выполнить * .app»).

Обычно это значение «Отладка», и, следовательно, он НЕ использовал сертификат разработчика и профиль обеспечения, как я ожидал, вместо этого он использовал сертификаты распространения.

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

Mon Sep  5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012

Затем я погуглил "0xe8008012" и получил следующую страницу, которая указывает на ошибку "0xE8008012 - UUID устройства не соответствует ни одному в загружаемом профиле обеспечения".

MobileInstallation

Оливер Пирмейн
источник
Вы спасли жизнь сегодня! Спасибо.
Охан Окбай
15
  • Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing: Убедитесь, что для Debug и Any iOS SDK установлено iPhone Development

  • Xcode -> Product -> Scheme -> Edit Scheme: Убедитесь, что для Build Configuration установлено значение Debug .

Бадр
источник
это не для распространения.
любопытно
Для пояснения я бы добавил, что вы должны установить конфигурацию сборки на Debug для Run(и обычно для Testи Analyzeтакже). Archiveкак правило, должен быть Release , иначе ваш дистрибутив будет испорчен.
Арон
13

В моем случае эта проблема возникла из-за того, что для модульных тестов был выбран другой профиль обеспечения. Просто мне понадобилось несколько часов, чтобы найти это ...

leMale
источник
@IeMale Вы спасли мой день!
stavros.zavrakas
13

У меня была такая же проблема с Xcode 10.0 beta 5 (10L221o) и устройством под управлением iOS 12.0 (16A5345f) - это тоже бета.

После установки приложения появилось предупреждение «Ошибка установки приложения»: «Не найден действительный профиль обеспечения для этого исполняемого файла».

Я избавился от этого, перейдя по ссылке: ~/Library/MobileDevice/Provisioning Profilesи найдя сертификат, который Xcode пытался использовать. Затем в окне «Устройства и симуляторы» в XCode я щелкнул правой кнопкой мыши на своем устройстве, выбрал «Показать профили инициализации» и с помощью кнопки «плюс» добавил профиль инициализации на устройство.

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

karolszafranski
источник
У меня была такая же проблема и эта работа для меня. Спасибо.
Пэт
10

С Xcode 6 и новым устройством:

  1. Нажмите cmd + shift + 2, чтобы открыть устройства. добавить устройство в xcode
  2. Нажмите кнопку «зарегистрировать устройство». Если такой кнопки нет (как на скриншоте), перейдите на developer.apple.com и добавьте ее вручную. Скопируйте Идентификатор в поле. добавить устройство на портал
  3. Зайдите в Xcode -> Настройки -> Учетные записи -> Двойной клик по вашей учетной записи -> Нажмите маленькую кнопку обновления в левом нижнем углу, чтобы обновить профили обновить профили
  4. Перейдите в раздел «Подписание кода» и установите новые профили. установить профили
zeiteisen
источник
Не забудьте установить Provisioning Profileавтоматический или конкретный профиль, если вы знаете, какой это, иначе xCodeбудет обрабатывать выбор правильного профиля.
Алекс Чио
В моем случае мне нужно было подтвердить принятие тех же устройств на новый год лицензии разработчика, затем удалить профили инициализации и загрузить их снова.
Дмитрий
7

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

Винод Джоши
источник
6

Если у вас правильно установлен сертификат разработки и распространения:

Под Project ваша основная подпись кода должна быть профилем разработчика для этого приложения.

В разделе «Задачи» основным идентификатором подписи кода должен быть профиль распространения для этого приложения, за исключением того, что вы должны изменить «Отладка»> «Любой iOS SDK» на свой профиль разработки ... и убедиться, что «Выпуск»> «Любой iOS SDK» является вашим профилем распространения. Это должно создать и запустить на вашем подготовленном телефоне и архивировать без каких-либо предупреждений о кодах.

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

М Джесси
источник
6

Это решение сработало для меня

  1. Зайдите в Xcode -> Настройки -> Аккаунт.
  2. В разделе профилей обеспечения щелкните правой кнопкой мыши и откройте в Finder.
  3. Удалите все профили обеспечения из папки профиля обеспечения.
  4. Наконец, вернитесь к Xcode и нажмите кнопку обновления.

Надеюсь, это поможет!

SE
источник
дополнительная информация, это касается только текущего проекта, вам нужно только удалить соответствующий файл обеспечения, он должен иметь то же имя, что и имя вашего проекта.
Бхимбим
4

У меня такая же проблема. что я сделал: 1. очистить цель 2. выйти из xcode 3. перезапустить xcode 4. перестроить.
и это сработало.

Emmy
источник
Тоже самое. Перезагрузка была все, что мне было нужно.
Рошамбо
3

Другая причина (подтверждено):

  1. Apple имеет серьезную ошибку в XCode, возвращающуюся к версии 3.x, где она волшебным образом перезаписывает связку ключей OS X с помощью поддельной связки ключей изнутри XCode, переустанавливая сертификаты (и закрытые ключи!), Которые вы уже удалили

  2. ... так что, если у вас установлен «новый сертификат» и ничего больше, Xcode иногда попадает в бесконечный цикл, где он также будет продолжать устанавливать «старый сертификат» (которого нет нигде, кроме как внутри XCode!).

  3. ... и из-за ДРУГОЙ ошибки в XCode (нефиксированной уже более 3 лет ...), XCode иногда автоматически выбирает "самый старый сертификат, который я могу найти" (который по определению неверен - я думаю, что кто-то в Apple смешал между "самым старым" и "самым новым" :()

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

Решение: вам нужно отключить FUBAR Xcode FUBAR вашего брелка.

Это сложнее, чем кажется (есть несколько сообщений SO на эту тему) - это включает в себя несколько перезагрузок вашего компьютера, каждый раз удаляя ключ.

В конце концов, Xcode разочаровывается в повреждении вашей ОС и принимает реальность, с которой вы представляете ее :).

Адам
источник
Хорошо - после бесчисленных часов чтения форумов, помощи Apple и возни, я должен согласиться: XCode является виновником
AlexVPerl
3

В моем случае допустимый файл инициализации - потому что я не добавил устройство в сам файл инициализации.

BabyPanda
источник
3

Изменив профиль обеспечения на автоматический, затем запустив Xcode, предложили «исправить» проблему. Затем я вернулся к своему первоначальному профилю обеспечения, и все работало нормально.

Эпический Байт
источник
3

Была такая же проблема. Мое решение было очень простым. Я проверил, есть ли у меня UDID моего устройства на developer.apple.com, и он отсутствовал. После того, как я его добавил, он начинает работать. Очень раздражает, что разработчики Apple выдают ошибку «Не найден действительный профиль обеспечения для этого исполняемого файла» вместо «UDID не найден». На самом деле я упомянул об этом первым в XCode 6 ...

Дмитрий Калачнюк
источник
2

В моем случае это была проблема, когда я вручную настраивал время на два месяца раньше на своем iPhone. Но когда я автоматически установил время, все заработало нормально.

Setting-> General->Date & Time ->set time automatically

Если это не работает, установите время автоматически для Mac и iPhone, будет работать нормально.

Xcodian Solangi
источник
1

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

Вайбхав Текам
источник
1

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

1) Добавьте устройство в центр разработчиков. В XCode 5 вы все еще найдете кнопку «Добавить в центр участников» в окне «Органайзер». В XCode 6 я предлагаю скопировать идентификатор устройства и вручную добавить его в раздел устройств вашего центра участников.

2) Отредактируйте профиль обеспечения, который вы используете, чтобы включить устройство, которое вы только что добавили. Сохраняйте и синхронизируйте профили обеспечения из XCode.

Чисто, и оно включено.

Dodgson86
источник
1

Одной из причин может быть то, что ваш "project => Build Settings => Signing => Team Development" отличается от вашей "target => Build Settings => Signing => Team Development", просто сделайте их одинаковыми

стой
источник
0

У меня был сертификат, срок действия которого истек (что привело к ошибке).
Шаг 1. Перейдите на сайт developer.apple.com, войдите в систему и перейдите на портал обеспечения IOS

Шаг 2. Перейдите к сертификатам (которые теперь пусты) и следуйте инструкциям, приведенным в списке, чтобы создать новый сертификат (откройте брелок на вашем компьютере, создайте запрос на подпись, сохраните его на диск, загрузите его в apple)

Шаг 3. Загрузите и установите файлы, созданные Apple, в свою цепочку для ключей

Шаг 4. Проблема: все ваши предыдущие профили инициализации были связаны с вашим OLD-сертификатом, поэтому вам нужно вернуться на developer.apple.com-> IOS Обеспечение портала-> профили инициализации и «изменить» каждый интересующий вас профиль. Вы увидите, что ваша личность больше не связана с профилем, поэтому просто установите флажок

Шаг 5. Загрузите все профили, которые вы изменили

Шаг 6. Подключите телефон к сети и перетащите файл .mobileprovision на значок xcode на панели док-станции, чтобы установить их на устройство.

user353877
источник
0

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

В Организаторе профиль предупредил, что «XCode не может найти действительную пару секретный ключ / сертификат для этого профиля в вашей цепочке для ключей», даже если в моей цепочке для ключей существовал старый сертификат.

Решением было удалить старый сертификат из моей цепочки для ключей и удалить / отозвать все профили, которые использовали этот старый сертификат. Затем создайте новый профиль с новым сертификатом и используйте его.

Надеюсь это поможет!

paiego
источник
0

Поднимая приложение с Xcode 3 до 4.3, я обнаружил, что имя пакета и идентификатор пакета должны быть установлены в соответствии с AppId. Если ничего не помогает, крутите.

пчелка
источник
0

Я столкнулся с той же проблемой, могут быть и другие причины:

While testing i set my date to some future date and profile got expired. As result this issue was generated.

But i solved by setting date of iphone to current date as a result profile was not expired. 
Пареш Навадия
источник
0

Я собираю свое приложение в Adobe Air для iOS, а не в Xcode. Я пытался скопировать .ipa, используя iTunes, и получил таинственное сообщение «Ошибка установки приложения». Только когда я использовал утилиту конфигурации iPhone (iCU), я получил реальное сообщение об ошибке.

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

Решением было загрузить сертификат распространения (.cer), дважды щелкнуть, чтобы открыть его в связке ключей, и экспортировать его как P12 из KC напрямую. Затем используйте этот сертификат распространения P12 в настройках публикации (Flash IDE или Flash Builder), а также используйте профиль обеспечения, используемый для специального распространения (.mobileprovision). Затем, наконец, установите профиль обеспечения и файл .ipa с помощью утилиты конфигурации iPhone.

Это сделало это для меня.

пирс
источник
0

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

  1. удалить предыдущий профиль.
  2. Я должен был принять условия с этого сайта Apple.
Сиддхартха Саиф
источник
0

Нажмите Ваше приложение от XCode под Целями. (Под проектом.) Здесь вы видите Сводную информацию, настройки сборки, фазы сборки, правила сборки.

Хорошо, перейдите в настройки сборки. Перейдите к подписи кода.

Вы видите, у вас есть два поля Debug и Release. У вас есть два профиля на выбор в каждой из этих областей: Распространение и разработка.

Пусть распределение будет тем из поля Release. Пусть Developing будет одним из поля Debug.

Это решило эту проблему, и сообщение об ошибке исчезло. Теперь я могу нормально запустить свое приложение.

coolcool1994
источник
0

У меня была эта проблема тоже с Xcode 5.0.1. В один прекрасный день приложение просто не хотело устанавливать его на устройстве, на которое оно было установлено пять минут назад, без каких-либо проблем.

Я пытался очистить настройки, удалить производные данные, воссоздать профили инициализации, подписать другие сертификаты / профили, удалить устройство из органайзера и т. Д.

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

Александр Сосновщенко
источник