Xcode говорит, что идентификаторы подписи кода не найдены

В Xcode, когда я пытаюсь создать существующее приложение, я получаю сообщение об ошибке: «Ошибка подписи кода: не найдено идентификаторов с кодовой подписью: ...»

В настройках сборки приложения я выбрал профиль обеспечения для приложения, но в идентификаторе подписи кода единственное, что я могу получить, - это «Разработчик iPhone». Когда я нажимаю на это, всплывающее окно также сообщает мне «Нет идентификационных данных из профиля» ... »».

Очевидно, что-то не так с профилем обеспечения или идентификатором.

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

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

Я действительно вижу, что «Связка ключей» не показывает треугольник рядом с моим сертификатом, но мне ни разу не предлагают закрытый ключ.

В Центре участников разработчиков в разделе «Сертификаты iOS (производство)» я попытался щелкнуть значок +, чтобы создать новый сертификат, но возможность создания сертификата App Store неактивна. Я не могу сказать, предназначены ли существующие сертификаты для App Store ... нажатие на них дает мне только возможность отозвать или загрузить.

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

ОБНОВЛЕНИЕ: мне не удалось найти действительный идентификатор для профиля обеспечения, поэтому я создал новый производственный сертификат (распространение iOS), а затем выбрал его в профиле обеспечения. Скачал оба и добавил их в машину. Перезапустил Xcode. Теперь эта личность видна, и сборка проходит проверку.

Но iTunes отвергает это, перечисляя множество возможных причин. Одно решение, «Очистить все», похоже, отсутствует в Xcode (только вариант «Очистить»), поэтому я не знаю, насколько можно доверять сообщению.

«Недействительная подпись - убедитесь, что вы подписали свое приложение с помощью сертификата распространения, а не специального сертификата или сертификата разработки. Убедитесь, что настройки подписи кода в Xcode верны на целевом уровне (которые переопределяют любые значения на уровне проекта). . Кроме того, убедитесь, что пакет, который вы загружаете, был создан с использованием цели Release в Xcode, а не цели Simulator. Если вы уверены, что ваши настройки подписи кода верны, выберите «Очистить все» в Xcode, удалите каталог «build» в Finder и перестройте свою цель выпуска ".

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


person Stack This High    schedule 16.09.2014    source источник
comment
Откройте профили с помощью more, less или даже vim на Терминале и найдите в профиле удостоверение подписи (если Терминал жалуется на то, что это двоичный файл, введите y, чтобы открыть его в любом случае). Затем откройте связку ключей и найдите тот же идентификатор подписи. Проверьте идентификатор. Это должно привести вас к основной проблеме.   -  person dasdom    schedule 16.09.2014
comment
Я не нахожу удостоверение, но тогда Xcode сообщает мне, что идентификаторов для кодовой подписи нет, поэтому, возможно, он не определен, хотя я думаю, что я вижу его в всплывающем профиле обеспечения членского центра и сертификате.   -  person Stack This High    schedule 17.09.2014
comment
В файле мобильной подготовки найдите значение для ключа TeamIdentifier. Затем откройте связку ключей и выполните поиск в информации (cmd + i) сертификатов, если вы можете найти этот идентификатор команды.   -  person dasdom    schedule 17.09.2014


Ответы (1)


Похоже, этот вопрос касается проекта iOS, но у меня была аналогичная проблема с моим приложением для Mac. Несмотря на то, что я выбрал «Не подписывать код», Xcode все еще жаловался на отсутствие идентификатора.

Я решил это, вручную отредактировав файл <Project>.xcodeproj/project.pbxproj и удалив все строки, определяющие CODE_SIGN_IDENTITY или CODE_SIGN_ENTITLEMENTS.

Это может вернуть вас к кодированию, но, очевидно, не будет окончательным решением, если вы собираетесь отправить его в App Store.

person Matt    schedule 21.02.2015