Не удалось найти допустимый профиль подготовки, соответствующий идентификатору приложения

Это было задано раньше, но ответы на предыдущие вопросы не решают мою проблему.

Я пытаюсь создать простое приложение Hello World под названием (CalculatorBrain) из курсов iTunes U в Стэнфорде. Я могу запустить его в симуляторе, но я хотел бы получить его на своем iPhone 4S.

я синхронизирую свой iPhone 4S через iTunes на своей машине Windows. Всегда быть. Решил, что мне стоит перечислить эту деталь.

в любом случае, вернемся к моему Macbook (Mountain Lion). Я бегу самый последний XCode 4.6.2 (4H1003), и мой iPhone также является самым последним в 6.1.3, я считаю.

Я пошел на портал подготовки на странице разработчика Apple. Я добавил свои 4S. Я назвал его Джонсмит и дал ему телефоны UDID.

в XCode я открыл органайзер, устройства выделены по умолчанию. Я вставил пароль в свой iPhone и подключил его к Macbook. Устройства находят мой iPhone. Если я нажму на профили подготовки и попытаюсь "Добавить устройство в портал подготовки", я получить "устройство с номером уже существует в этой команде." Большой. Я знаю, что это добавило точно. Пока все хорошие новости.

в моем приложении Hello World, CalculatorBrain-Info.plist мой идентификатор пакета - " com.Джонсмит.CalculatorBrain". Отображаемое имя пакета - " ${PRODUCT_NAME}", а исполняемый файл - " ${EXECUTABLE_NAME}", если это имеет значение.

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

Не подписывайте код

Автоматический Переключатель Профилей - iPhone разработчик - для iPhone распределение

идентификаторы без профилей подготовки - разработчик iPhone: John Smith (R............Тысяча) - распределение iPhone: Джон Смит (Y.............5)

другие...

Я пробовал все эти. Я предполагаю, что я должен использовать разработчика iPhone: John Smith one... но это говорит о том, что это личность без подготовки Профили.

Что здесь происходит? Что мне нужно сделать, чтобы это сработало?

4 ответов


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

  1. найдите AppID для вашего проекта в Xcode.
  2. убедитесь, что вы настроили этот AppID в сертификатах, Идентификаторы и профили".
  3. создайте профиль подготовки разработки для этого AppId, сертификата разработки и одного или нескольких зарегистрированных тестовых устройств.
  4. Загрузите и установите профиль подготовки в Xcode.
  5. настройте свой проект на кодовый знак, используя этот профиль и связанный идентификатор подписи кода.
  6. сборки устройства!

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

...а теперь перейдем к более конкретным HOWTOs, чтобы помочь работать с подписанием кода вопрос:

Поиск AppID проекта

AppID однозначно определяет приложение в экосистеме iOS и является одной из вещей, которые вы сначала создаете при запуске нового проекта Xcode. Этот AppID-это то, что вам нужно зарегистрировать в инструменте "сертификаты, идентификаторы и профили", чтобы начать работу с подготовкой.

Xcode AppId Setting

  1. В навигаторе проектов (CMD+1) Нажмите на свое имя проекта (вероятно, "CalculatorBrain"). Это настройки проекта.
  2. выберите [имя проекта] > вкладка сводка, как показано на экране отсечения сверху (MyiOSApplication).
  3. ваш iOS AppID представлен в поле "идентификатор пакета". Возьмите копию этой строки, она вам понадобится в следующий раз.

Проверьте (или настройте) AppID

  1. перейдите в раздел http://developer.apple.com/ios и удалить сертификаты, идентификаторы и Инструмент профилей.
  2. после входа в систему, выберите "идентификаторы".
  3. проверьте, что AppID, найденный в предыдущем разделе, присутствует в списке идентификаторов приложений. Если это так, Обратите внимание на имя идентификатора приложения и перейдите к следующему разделу...
  4. Нажмите кнопку "Добавить" (плюс) в правом верхнем углу, Укажите имя для этого идентификатора приложения (может быть все, что вы хотите, до тех пор, пока у него нет специальных символов.)
  5. прокрутите до нижней части страница и вставьте копию идентификатора приложения из предыдущего раздела В поле "идентификатор пакета". под 'явное приложение ID'.
  6. Нажмите Кнопку "Продолжить".

обратите внимание, что AppID должен быть уникальным в экосистеме iOS-вы можете получить ошибку, если выбранный вами AppID уже используется. Если это так, измените свой "Bundle ID" на что-то уникальное-просто обновите параметр "Bundle ID" в своем проекте Xcode, чтобы соответствовать тому, что вы устанавливаете на.

создание профиля подготовки разработки

теперь, когда идентификатор приложения зарегистрирован, вы готовы создать профиль подготовки разработки, связывающий идентификатор приложения, сертификат разработки и идентификатор(Ы) тестового устройства.

  1. в инструменте "сертификаты, удостоверения, профили" перейдите к разделу "профили подготовки".
  2. нажмите на кнопку "Добавить" (плюс) в правом верхнем углу.
  3. выберите ' iOS Разработка приложений "на шаге " выберите тип", а затем нажмите "Продолжить".
  4. выберите идентификатор приложения из выпадающего списка идентификаторов приложений, а затем нажмите кнопку "Продолжить".
  5. установите флажок рядом с сертификатом разработки и нажмите кнопку "Продолжить".
  6. установите флажок рядом с тестовым устройством(устройствами), которое вы хотите авторизовать для установки этого приложения, а затем нажмите "Продолжить".
  7. введите имя профиля (снова опуская специальные символы), затем нажмите "Создать".

Загрузите и установите профиль подготовки

после создания профиля подготовки инструмент предоставит вам ссылку для загрузки

  1. скачать профиль подготовки нажав на ссылку 'Скачать'.
  2. перетащите профиль подготовки из места загрузки и поместите его на значок Xcode Dock или дважды щелкните, чтобы открыть его.

Настроить Код Подпись Identity

звучит, как вы уже знаете, где это находится, но на всякий случай:

  1. В навигаторе проектов (CMD+1) Нажмите на свое имя проекта (вероятно, "CalculatorBrain"). Это настройки проекта.
  2. Выберите [Имя Проекта] > Вкладка "Параметры Сборки".
  3. прокрутите до пункта "идентификатор подписи кода".

теоретически вы хотели бы использовать опцию "автоматический селектор профилей", которая попытается сопоставить ваш AppID с установленным профилем подготовки, но вы также можете прокрутить список и выбрать конкретное сопоставление идентификатора пакета/AppId с сертификатом iOS.

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

в любом случае, выберите опцию, которая соответствует вашему AppId/BundleId и сертификату разработчика.

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


У меня была очень похожая проблема, пробовал каждый вариант этих подписей кода, и фактическое решение моего было: - Перезапущен В Xcode - Перейдите в " окно - > организатор" - Тогда "редактор" и - "Обновление с портала разработчика" Затем я просто "установил активную схему" на "iPhone (Petri)" рядом с кнопками запуска и остановки.


пожалуйста, убедитесь, что цели проверяются вместо проектов.

make sure Targets is selected


enter image description hereв моем случае устройство имеет 3 профиля обеспечения с тем же именем. Во время разработки я несколько раз обновлял профиль предоставления и каждый раз новый обновленный профиль добавлялся в устройство без удаления старого. Поэтому xcode искал первый профиль предоставления, который был неправильным в тот момент, и бросил ошибку мне в лицо. Итак, что же делать:

  1. открыть окно " устройства "(Cmd + Shif + 2)
  2. Поиск устройства и выберите его
  3. в левом нижний угол нажмите на кнопку "Настройки"
  4. Нажмите кнопку "Provision profiles"
  5. Поиск dublicates. Я нашел 3 элемента профилей с тем же именем
  6. удалены все, кроме последнего