Расширение Watchkit - не найдено соответствующих профилей подготовки

Я создал приложение для iPhone, которое также включает в себя расширение WatchKit, я могу запустить это в симуляторе, но при попытке развернуть его на iPhone я получаю проблему с обеспечением для цели WatchKit Extention:

"Профиль предоставления, указанный в настройках сборки (" XXXX "), имеет приложение" XXXX ", которое не соответствует идентификатору вашего пакета" XXXX.watchkitextension ". Xcode может решить эту проблему, загрузив новый профиль подготовки из Member Center."

Xcode автоматически создавал целевые объекты WatchKit с суффиксом .watchkitextension и .watchkitapp, но это, по-видимому, вызывает проблемы при использовании профиля подготовки и развертывания на iPhone.

Если я удаляю целевые объекты watchkit, он работает нормально, но это, очевидно, не решение.

Спасибо за помощь

Ответ 1

Вам необходимо создать два новых AppID в портале разработчиков с правильным идентификатором пакета для вашего приложения Watchkit и расширения Watchkit. Идентификатор пакета должен расширять основной идентификатор приложения, поэтому, если ваше приложение com.myapp, оно должно быть com.myapp.watchkitextension и com.myapp.watchkitapp

Вам также необходимо создать связанные профили Provisioning Profiles для AppID, один для расширения и один для приложения.
Добавьте необходимые дополнения (например, Keychain), если вы используете их в приложении Watch.

В целом вам понадобятся шесть PP, 3 для разработки, 3 для архивирования/хранения. С Xcode 6.3 подготовка команды для разработки перестала работать (для меня)

Далее goto Xcode > Настройки > Учетные записи > YOUR_ACCOUNT > Подробнее..., CTRL + Щелкните один из профилей и откройте в Finder. Переместите все профили в корзину, затем обновите профили.

В ваших целях убедитесь, что у вас есть правильный набор команд для вашего основного целевого приложения, цель расширения Watchkit и цель приложения Watchkit, также убедитесь, что у вас есть права профили Provisioning Profiles, назначенные основной цели приложения и цель расширения Watchkit ( Профиль Provisioning для приложения Watchkit не может быть установлен, но будет назначен автоматически. Редактирование: с помощью Xcode 6.3 он может быть установлен).

Чтобы убедиться, что все в порядке, создайте папку: в Xcode hold command и выполните Product > Clean build folders...

Теперь вы готовы архивировать.

Ответ 2

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

права на подпись кода из настроек сборки

Ответ 3

Я сделал 3 идентификатора приложения (для контейнерного приложения, расширения watchkit и приложения watchkit), которые принадлежат 3 профилям подготовки. (Я собирался использовать AppGroup, поэтому мое приложение не может использовать один идентификатор приложения). Настройка 2 профилей подготовки для контейнерного приложения и расширения watchkit, архив моего приложения не смог передать процесс проверки Xcode.

В моем случае критической точкой является настройка профиля подготовки WATCHKIT APP. Устанавливая его, он проходит процесс проверки и успешно передает приложение.

Моя процедура настройки такова:

  • В Xcode откройте "TARGET" приложения WatchKit.
  • Выберите вкладку "Настройки сборки".
  • В следующей строке вкладки выберите "Все", а не "Основные".
  • Вы можете найти строку "Provisioning Profile" в разделе "Подписание кода".
  • Задайте соответствующий профиль обеспечения.

Некоторое время я считал, что сторонний разработчик приложений не может устанавливать профили настройки WatchKit Apps в Xcode. Заметив, что мы можем установить его, ответ теперь ясен...

Ответ 4

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

В случае расширения часов вам необходимо добавить службу приложения App Group к идентификатору идентификатора вашего приложения, который связан с вашим предоставлением, на портале developer.apple.com, если вы используете данные или файлы между расширение и ваше приложение

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/DesigningaWatchKitApp.html

Ответ 5

В моем случае проблема была другой, чем другие. Я пробую все, но не решил свою проблему. Позвольте мне объяснить мою ситуацию, прежде чем объяснять, как я ее решаю. Сначала он начинается с добавления Today Extension к моему проекту. Я создал другой идентификатор пакета для расширения своего приложения. Например, если мой идентификатор приложения com com.pany.appname, я создал для своего расширения что-то вроде этого "com.company.appname.TodayExtension". Я использую XCode версии 6.3.2 (6D2105) и XCode автоматически (профиль обеспечения, указанный в ваших настройках сборки ( "AppName" ), имеет AppID "BundleID", который не соответствует вашему идентификатору пакета "BundleID2". Xcode может разрешите эту проблему, загрузив новый профиль подготовки из Центра участников... Конечно, я нажимаю кнопку "Исправить ошибку" ), создавая профиль состояния для Today Extension.

И только после этого я добавил "приложение" в свое приложение и некоторое время продолжаю кодирование. Но когда я пытаюсь отправить свое приложение в AppStore (Product/Archive/Submit to AppStore), я получаю эту ошибку, в которой говорится: "Ни один из действительных профилей профилей не разрешил указанные права: бета-отчеты-активные, com.apple.security.Application-групп".

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

Пожалуйста, перейдите в раздел Центр/Сертификаты, Идентификаторы и Профили/Профили Профили/Распространение. Найдите ваше приложение "Профиль распространения" и выберите его. Как вы можете видеть, статус вашего профиля "Недопустимый (например, в моем случае). Затем вот это решение, нажмите кнопку" Изменить "после этой кнопки" Создать ". Теперь повторите это действие для всех профилей" Недопустимые ". re validated, теперь вы можете вернуться к проекту XCode и обновить локальные положения на вашем Mac. Перейдите к: Xcode > Предпочтения > Учетные записи > YOUR_ACCOUNT > Подробнее..., CTRL + Нажмите один из профилей и откройте в Finder. все профили в корзину, затем обновите профили".

Теперь Product/Clean и (надеюсь, в последний раз) Product/Archive и Submit to AppStore.

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

Возможно, это поможет кому-то.

Ответ 6

Я следил за Техническим Q & A QA1814 и решил все это для меня. В основном вы все устанавливаете для Automatic и iOS Developer. Очень важно установить команду: Нет сначала, внесите изменения, а затем вернитесь в свою команду, а затем перезапустите Xcode.

Моя ситуация заключалась в том, что у меня уже были профили обеспечения и сертификаты, настроенные для "нормального" приложения iOS. Я успешно опубликовал приложения с этим. Теперь мне нужно было заставить его работать после того, как я добавил новую цель WatchKit в существующее приложение. У меня появилось много ошибок, таких как "Нет соответствующих профилей подготовки" и т.д. После многих часов я следил за маршрутами в статья QA1814 и вуаля! - Xcode решил все для меня. Не нужно было изменять/разрешать/обновлять что-либо в Центре-члене и т.д.

Также важно правильно использовать идентификатор Bundle. Приложение WatchKit и расширение WatchKit должны использовать тот же самый префикс идентификатора пакета как цель приложения iOS.

Если приложение iOS имеет идентификатор пакета: [Bundle ID], цели WatchKit должны быть:

  • Приложение WatchKit: [Bundle ID].watchkit
  • Расширение WatchKit: [Bundle ID].watchkit.extension

Ответ 7

Когда вы находитесь в обновлении Xcode. Ваш сертификат и скомпилируйте свою программу снова, реальный ввод в эксплуатацию машины будет "Ваши настройки настройки задают профиль подготовки, имеет UUID" XXX ", ясный, нет профиля предварительной настройки. Xcode может разрешите эту проблему, загрузив новый профиль подготовки из Центра участников.".


  • Закройте проект, найдите файл проекта XXXX. Xcodeproj, щелкните правой кнопкой мыши на файле, выберите "Показать содержимое пакета" (Показать содержимое пакета). Откройте новый Finder.
  • Найдите проект во вновь открывшемся Finder. Pbxproj, и откройте, найдите UUID, у вас есть строка ошибки "XXX", удалите.
  • Сохранить, перезапустить проект, а затем построить, в отношении OK.