iOS 7.0 Не знайдено ідентичності підпису коду


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

Помилка знаку коду: Не знайдено ідентифікацій кодування: не знайдено ідентифікацій кодування (тобто пар сертифікатів та приватних ключів), які б відповідали профілю надання, визначеному у налаштуваннях збірки ("Профілінг iOS Team Provisioning Profile: *"). Помилка CodeSign: підпис коду потрібен для типу продукту "Application" у SDK "iOS 7.0"


24
Я називаю це кошмаром яблучного коду-входу, я завжди вирішую це питання, видаляючи свої сертифікати / профілі, перезавантажуючи їх, а потім карта потрібних профілів.
meda

дивіться мою відповідь SO stackoverflow.com/questions/19086395/…
Deepesh

9
Перезапуск Xcode допомагає.
Рональд Рендон

2
Перезапуск Xcode працює для мене :)
Hemant Chittora

1
Третій перезапуск XCode
Хан Нгуен

Відповіді:


68

За сертифікатом

  1. Відкликати попереднє посвідчення.
  2. Створити новий сертифікат розвитку.
  3. Завантажити сертифікат.
  4. Двічі клацніть, щоб помістити KeyChain.

Для забезпечення профілю

  1. Створіть новий або редагуйте існуючий профіль надання.
  2. Завантажте та встановіть.

Для BundleIdentifier.

  1. com.yourcompanyName.Something (Поставте те саме, що і в AppId)

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

CodeSigningIdentity.

  1. Виберіть створений вами профіль надання.

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


4
Колись перезавантаження допомагає, це допомогло мені після перезавантаження мого Mac.
маска

1
Також слід перевірити, чи існує профіль надання дистрибуції з ідентифікатором додатка, який відповідає ідентифікатору пакету для програми. Як тільки я отримав відповідність, діалогове вікно "Надіслати" припинило надання мені цієї помилки.
Чак Крутсінгер

1
Перш ніж повторно генерувати сертифікати, я б радився переконатися у наявності приватного ключа сертифіката, який ви намагаєтесь використовувати.
jjramos

Якась конкретна причина, чому ми повинні відкликати попередні сертифікати ??
iAviatorJose

43

Моє вирішення цієї проблеми було:

Xcode> Налаштування. У облікових записах натисніть свій Apple ID. Клацніть Переглянути деталі, натисніть на профіль надання послуг (я думаю, що це допомагає) та натисніть кнопку оновлення знизу зліва.


17

Думав, що я доповнив би інші відповіді власним особистим досвідом щодо цього.

Нещодавно у мене виникла проблема, згідно з якою дві цілі будуватимуться, а дві не виходять із такої помилки:

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

Це було незважаючи на те, що оновлено все в Xcode та в Центрі розробників iOS .

Підказка полягала в тому, що ідентифікатор команди, показаний у повідомленні про помилку збірки, застарів.

Звичайно, відкривши project.pbxprojфайл Xcode у текстовому редакторі знайшов старий ідентифікатор команди:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

До речі, щоб отримати свій project.pbxprojфайл, виберіть його .xcodeprojта покажіть вміст, як показано тут:

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

Шукаючи за цільовим ідентифікатором D29A93A318AB96440099C177, я міг побачити, що він відповідає одній з провалених цілей:

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

У цьому випадку MyTarget3. Щоб вирішити, простий пошук тексту замінив старий Id команди на новий правильний Id. Проблема вирішена.

Підводячи підсумок , сподіваємось, ваша ситуація буде вирішена, використовуючи відповіді вище, а не заглиблюючись у складності файлу проекту Xcode. Однак якщо це не так, і помилка показує недійсний ідентифікатор команди, тоді варто перевірити, чи існує цей ідентифікатор команди.


Це було і моє питання. Не впевнений, що це через мене чи когось із моєї команди, що розповсюджується, зі своїми профілями, сертифікатами тощо. Я поставив це, щоб одночасно погано об'єднати файл pbxproj. Та DevelopmentTeam, яку я помітив, відбувається з випадаючої команди на вкладці Загальні в налаштуваннях мого проекту. Повністю видалення цієї лінії працювало для мене, якщо ви хочете, щоб команда була встановлена ​​на "Ніхто".
Джош

я перевірив це, мій DevelopmentTeam правильно, як я отримаю новий ідентифікатор? установка сертифіката має той самий DevelopmentTeam, який є в ньому. будь ласка, допоможіть
9to5ios

Працює як Чарівність. Просто замініть ідентифікатор, який відображається в помилці, на той, що над ним.
vanguard69

У моєму випадку мені довелося натиснути кнопку «Виправити» у « Ціль» -> Загальне -> Ідентичність
Охад Шнайдер

9

У мене була точно така ж проблема в розвитку. Я вирішив це шляхом

  1. Перейдіть до налаштувань XCode, перегляньте деталі Apple ID та видаліть файл скарги, на який скаржиться.
  2. Перейдіть до Keychain Access та видаліть сертифікат розробки, пов’язаний із файлом резервування, який ви щойно видалили.
  3. У Apple Member Center завантажте файл, який ви тільки що видалили локально, двічі клацніть файл, щоб переконатися, що він відображається в XCode.
  4. Завантажте локально видалений сертифікат розробки та двічі клацніть, щоб переконатися, що він відображається в Keychain Access.
  5. Слід піти зараз.

2
Ця відповідь має бути вище на сторінці.
bkSwifty

8

Я щойно мав цю проблему з Дженкінсом.

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


7

Вам не доведеться видаляти всі профілі, щоб виправити цю проблему,

Переглядаючи мої профілі пристроїв в Організаторі, я побачив, що один із моїх профілів недійсний. Потім я перейшов на сторінку " Сертифікати розробників, ідентифікатори та профілі", і всі профілі були активними, зеленими та добре виглядали, але, натиснувши кнопку "Редагувати" на тому, що на моєму пристрої показано недійсним, я побачив, що прапорець у пов'язаному обліковому записі не встановлений. незважаючи на те, що пункт Select All було встановлено. Я встановив прапорець, щоб асоціювати профіль зі своїм сертифікатом, завантажив профіль і все було виправлено.

На веб-сторінці "Профілі" натисніть "Редагувати" На веб-сторінці "Профілі"

Можливо, ви побачите, що не існує асоційованого сертифіката, навіть якщо встановлено прапорець "Вибрати все". Редагуйте свій профіль! [] [1]


Я збирався видалити весь мій профіль надання та почати з ескізу, тоді я натрапив на тебе відповідь. Ідеальний приятель. Один день був витрачений даремно через цю проблему. Дуже багато для того, щоб поділитися своєю відповіддю.
Нілеш Кумар

4

Для мене встановлення проекту → Цілі / [Ваш проект] → Загальне → Команда на «Ніхто» вирішила проблему.


4

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

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

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


2

це може здатися дивним, але для мене працював перезапуск мого mac..я не можу пояснити, чому і що сталося, але це працює зараз. сподіваюся, що це допоможе комусь


2

До цієї теми я дійшов, коли використовую чистий командний рядок / сценарій збирання jenkins, і я не хочу вручну встановлювати єдиний інтерфейс користувача / RDP для середовища інтеграції.

Через кілька годин спробуйте вирішити саме таку проблему, використовуючи джинкіни.
Ключ - "список безпеки-брелоки -s <імя_відомості ваших ключів>"

--- Довга історія ---
Я використовую скрипт в jenkins, щоб змінити параметри проекту (надання профілю та ідентифікатори підписів)
Після оновлення до Xcode 7, я повинен змінити сценарій на додавання вище "list-keychains" після "create- брелоки "

Тут оновлений сценарій .


1

вам не потрібно видаляти всі ваші профілі. У мене була така ж проблема і виправлено її, встановивши відсутні сертифікати. Ви можете забути встановити необхідний сертифікат для профілю резервування, який ви використовуєте для підписання коду.

  • переконайтесь, що ви встановили бажані сертифікати (розробка / розповсюдження) у брелок для профілю надання підпису коду (розробка / розповсюдження).

1

Спробуйте змінити ідентифікатор групи: Проект -> Цілі / [Ваш проект] -> Загальне -> Ідентифікатор групи

Якщо додаток було опубліковано в AppStore XCode, це не дозволяє створити програму з тим самим ідентифікатором пакету.


1

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

Xcode> Налаштування> Облікові записи> Переглянути деталі. Поруч із розповсюдженням iOS натисніть кнопку «Скинути». Це призведе до визнання недійсним профілем надання дистрибуції, який ви використовуєте (оскільки ви скинули сертифікат розповсюдження), тому відредагуйте профіль, щоб включити нещодавно підтверджений сертифікат.

Не забудьте завантажити як новий сертифікат розповсюдження, так і нещодавно відредагований профіль надання дистрибуції. Перезавантажте Xcode.


1

Переконайтеся, що ваш сертифікат пов'язаний з вашим приватним ключем :

Відкрийте доступ до брелка, вхід, сертифікати . Знайдіть сертифікат всередині списку і перевірте, чи правильно він поєднаний із вашим приватним ключем.

Якщо сертифікат не підписаний приватним ключем, видаліть його, перейдіть на сторінку розробника Apple і створіть новий сертифікат. Іноді знадобиться відкликати старе. Цей новий сертифікат тепер буде належним чином підписаний вашим приватним ключем.

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

Зауважте, коли хтось із вашої команди скидає цей сертифікат своїм приватним ключем, ця сама проблема може з’явитися знову під час оновлення. Я не впевнений, але, схоже, кожен розробник у команді повинен мати свій сертифікат на розповсюдження.


1

Очевидно, це питання має різні причини. :)

У моєму випадку термін дії мого облікового запису закінчився ... Я вирішив це просто:

XCode -> Налаштування -> Обліковий запис -> Ідентифікатори Apple -> Виберіть відповідний ідентифікатор та оновіть вхід у систему ...

Сподіваюся, це допомагає!


0

Перейдіть до навігатора Issue і перевірте, чи Signing Identity:він присутній у вашому доступі до брелоків . Якщо ні, завантажте .cerфайл і додайте його до брелка.


0

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


0

У мене була така неоднозначна помилка: "Command / usr / bin / codeign не вдалося з кодом виходу 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 отримати доступ до брелка".


0

Якщо встановлено Fastlane , ви можете створити та встановити сертифікат розвитку від

cert --development
sigh --development
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.