Распределение iPhone: ни один профиль не соответствует - PullRequest
10 голосов
/ 31 августа 2010

Я собираюсь загрузить приложение в iTunes Connect. Я не командный агент, и, похоже, командный агент не может сделать меня командным агентом. Поэтому он вошел в Member Center и загрузил сертификат распространения, который находится в моей цепочке для ключей вместе с сертификатом WWDR.

Идентификатор пакета установлен в se. "Companyname". "Appname".

Когда я устанавливаю идентификатор подписи кода на Распределение, он говорит, что профили не совпадают. Может ли только Team Agent создать финальные приложения для загрузки? Как заставить XCode «использовать правильный набор профилей»?

Есть идеи, как преодолеть это последнее препятствие? :)

Изменить: может ли Team Agent войти в Member Center и создать профиль обеспечения для приложения, это все решит?

Ответ: См. Ответ Пола Пилин, я решил добавить эту дополнительную информацию (слишком долго для комментария).

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

Для приложения должен быть создан совершенно отдельный профиль распространения - изменение существующего сертификата разработки для включения в него Team Agent только позволяет ему развиваться. Небольшой момент «а-ха» или, возможно, «д'о» заключался в том, что он должен быть создан в разделе «Предоставление» с выбранной вкладкой «Распространение» (на портале обеспечения).

После этого на вкладке Target Info / Build вы просто используете автоматический выбор профиля по умолчанию (dev / distro), и он обнаруживается автоматически.

Я также временно попытался добавить 'gibberish' (например, JX567ERNB.) Перед именем se.companyname.appname для идентификатора пакета, но автоматический селектор профиля сказал мне, что его там не должно быть, я удалил его и это сработало!

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

Ответы [ 5 ]

27 голосов
/ 05 июля 2011

«Распределение iPhone без совпадения профилей» - одна из самых неприятных проблем, с которыми я когда-либо сталкивался при разработке приложений.

Вот как я с этим разобрался:

В портале «Разработчик под iOS» мне нужно было сгенерировать 4 сертификата и загрузить промежуточный сертификат WWDR, ​​чтобы иметь возможность отправить мое приложение в App Store:

  1. В разделе «Сертификат разработчика» ( ссылка ) создается сертификат разработчика. Также убедитесь, что у вас установлен промежуточный сертификат WWDR, ​​если вы сомневаетесь, скачайте его оттуда.
  2. В разделе Сертификат разработчика ( ссылка ) создайте сертификат распространения (это не так, что будет отображаться в Xcode!)
  3. В разделе Provisioning ( ссылка ) создать сертификат профиля обеспечения разработки
  4. В разделе Provisioning ( link ) создайте профиль Provisioning. ЭТО ПОКАЖЕТСЯ В XCODE КАК СЕРТИФИКАТ РАСПРЕДЕЛЕНИЯ!

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

Ваши активные профили обеспечения перечислены в «Xcode / Organizer / Library / Provisioning Profiles»

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

ОБНОВЛЕНИЕ: некоторые профили обеспечения распространения часто просто «исчезают» из моего списка. Поэтому я должен загрузить и установить (просто дважды щелкнув) их снова с https://developer.apple.com/ios/manage/provisioningprofiles/viewDistributionProfiles.action не так уж и сложно, но раздражает.

5 голосов
/ 31 августа 2010

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

ЕСЛИ у вас установлен правильный профиль обеспечения, и для ваших настроек проекта и целевого параметра для сборки "release" задан правильный профиль обеспечения.+ что у вас установлены правильные сертификаты для этого компьютера ... вы можете собрать релиз.Я не уверен, что только Team Agent может загрузить эти сборки, но в противном случае вы можете упаковать релиз в виде zip-файла (который вы должны в любом случае) и отправить его от агента команды.Затем агент Team может использовать загрузчик приложений для загрузки приложения.

1 голос
/ 03 февраля 2012

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

Другая причина, по которой отсутствуют профили разработчиков

Находясь в органайзере в разделе Библиотека> Предоставление профилей ... На моем компьютере, если я нажму «Обновить», все профили распределения будут удалены !!! Ничего страшного, просто вернитесь на свой портал обеспечения и перейдите к разделу «Подготовка»> «Распространение» и загрузите соответствующие профили распространения и готово! :)

Инструкции прямо от яблока ... Следуйте им ТОЧНО https://developer.apple.com/ios/manage/certificates/team/howto.action

Чтобы запросить сертификат разработки iOS, сначала необходимо сгенерировать запрос на подпись сертификата (CSR) с использованием Keychain Access приложение в Mac OS X Leopard. Создание КСО подскажет Keychain Access для одновременной генерации вашего открытого и закрытого ключа пара, устанавливающая вашу личность разработчика iOS. Ваш закрытый ключ хранится в связке ключей по умолчанию и может быть просмотрен в Приложение Keychain Access в категории «Ключи». Для генерации КСО:

В папке «Приложения» откройте папку «Утилиты» и запустите Брелок Доступ. В меню «Настройки» выберите «Онлайн-сертификат». Протокол состояния (OSCP) и список отзыва сертификатов (CRL) имеют значение «Выкл.».

Выберите Keychain Access -> Certificate Assistant -> Запросить Сертификат от центра сертификации. Примечание: если у вас есть не соответствующий частному ключу выделенный в цепочке для ключей во время этого Полученный в результате запрос сертификата не будет принят Портал обеспечения. Подтвердите, что вы выбираете «Запросить Сертификат из центра сертификации ... »и не выбирая «Запросите сертификат у центра сертификации с…»

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

Если выбрано «Позвольте мне указать пару ключей», укажите имя файла и нажмите «Сохранить». На следующем экране выберите «2048 бит» для ключа Размер и «RSA» для алгоритма. Нажмите «Продолжить».

Ассистент сертификатов создаст файл CSR на вашем рабочем столе.

0 голосов
/ 21 мая 2013

Убедитесь, что регистр вашего идентификатора пакета в профиле обеспечения и в вашем файле info.plist совпадают.

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

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

0 голосов
/ 06 марта 2012

Я тоже боролся с проблемой весь день.Пробовал Тонны вещей.

Я скачал профиль обеспечения распространения.ОК

Двойной щелчок.В брелок это идет (как по волшебству) ОК

Сборка.НЕТУ.Not Signed

Проверьте - вы ищете не Сертификат обеспечения коллективной работы, а простой, который нельзя установить на устройства.

Если его там нет вы не скопировали его в вашу библиотеку / папку MobileDevice / Provisioning Profiles. (как и я)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...