Xcode 4 - ошибка «Идентификационные данные подписи не найдены» при подготовке профилей при новой установке Macintosh

209

У меня был Macintosh, который я использовал для разработки приложений для iPhone с использованием XCode 4. Теперь у меня есть новый Macintosh с новой установкой ... всего.

При открытии проектов Xcode, созданных на старом Mac, я не могу запустить приложение на iPhone, который был настроен как iPhone для разработки.
Организатор Xcode 4 сообщает мне «Действительная идентификация подписи не найдена» в моих профилях обеспечения.

Я предполагаю, что это как-то связано с файлом .certSigningRequest, который я сгенерировал ранее на старом Mac (у меня есть резервная копия этого файла), но что мне с ним делать на новом Mac?

Еще одна странная вещь: я не вижу свои 5 существующих профилей инициализации (определенных на портале инициализации Apple) в органайзере, даже после обновления и после ввода логина и пароля моего портала инициализации:

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

Оливер
источник
4
Как вы перенесли свою личность? Самый простой способ - использовать кнопки импорта / экспорта прямо в нижней части окна, которое вы показываете, - экспорт из работающей системы, импорт в новую систему. Это должно гарантировать, что все сертификаты и профили скопированы.
Томми
2
но что, если на старой машине плохой жесткий диск (и нет резервной копии) или он уже переформатирован?
неполярность
На самом деле очевидно, что вопрос в качестве комментария - плохая идея. (Совершенно новый вопрос stackoverflow. Или найти существующий вопрос - правильная идея.)
Уоррен П.

Ответы:

221

С Xcode 4.2 и более поздними версиями, включая XCode 4.6, есть лучший способ перенести весь ваш профиль разработчика на новую машину. На существующей машине запустите Xcode и сделайте следующее:

  1. Откройте органайзер (Shift-Command-2).
  2. Выберите вкладку «Устройства».
  3. Выберите «Профиль разработчика» в верхнем левом углу в разделе «БИБЛИОТЕКА», который может находиться под библиотекой заголовков или под заголовком «КОМАНДЫ».
  4. Выберите Экспорт в нижней левой части окна. Xcode просит вас выбрать имя файла и пароль.

Редактировать для Xcode 4.4:

С Xcode 4.4 на шаге 3 выберите Provisioning Profiles под LIBRARY. Затем выберите профили инициализации с помощью мыши или Command-A.

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

Картинка для XCode 4.6 добавлена ​​WP

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

Редактировать для XCode 5.0 или новее:

  1. Откройте XCode -> Настройки ('Command' + ',')
  2. Выберите Apple ID из списка.
  3. Нажмите на значок SETTING в левом нижнем углу окна и выберите EXPORT ACCOUNTS ... Xcode попросит вас выбрать имя файла и пароль.

На новой машине запустите Xcode и импортируйте профиль, который вы экспортировали выше. Работает как шарм.

Картинка для XCode 5.0 добавлена ​​Ankur

Для XCode 5 или более новых версий

Стив Лиддл
источник
19
Для шага 3 у меня не было «Профиля разработчика», перечисленного в БИБЛИОТЕКЕ. Вместо этого я должен был выбрать <название моей команды> в разделе КОМАНДЫ.
Стив Онорато
9
Я продолжаю получать "действительное удостоверение личности подписи не найдено"!
RGML
7
У меня есть 2+ компьютеров, которые я использую для разработки. Я экспортировал профиль обеспечения на одном из них, но не смог импортировать его со страницы «Органайзер»> «Библиотека»> «Профили обеспечения». Мне нужно было зайти на страницу «Библиотека»> «Команды»> «myUserID», чтобы иметь возможность импортировать профиль разработчика.
GLaDOS
7
Apple «совершенствует» эту штуку, но с каждым шагом вводит новую боль. Я все еще вырываю свои волосы снова и снова ...
Мозг
4
Я предоставил картинку, чтобы помочь сделать это более понятным для пользователей XCode 4.6. ЯБЛОКУ Ю НЕ НУЖНО СДЕЛАТЬ ЭТО ПРОСТО
Уоррен П
60

Я просто столкнулся с подобной проблемой сегодня. К сожалению, мой HD умер от меня, поэтому я не смог выполнить миграцию, упомянутую здесь в принятом ответе. Мне пришлось сделать следующие шаги:

  1. Подключитесь к центру разработчиков Apple, а затем к временному порталу iOS.
  2. Отзыв моего сертификата.
  3. Создайте новый сертификат, предоставив новую пару закрытых и открытых ключей.
  4. Удалите все предыдущие профили обеспечения и создайте новые.
  5. Загрузите новые профили обеспечения и установите их в XCode, просто перетащив их на значок XCode в доке.

То же действие также упоминается в этом посте .

tiguero
источник
Спасибо, это только сработало для меня (у меня нет моего старого mac со мной, чтобы передать что-нибудь).
Джейми Дж.
1
Спасибо @tiguero .. Мой HD тоже упал ... и я пытался найти ответ на этот же вопрос после восстановления данных с HD. Но когда я просто заново создал сертификат с помощью цепочки для ключей и портала обеспечения. Это решило все проблемы. ПРИМЕЧАНИЕ. Возможно, нам потребуется изменить профиль обеспечения и добавить в него новый сертификат, а затем повторно загрузить и заново установить все из них. Cheers Coders .. Надеюсь, это поможет кому-то искать ответ.
Apple_iOS0304
1
Это очень важные знания. (Отмена предыдущего сертификата, необходимого до того, как вы сможете создать новый, вряд ли интуитивно понятна, но для Apple это определенно хорошая эксплуатационная практика. Тем не менее, если вы потеряете ключ, ваша жизнь будет трудной.)
Уоррен Р
Если вы отзываете сертификат, который использовался для подписи производственного приложения, это как-то не влияет на приложение?
Эммануэль Ай
2
@EmmanuelAy Если ваше членство в Программе iOS для разработчиков действительно, ваши существующие приложения в App Store не будут затронуты отзывом вашего сертификата. Посмотрите здесь: developer.apple.com/support/technical/certificates
tiguero,
16

Убедитесь, что ваш сертификат находится в цепочке для ключей входа в систему. Выделите цепочку для ключей входа в систему, если вы ее не видите, найдите ее. Затем перетащите сертификат на слова «логин». Закройте и откройте XCode, та-да.

iOSDevSF
источник
2
Большое спасибо, мне все показалось правильным, за исключением того, что мои сертификаты были в Системе, а не в логине. Когда я переместил их, все работало как шарм!
Пэт
ооо, простой щелчок не работает, как описано на developer.apple.com/ios/manage/overview/index.action . Место должно быть выбрано вручную
sergtk
9

Вам необходимо скопировать закрытый ключ и сертификат со старого Mac. Откройте Keychain Access на старом Mac и посмотрите в категории Keys цепочки для ключей входа в систему: ключ должен быть там. Вам необходимо экспортировать как открытый, так и закрытый ключ, затем скопировать yourkey.pemи yourkey.p12на новый Mac.

Импортировать их с помощью Keychain Access, вероятно, не удастся, по крайней мере, до 10,6; Вы можете использовать эти команды вместо:

security import yourkey.p12
security import yourkey.pem
лак
источник
Keychain Access иногда не может экспортировать или импортировать закрытые ключи. Вы можете использовать securityутилиту командной строки вместо нее. Я гарантирую, что это работает.
LaC
@LaC: я могу удалить некоторые существующие записи на новом Mac?
Оливер
Вы можете удалить записи, которые вам больше не нужны. Если вы не уверены, нужны ли они вам или нет, лучше, конечно, не удалять их.
LaC
2
Вы должны использовать функцию экспорта / импорта Организатора, чтобы перенести ваш профиль разработчика. Смотрите ответ, который я только что опубликовал.
Стив Лиддл
Я попробовал все остальные шаги, и они не работали .. Я попробовал этот, и импорт .p12 работает нормально, но .pem говорит, что он импортирован, но когда я захожу в брелок, они не отображаются .. и xCode все еще говорит о недействительном сертификате подписи ... кто-нибудь предлагает?
Майкл Роу
9

За ошибку

Действительное удостоверение личности подписи не найдено

посмотрите опубликованные шаги Apple, чтобы решить эту проблему.

Что касается вопроса о ваших «5 существующих профилях обеспечения» на портале iOS, которые отсутствуют в вашей локальной библиотеке в Xcode 4.x Organizer> вкладка «Устройства»> раздел «Профиль обеспечения» в разделе «Библиотека».

Я рекомендую выполнить шаги, которые проведут вас через восстановление отсутствующих профилей, а также охватит случай ошибки XCode, в которой XCode 4.1-4.2.1 по ошибке удаляет из ваших профилей локальной библиотеки, которые являются «Активными» на портале iOS.

Bobjt
источник
1
Мне нравится этот ответ, потому что он действительно работает, и их документы будут пытаться оставаться в курсе
okysabeni
7

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

И тогда вам нужно будет снова добавить профиль обеспечения. Это должно работать сейчас. По сути, вам нужно выполнить те же действия, которые вы делали, когда вы впервые получили сертификат Dev.

Леголас
источник
7

У меня была та же ошибка, но проблема была немного другой. У нас есть команда разработчиков, но мы все используем один и тот же Apple ID (учетная запись разработчика), поэтому, когда я генерировал профиль Provisioning, я продолжал получать ту же ошибку, что и в предметном вопросе. Затем, хотя я скачал сертификат (который запрашивается в рамках шагов помощника по разработке), я все еще получал эту ошибку. Затем я обнаружил, что проблема заключается в том, что наша учетная запись Apple Developer использует сертификат, сгенерированный на моей рабочей машине, поэтому мне нужно было отозвать его и сгенерировать новый сертификат, а затем создать профиль обеспечения.

Резюме. Извлеченный урок заключается в том, что сертификат, используемый для вашего профиля обеспечения, должен быть создан на том же компьютере, где будет использоваться профиль обеспечения. Это особенно важно учитывать, когда у вас есть команда разработчиков, использующая один и тот же Apple ID.
Надеюсь, это кому-нибудь поможет

Имеет альтайар
источник
6

Мои 2 цента за эту ошибку, даже если они не связаны со сценарием экспорта / импорта:

при добавлении мобильного сертификата обеспечения (т. е. PROVфайла) НЕ перетаскивайте файл из Finder в Keychain Access. Вместо этого просто дважды щелкните файл PROV в Finder, сохраняя где-то работающее приложение Keychain Access.

Я на самом деле видел, как мой прежний элемент инициализации в связке ключей (тот, что имеет желтый свет) заменяется новым зеленым с тем же именем и идентификатором приложения. НТН

superjos
источник
1
Спасибо, также не удается нажать кнопку «Добавить» в разделе «Обеспечение профилей» в Xcode Organizer, хотя, если я дважды щелкну файл .mobileprovision, все будет работать нормально.
damix911
5

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

Меню XCode> Настройки> Аккаунты> THE_APPLE_ID_THAT_YOU_ARE_USING> Просмотр сведений

В новом окне слева внизу Signing identitiesнажмите +кнопку и выберите iOS Development. Он снова добавит идентификатор, и после этого моя проблема будет решена, и приложение снова будет запущено на устройстве.

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

Neeku
источник
4

Моя MAC OS Crash недавно. Я переустановил Mac 10.7.4и XCode 4.5. Но все профили обеспечения показывали следующее сообщение в organizer.

Valid Signing identity not found

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

Можно также экспортировать свой профиль разработчика / профиль разработчика команды в органайзер.

Organizer > Teams > Developer Profile > Export

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

iSaalis
источник
3

Со мной случилось то же самое, что и с Тигеро (спасибо за ваш ответ, это дало мне надежду), но вот способ избавиться от valid signing identity not found ошибки, не удаляя все ваши профили обеспечения.

Если вы находитесь в новой системе и не можете получить свои ключи из другой системы, вам действительно нужно удалить и восстановить новые Developmentи Distributionсертификаты для XCode. Вы можете сделать это через Xcodeили по-старому, используя Keychain Access.

Затем вы можете перейти на Provisioningкаждую вкладку Developmentи Distribution, Editзатем , щелкнуть рядом с профилем, который вы хотите обновить, и затем Modify.

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

Как только вы это сделаете, зайдите в Xcode(я использую 4.3.3), Organizer > Devices > Library > Provisioning Profilesгде вы получаете сообщение об ошибке, и нажмите Refresh. Как только вы ответите на приглашение ввести свой логин разработчика, Organizerповторно загрузите профили, и сообщение об ошибке должно исчезнуть.

Екатерина
источник
Кроме того, после этого перед сборкой на устройстве вам, вероятно, придется перейти на панели «Настройки сборки» и выбрать новый профиль iPhone Developer, чтобы избежать ошибки при подписании кода.
Кэтрин
2

Я решил ошибку «Идентификатор подписи не найден» более или менее:

  1. Убедитесь, что сертификат в вашей программе для разработчиков iOS также указан в вашем доступе цепочки для ключей и является действительным (сравните даты выпуска). Если это не так, либо перенесите его со старого Mac, используя инструкции из справочника Apple. удалите его с веб-сайта и получите доступ к цепочке для ключей, а затем заново создайте его, повторно загрузите и перетащите его поверх X-кода.
  2. Удалите все существующие профили обеспечения разработки или распространения и воссоздайте их на основе вашего нового сертификата, повторно загрузите их и проверьте доступность цепочки для ключей, что все верно.
snez
источник
0

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

как передавать сертификаты XCode между Mac

Имеет альтайар
источник
0

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

Джим Т
источник
0

Никто еще не упомянул об этом, и это, возможно, не является общей проблемой, но у меня была похожая проблема с Xcode 5: Убедитесь, что у вас выбрана цепочка для ключей по умолчанию, выбранная в Доступе для цепочки для ключей Mac . Я попробовал новую установку Mountain Lion и удалил одну связку ключей, которая оказалась по умолчанию. После установки другой цепочки для ключей по умолчанию (щелкните правой кнопкой мыши цепочку для ключей и выберите Make Keychain «Keychain_name« default »), Xcode смог установить действительные идентификаторы подписи.

newenglander
источник
0

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

  • developer.apple.com в разделе Сертификаты, идентификаторы и профили
  • выберите соответствующий (и действительный) сертификат разработки iOS, скачайте его
  • дважды щелкните по загруженному файлу, он будет добавлен в цепочку для ключей
  • ошибки в органайзере уходят

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

mohrt
источник