Помилка підпису коду: Ідентифікаційний номер розробника iPhone не відповідає жодній дійсній парі сертифікатів / приватних ключів у ланцюжку ключів за замовчуванням


77

Як виправити цю помилку XCode :

Помилка підпису коду: Ідентифікаційний номер розробника iPhone не відповідає жодній дійсній парі сертифікатів / приватних ключів у ланцюжку ключів за замовчуванням


4
Повторення заголовка, оскільки питання, мабуть, не змусить людей захотіти вам допомогти;) Чи вдалося вам коли-небудь підписувати програму, чи ви вперше бачите цю помилку?
deanWombourne

Нічого з цього не працює ... Будь-яка ідея?
П’єр Ватлет

це працює, прочитайте коментар нижче, що означає відповідь
Пінкі

Висмикуючи це, я не працюю. Запуск xCode 4.1 та оновлення до 4.2 без зміни помилки
Phill Pafford

@deanWombourne: має те саме повідомлення про помилку і не більше того. Будь-який спосіб отримати більше деталізації за допомогою інструмента підпису коду? І що це взагалі засіб?
Артем Оботуров

Відповіді:


63

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


Це працює добре, але для завантаження програми в магазин додатків ми вибрали "Створити для архіву".
Тоді

Спробуйте відновити всі свої сертифікати брелоків. Здається, ви втратили весь важливий ключ.
sudo rm -rf

Так багато варіантів результатів пошуку "відновити брелок"! Не могли б ви додати спосіб відновлення сертифікатів брелоків та встановлення параметрів збірки на Simulator, @ sudorm-rf?
Денні

1
@Danny: Ах, минуло досить багато часу, відколи мені доводилося стикатися з усіма цими проблемами підписання коду. Я думаю, що вам більше пощастить задати це в новому питанні.
sudo rm -rf

53

Через 2 дні я "зіткнувся" зі своїм рішенням ... XCODE 4.0

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

Я пересертифікував, перепрофілював, перетягнув, відредагував файл проекту вручну, видалив шляхи НАДАННЯ, зупинив / запустив XCODE, зупинив запущений брелок, перевірив правопис, перевірив посвідчення особи, перевірив своє свідоцтво про народження, фазу Місяця та навчив свою собака морзе ... нічого з цього не вийшло !!!!

--Нижня лінія---

  1. Перейти до цілей ... Вкладка Параметри побудови
  2. Перейдіть до блоку посвідчення коду
    • Перевірте, щоб налагодження та розповсюдження мали однакову інформацію про підпис коду .. у моєму випадку "Розподіл IPhone:, не дозволяйте DEBUG заповнювати або не заповнювати.

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

Малюнок: Це показує, як знайти відповідні налаштування в XCode 4.5.

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


3
Де ця річ "Цілі"? У мене така сама проблема, але я не можу знайти цілі для зміни ...
Брайан Ноблауч,

Помилка CodeSign: підпис коду необхідний для типу продукту «Застосування» в SDK «iOS 6.0»
Стів Таубер,

Якщо ви зміните це і отримаєте помилку вище про необхідність підписання коду, то ось рішення: stackoverflow.com/questions/9899920/…
Стів Таубер,

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

Також працював у XCode 4.6.2. Дякую!
хаа

13

Перевірте, чи ви будуєте пристрій замість симулятора. Перейдіть до меню Xcode "Проект" -> "Встановити активний SDK" змініть з "Пристрій" на "Симулятор"

У розділі Xcode 4.1 перевірте налаштування збірки для проекту та цілей. Для кожної перевірки в розділі «Підпис коду» встановіть прапорець «Ідентифікація підпису коду» та перейдіть на «Не підписувати код»


Це зробило для мене фокус (Xcode 4.6). У моєму випадку, я думаю, що це сталося, тому що ми є декількома розробниками, які брали участь gitі включили цілу робочу область у сховище (я з тих пір ігнорував project.xcworkspace/xcuserdata/)
П’єр де ЛЕСПІНЕ

+1, а для Xcode 4.6.1: Продукти> Пункти призначення> x Simulator
danwild

12

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

http://developer.apple.com/ios/manage/overview/index.action

Звичайно, вам потрібно мати рахунок розробника (потрібно сплатити щорічну плату в розмірі 100 доларів США).

Сподіваюся, це допоможе.


Посилання добре працює для мене. Він переспрямовує на https one. Я чув, що у Apple були проблеми з їх сайтом, спробуйте ще раз, будь ласка.
C0D3

Ах, це може бути тому, що у мене ще немає платного рахунку.
ashes999

7

У мене була та сама проблема. Я був дуже новим у розробці iPhone, і вперше намагався надіслати свою програму в App-store ...

Перевірте наступне:

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

2. У розділі "Блок ідентифікації підпису коду" - Перевірте налагодження та розповсюдження таку ж "Інформацію про підпис коду" . Намагайтеся зберігати "Інформацію про підпис коду" однаковою у всіх блоках.

3. Спробуйте ще раз завантажити "Профіль забезпечення" та двічі клацніть на профілі. Потім використовуйте цей нещодавно завантажений профіль у "Ідентифікації підпису коду" .

4. Спробуйте завантажити "Сертифікат" ще раз з "developer.apple.com" і двічі клацніть на сертифікаті. (Це спрацювало у моєму випадку)

Потім "Очистіть" проект і натисніть "Створити для архіву" . Сподіваємось, ваш код буде архівовано ідеально.


6

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

  1. Виберіть ціль у розділі Групи та файли
  2. Натисніть кнопку Отримати інформацію
  3. Виберіть вкладку Властивості
  4. У розділі Ідентифікатор переконайтеся, що в ньому вказано com.YOURREALCOMPANYNAME.APPNAME

Коли ви створюєте нову програму, вона зазвичай пише: "com.yourcompany". Змініть його на те, на що ви зареєструвались, у моєму випадку com.DavidKanarek


"Що ви зареєстрували" Чи означає це ідентифікатор яблука, який ви використовували для реєстрації?
Джонатан,

У вашому профілі розповсюдження має бути написано com.SHOTHHING на веб-сайті Apple, що надає послуги.
David Kanarek

6

У головній робочій області XCode 4.0, вгорі ліворуч і відразу після «Кнопки зупинки» є селектор схем, клацніть на ньому та змініть свою схему на IPhone Simulator. Це воно


5

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

Рішенням було:

  1. Нехай розробник, який створив сертифікат, експортує свій приватний ключ, що відповідає відкритому ключу розробника iOS. див. http://developer.apple.com/ios/manage/certificates/team/howto.action

  2. Відкрийте цей файл (Certificates.p12) на своєму комп'ютері (за допомогою KeyChain) і введіть пароль, який використовував інший розробник під час експорту. Тепер він імпортований у ваш брелок.

  3. Тепер підключіть пристрій iOS і відновіть націлювання пристрою iOS.



2

якщо ваш сертифікат недійсний, на ньому буде червоний знак "x" та вкажіть причину. Зазвичай причиною є "Цей сертифікат минув" або "Цей сертифікат підписаний невідомим органом.

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

  1. Якщо термін дії вашого сертифіката закінчився, оновіть його на порталі iPhone, завантажте його та двічі клацніть, щоб додати до свого брелока.
  2. Якщо він "підписаний невідомим органом", завантажте сертифікат "Apple Worldwide Developer Relations" із розділу "Сертифікати" на порталі розробника iPhone і двічі клацніть на ньому, щоб додати його у свій брелок.
  3. Якщо ваш сертифікат було анульовано, видаліть сертифікат із брелока, а потім дотримуйтесь розділу "Отримання сертифіката розробника iPhone" або "Отримання сертифіката розповсюдження iPhone" у Посібнику користувача порталу програми розробника iPhone, щоб створити новий сертифікат.
  4. Обов’язково створіть резервну копію приватного ключа. Кроки для цього описані в Посібнику користувача порталу iPhone Developer Program Portal у розділі "Збереження приватного ключа та перенесення в інші системи".
  5. Якщо у вас є сертифікат розробника iPhone (або iPhone Distribution) та пов’язаний із ним закритий ключ, встановлений проміжний сертифікат Apple WWDR і ваш сертифікат дійсний, переконайтеся, що встановлено протокол онлайн-сертифікату (OCSP) та список відкликання сертифікатів (CRL). до "Вимкнено" в Доступ до брелока> Налаштування> Сертифікати.
  6. якщо проблема все ще виникає, зверніться до служби підтримки Apple.

Знайдено підтвердження того, що для протоколу стану онлайн-сертифікатів (OCSP) та Списку відкликання сертифікатів (CRL) не встановлено значення «Вимкнено» в Доступ до брелока> Налаштування> Сертифікати.
TJ

1

якщо ви просто використовуєте симулятор і щойно його оновили, це вирішило проблему для мене: перейдіть до меню-> проект-редагувати налаштування проекту. знайти розділ підписання коду (ви можете ввести "код" у швидкому пошуку) в ідентифікаторі підпису коду виберіть "any sdk" і встановіть значення "Don't Code Sign"


1

Я просто сам зіткнувся з цією проблемою.

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

Вас попросять ввести пароль вашого itunes connect, просто дотримуйтесь інструкцій.

Сподіваюся, це допоможе

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