Несколько сертификатов / профилей обеспечения в одном Xcode Organizer?
Здесь есть несколько похожих вопросов, но ни один не смог ответить на мой основной вопрос:
Можно ли иметь два отдельных сертификата разработчика в связке ключей и два соответствующих профиля распространения в Организаторе?
У меня есть собственный (рабочий) сертификат разработчика и профиль обеспечения для моих собственных приложений iPhone. Теперь я закончил проект для клиента и хотел бы использовать его учетную запись разработчика / сертификаты / профили обеспечения, чтобы отправить свое приложение в магазин приложений на своей учетной записи.
Это вообще возможно?
До сих пор я загружал и устанавливал его сертификаты, и они показывались в моей цепочке для ключей, и я установил его профиль обеспечения в Организаторе, но Организатор говорит мне "Действительная идентификация подписи, соответствующая этому профилю, не может быть найдена в вашей цепочке для ключей". Аналогично, сборка архива завершается неудачно.
Я не смог найти способ сказать Организатору использовать сертификат моего клиента вместо моего - я думаю, что это проблема.
Спасибо за любую помощь!
3 ответа
Да, я несколько раз производил сборки проектов приложений для клиентов, используя их сертификат распространения. Не нужно использовать их сертификат разработчика. Здесь есть много вещей, которые могут пойти не так, если у вас есть доступ к учетной записи клиента, вы можете перейти на портал инициализации и проверить:
убедитесь, что идентификатор пакета в настройках проекта точно совпадает с идентификатором приложения на портале обеспечения iOS (обычно com.company.appname)
Убедитесь, что профиль обеспечения распространения в магазине приложений помечен как "действительный" и отображается под сертификатом распространения.
убедитесь, что конфигурация сборки магазина приложений в xcode ссылается на сертификат распространения клиента.
откройте брелок и убедитесь, что сертификат распространения клиента также имеет свой закрытый ключ. Это может быть проблемой, это та часть, которая обычно не учитывается. Клиент должен экспортировать свой закрытый ключ для своего дистрибутива и отправить его вам в файл.p12 вместе с паролем к файлу.p12. Сертификат dist нельзя использовать для подписи приложения без закрытого ключа!
иногда просто выйти из Xcode и перезапустить его помогает.
Посмотрите это решение для дублирования сертификатов: http://tapadoo.com/2012/certificates-magically-re-appearing-in-your-keychain-try-this/
Суть в том, что если у вас есть старый закрытый ключ и профиль обеспечения, вы можете столкнуться со случаем, когда XCode заново создаст старый сертификат в вашей цепочке для ключей. Это приведет к задержке подписи кода, поскольку для этого требуется один сертификат с указанным именем. Удаление старого закрытого ключа решит эту проблему.
ЛЕГКИЙ РЕЖИМ
(Я так сильно ненавижу эти архаичные ошибки экспорта. Так много часов потрачено впустую. Я не религиозен, но я все еще молюсь, чтобы это помогло вам)
- Войдите в https://developer.apple.com/
- перейти к сертификатам, идентификаторам и профилям
- внизу слева: профили обеспечения
- Удалите все дубликаты / недействительные профили (в моем случае у меня был только один, но он был недействительным)
Примечание: если вы пытаетесь экспортировать архив, вы можете оставить окно экспорта открытым, удалить профиль обеспечения, затем нажать "повторить" или что-то еще, что говорит кнопка. Это избавит вас от необходимости переархивировать снова и снова
#xcode8.2.1 #osx10.11.6