IOS 7.0 Не найдено идентификаторов подписи кода

  • сертификат действителен
  • xcode 5
  • iOS 7

Ошибка кодового знака: идентификационные коды не найдены: нет кодов тождества (то есть пары сертификатов и частных ключей), которые соответствуют профиль подготовки, указанный в настройках сборки ( "Команда iOS Профиль Provisioning: *" ). Ошибка CodeSign: подписание кода требуется для типа продукта "Приложение" в SDK "iOS 7.0"

Ответ 1

Для сертификата

  • Отменить предыдущий сертификат.
  • Создать новый сертификат разработки.
  • Загрузить сертификат.
  • Двойной щелчок, чтобы установить KeyChain.

Для профиля Provisioning

  • Создать новый или изменить существующий профиль Provisioning.
  • Загрузите и установите.

Для BundleIdentifier.

  • com.yourcompanyName.Something(Поставьте то же, что и в AppId)

enter image description here

CodeSigningIdentity.

  • Выберите профиль Provisioning, который вы создали.

enter image description here

Ответ 2

Мое исправление для этой проблемы:

Xcode > Предпочтения. В учетных записях нажмите на свой Apple ID. Нажмите "Просмотреть подробности", нажмите "Профиль проекта" (я думаю, что это помогает) и нажмите кнопку обновления внизу слева.

Ответ 3

Думал, что буду дополнять другие ответы своим личным опытом.

В последнее время у меня возникла проблема, из-за которой были созданы две цели, а две из них потерпели бы неудачу со следующей ошибкой:

Ошибка кодового знака: не найдены идентификаторы подписи кода: нет действительного подписания идентификаторы (т.е. сертификат и пара частных ключей), соответствующие команде ID "XXXXXXXXXX". Ошибка CodeSign: требуется подписание кода для типа продукта "Приложение" в SDK "iOS 7.1"

Это было, несмотря на то, что обновил все в Xcode и в iOS Developer Center.

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

Конечно, открытие файла Xcode project.pbxproj в текстовом редакторе нашло старый идентификатор команды:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Кстати, чтобы получить ваш файл project.pbxproj, выберите ваш .xcodeproj файл и покажите содержимое, как показано ниже:

enter image description here

Поиск в целевом Id D29A93A318AB96440099C177, я мог видеть, что он соответствует одной из неудачных целей:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

В этом случае MyTarget3. Чтобы разрешить, простой текстовый поиск заменил старый идентификатор команды новым правильным идентификатором. Проблема решена.

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

Ответ 4

У меня была такая же проблема в разработке. Я решил его

  • Перейдите к настройкам XCode, просмотрите информацию об Apple ID и удалите файл инициализации, который жалуется.
  • Перейдите к доступу к цепочке ключей и удалите сертификат разработки, связанный с файлом инициализации, который вы только что удалили.
  • В Центре пользователей Apple загрузите файл инициализации разработки, который вы только что удалили локально, дважды щелкните файл, чтобы убедиться, что он появился в XCode.
  • Загрузите сертификат разработки, который вы только что удалили локально, и дважды щелкните, чтобы убедиться, что он отображается в доступе к цепочке ключей.
  • Теперь должно быть хорошо.

Ответ 5

У меня была эта проблема с Дженкинсом.

Решение заключалось в том, чтобы скопировать сертификат и вставить его в системный брелок, иначе Дженкинс не смог бы прочитать сертификат.

Ответ 6

Вам не нужно удалять все профили, чтобы исправить эту проблему,

Когда вы просматриваете мои профили устройств в Organizer, я видел, что один из моих профилей недействителен. Затем я перешел на страницу "Сертификаты разработчика, идентификаторы и профили" , и все профили были активными, зелеными и выглядели хорошо, но при нажатии на редактирование на том, что показанный на моем устройстве как недопустимый, я заметил, что флажок в связанной учетной записи не был проверен, даже если выбрано значение "Выбрать все". Я проверил поле, чтобы связать профиль с моим сертификатом, загрузил профиль и все было исправлено.

На веб-странице "Профили" нажмите "Изменить", On your Profiles web page

Вы можете видеть, что никакого связанного сертификата нет, даже если отмечен флажок "Выбрать все". Edit you profile![][1]

Ответ 7

Для меня настройка Project → Targets/[Your project] → General → Team to "None" решила проблему.

Ответ 8

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

Я пытался развернуть хранилище приложений для тестирования с помощью TestFlight. Предыдущий разработчик, больше не являющийся частью проекта или компании, создал сертификат распространения IOS. Какой xcode пытался сказать мне, что да, сертификат был в центре участников, но чувак, которого вы полностью не можете использовать, потому что он не ваш. У меня не было секретного ключа, необходимого для его подписания, и никакие обновления, перезагрузки, аннулирования не помогли бы мне. Для загрузки в магазин приложений вам нужен сертификат разработчика и дистрибутива.

Решение заключалось в создании нового сертификата распространения продукции в Центре-члене, с использованием нового запроса на подпись из моей связки ключей. Этот процесс хорошо документирован и описан во время создания сертификата онлайн. После этого обновите свою учетную запись в xcode, чтобы загрузить ее в цепочку ключей, и вы будете золотыми. Надеюсь, это поможет кому-то!

Ответ 9

это может показаться странным, но для меня работала перезагрузка моего mac.. я не могу объяснить, почему и что произошло, но теперь это работает. надеюсь, что это поможет кому-то

Ответ 10

Я достиг этого потока, когда использую чистую командную строку /jenkins build script, и я не хочу, чтобы какая-либо отдельная настройка UI/RDP вручную для среды интеграции.

Через несколько часов попытайтесь решить точно такую ​​же проблему, используя jenkins.
Ключом является "список безопасности-keychains -s <your_keychain_name > "

--- Длинная история ---
Я использую script в jenkins для переопределения параметров для каждого проекта (профиль подготовки и идентификаторы подписи)
После обновления до Xcode 7, я должен изменить script добавить выше "список-связки ключей" после "create-keychains"

Обновлен script здесь.

Ответ 11

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

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

Ответ 12

Попробуйте изменить идентификатор пакета: Проект → Цели/[Ваш проект] → Общие → Идентификатор пакета

Если приложение было опубликовано в AppStore, XCode не позволяет создать приложение с тем же идентификатором пакета.

Ответ 13

Ориентация на iOS 8 и 9 на Xcode 7. Мой профиль разработки в порядке, я получил эту ошибку при архивировании приложения для загрузки в магазин приложений. Вот что я сделал:

Xcode > Настройки > Учетные записи > Просмотр сведений. Помимо дистрибутива iOS нажмите кнопку "Reset". Это приведет к аннулированию профиля распределения, который вы используете (поскольку вы reset сертификат распространения), поэтому отредактируйте профиль, чтобы включить новый сертификат reset.

Обязательно загрузите как новый сертификат распространения, так и новый отредактированный профиль распределения. Перезапустите Xcode.

Ответ 14

Убедитесь, что ваш сертификат связан с вашим личным ключом:

Откройте Доступ к брелокам, логин, сертификаты. Найдите сертификат внутри списка и проверьте, правильно ли он сопряжен с вашим личным ключом.

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

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

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

Ответ 15

Очевидно, что эта проблема имеет разные причины.:)

В моем случае срок действия моего аккаунта истек... Я решил его просто:

XCode → Настройки → Учетная запись → Идентификаторы Apple - > Выберите соответствующий идентификатор и обновите журнал...

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

Ответ 16

Перейдите в навигатор проблем и проверьте наличие Signing Identity: в Доступ к ключам. Если нет, загрузите файл .cer и добавьте его в цепочку ключей.

Ответ 17

После долгого вытягивания волос я, наконец, нашел проблему. Я выбрал неправильный сертификат при создании профиля Provisioning Profile, выбрав правильный вариант. Это помогло мне. В вашем случае, если оно несколько, тогда вы должны попробуйте и выберите один за другим, чтобы решить эту проблему.

Ответ 18

У меня была эта неоднозначная ошибка: "Command/usr/bin/codesign не удалось с кодом выхода 1", когда я настраивал новые блоки Jenkins для iOS-сборки с Xcode 7.3, OSX 10.11.4.

В моем случае я имел несколько вещей правильно: 1.Да, я добавил свои сертификаты в цепочку ключей, как корень Apple, так и командный сертификат. 2. Да, я загрузил правильный профиль обеспечения через настройки xcode. 3. Да, он даже построен вручную в xcode.

Однако, для jenkins, возможно, была проблема кеширования на xcode. Что работало: 1.Выберите графический интерфейс Xcode. 2. Вернитесь назад и запустите сборку вручную один раз. 3. Только тогда Xcode предложит разрешить авторизацию доступа к keychain. 4. У Jenkins есть некоторые настройки, которые могли бы исправить это, но мои машины безопасны, поэтому я нажимаю "всегда разрешать xcode для доступа к цепочке ключей".

Ответ 19

Установив fastlane, вы можете создать и установить сертификат разработки

cert --development
sigh --development