Xcode 4 - помилка "Недійсна особа підпису не знайдена" при наданні профілів у новій установці Macintosh


209

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

Під час відкриття проектів Xcode, побудованих на старому Mac, я не можу запустити додаток на iPhone, який був налаштований як розробник iPhone.
Організатор Xcode 4 повідомляє мені "Дійсне посвідчення підпису не знайдено" у моїх профілях резервування.

Я думаю, це щось стосується файлу .certSigningRequest, який я генерував раніше на старому Mac (у мене є резервна копія цього файлу), але що я маю робити з цим на новому Mac?

Ще одна дивна річ: я не бачу моїх 5 існуючих профілів резервування (визначених на порталі надання послуг Apple) в організаторі, навіть після оновлення та після введення логіну та пароля мого порталу:

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


4
Як ви перевозили свою особу через Найпростіший спосіб - скористатися кнопками імпорту / експорту прямо там, у нижній частині вікна, яке ви показуєте - експорт з робочої системи, імпорт до нової системи. Це повинно забезпечити копіювання всіх сертифікатів та профілів.
Томмі

2
але що робити, якщо на старій машині поганий жорсткий диск (і немає резервної копії) або вже переформатоване?
неополярність

Насправді очевидно, що питання як коментар - це погана ідея. (Цілком нове запитання про стаковий перелив. Або розміщення існуючого питання - це правильна ідея.)
Warren P

Відповіді:


221

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

  1. Відкрийте Органайзер (Shift-Command-2).
  2. Виберіть вкладку Пристрої.
  3. Виберіть профіль розробника у верхньому лівому куті під БІБЛІОТЕКА, який може знаходитися під бібліотекою заголовків або під заголовком, який називається КОМАНДИ.
  4. Виберіть "Експорт" біля лівої нижньої частини вікна. Xcode просить вибрати ім’я та пароль файлу.

Редагувати для Xcode 4.4:

З Xcode 4.4 на кроці 3 оберіть Надання профілів у БІБЛІОТЕКА. Потім виберіть свої профілі резервування за допомогою миші або Command-A.

Крім того, Apple вдосконалює спосіб управління цим аспектом Xcode, а деякі користувачі повідомили, що кнопка Refresh у правому нижньому куті робить свою справу. Тому спробуйте спочатку натиснути Оновити, і якщо це не допоможе, виконайте послідовність експорту / імпорту.

Зображення для XCode 4.6 додано WP

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

Редагувати для XCode 5.0 або новішої версії:

  1. Відкрийте XCode -> Налаштування ('Command' + ',')
  2. Виберіть зі списку Apple ID .
  3. Клацніть піктограму НАСТРОЮВАННЯ біля лівого нижнього кута вікна та виберіть ЕКСПОРТНІ РОЗВИТКИ ... Xcode просить вибрати ім’я файлу та пароль.

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

Зображення для XCode 5.0 додав Ankur

Для XCode 5 або новіших версій


19
На етапі 3 у розділі БІБЛІОТЕКА не вказано "Профіль розробника". Натомість мені довелося обрати <моє ім'я команди> під командами TEAMS.
Стів Онорато

9
Я продовжую отримувати "дійсну особу підпису не знайдено"
RGML

7
У мене є 2+ комп’ютери, які я використовую для розвитку. Я експортував профіль резервування на одному з них, але не зміг імпортувати його зі сторінки Організатор> Бібліотека> Профілі надання послуг. Мені довелося перейти на сторінку «Бібліотека»> Команди> myUserID, щоб мати можливість імпортувати профіль розробника.
GLaDOS

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

4
Я створив картину, щоб зробити це зрозумілішим для користувачів XCode 4.6. ЯБЛИКА НЕ ЗРОБИТИ ЦЕ ПРОСТО ????
Warren P

60

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

  1. Підключіться до центру учасників програми для розробників яблук, а потім до тимчасового порталу iOS.
  2. Відкликати мій сертифікат.
  3. Створіть новий сертифікат, надавши нову пару приватного та відкритого ключа.
  4. Видаліть усі попередні профілі забезпечення та створіть нові.
  5. Завантажте нові профілі забезпечення та встановіть їх у XCode, просто перетягнувши їх до піктограми XCode на доці.

Про цю ж дію згадується і в цій публікації .


Дякую, це просто працювало для мене (у мене немає свого старого мака, щоб я щось передавав)
Джеймі Г

1
Дякую @tiguero .. Мій HD теж вийшов з ладу .. і я намагався знайти відповідь на те саме після відновлення даних з HD. Але коли я лише знову створив сертифікат, використовуючи портал брелоків та забезпечення. Це вирішило все питання. ПРИМІТКА. Можливо, нам буде потрібно змінити профіль надання та додати до них новий сертифікат, а потім повторно завантажити та встановити їх. Ура, Кодери .. Я сподіваюся, що це допоможе комусь, хто шукає відповідь.
Apple_iOS0304

1
Це дуже важливі знання. (Відкликання попереднього сертифікату, необхідного до створення нового, навряд чи інтуїтивно зрозуміло, але це, безумовно, хороша практика роботи Apple, щоб працювати таким чином. Це ускладнює ваше життя, якщо ви втратите свій ключ.)
Warren P

Якщо ви анулюєте сертифікат, який використовувався для підписання у виробництві програми, чи це якимось чином не впливає на додаток?
Еммануель Ай

2
@EmmanuelAy Якщо ваше членство в програмі iOS для розробників дійсне, ваші існуючі додатки в магазині додатків не вплинуть на анулювання вашого сертифіката. Подивіться тут: developer.apple.com/support/technical/certificate
tiguero

16

Переконайтеся, що ваш сертифікат знаходиться в брелоку "Логін". Виділіть брелок для входу, якщо ви його не бачите, знайдіть його. Потім перетягніть куртер над словами "вхід". Закрийте та відкрийте XCode, та-да.


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

О, просто натискання не працює, як описано на developer.apple.com/ios/manage/overview/index.action . Місце слід вибирати вручну
sergtk

9

Вам потрібно скопіювати приватний ключ та сертифікат зі свого старого Mac. Відкрийте Keychain Access на старому Mac та перегляньте категорію Ключі брелка для входу: ключ повинен бути там. Ви повинні експортувати як державний , так і приватний ключ, а потім скопіювати 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 працює нормально, але. xCode як і раніше говорить про недійсний сертифікат підпису…
Майкл Роу

9

За помилку

Дійсне посвідчення підпису не знайдено

див. опубліковані кроки Apple для вирішення цієї проблеми.

Що стосується випуску ваших "5 існуючих профілів забезпечення" на порталі iOS, яких немає у вашій локальній бібліотеці в Xcode 4.x Органайзер> вкладка "Пристрої"> розділ "Профілінг" у розділі "Бібліотека".

Рекомендую виконувати кроки, які проводять вас через відновлення відсутніх профілів, а також висвітлюють випадки помилки Xcode, в якій Xcode 4.1-4.2.1 помилково видаляє зі своїх локальних профілів бібліотеки, які "Активні" на порталі iOS.


1
Мені подобається ця відповідь, оскільки вона насправді працює, і їхні документи намагатимуться постійно оновлюватись
okysabeni

7

Вам доведеться зайти на свій веб-сайт розробника, перейти до ваших сертифікатів та створити новий для вашого поточного MAC та додати його у свій брелок.

І тоді вам потрібно буде знову додати профіль надання. Це має працювати зараз. В основному вам потрібно виконати ті самі дії, які ви робили, коли ви вперше отримали сертифікат Dev.


7

У мене була така ж помилка, але проблема була дещо іншою. У нас є команда розробників, але всі ми використовуємо той самий Apple ID (обліковий запис розробника), тож коли я створив профіль Provisioning, я отримував таку ж помилку, що і в темі. Тоді, хоч я і завантажив сертифікат (про що з'являється запит у рамках кроків Асистента забезпечення надання послуг), я все-таки отримував цю помилку. Тоді я виявив, що проблема в тому, що наш обліковий запис Apple Developer використовує Сертифікат, сформований на моїй машині напарника, тому мені потрібно було його відкликати та створити новий сертифікат, а потім створити профіль резервування.

Підсумок, засвоєний урок полягає в тому, що сертифікат, який використовується для вашого профілю резервування, повинен бути згенерований на тому ж комп’ютері, де буде використовуватися профіль резервування. Це особливо важливо враховувати, коли у вас є команда розробників, яка ділиться тим самим Apple ID.
Сподіваюся, це комусь допоможе


6

Мої 2 центи на цю помилку, навіть якщо вона не пов’язана зі сценарієм експорту / імпорту:

додаючи сертифікат мобільного забезпечення (тобто PROVфайл), НЕ перетягуйте файл із Finder до Keychain Access. Натомість, просто двічі клацніть файл PROV у Finder, зберігаючи десь запуск програми Keychain Access.

Я фактично бачив, як мій попередній елемент резервування в Keychain (той, що має жовте світло) заміщений новим, зеленим з тим же ім'ям та ідентифікатором програми. HTH


1
Дякую, також натиснути кнопку "Додати" у розділі "Надання профілів" у розділі "Організатор Xcode" не вдається, тоді як якщо я двічі клацніть файл .mobileprovision, все працює нормально.
damix911

5

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

Меню Xcode> Налаштування> Облікові записи> THE_APPLE_ID_THAT_YOU_ARE_USING> Переглянути деталі

У новому вікні, внизу зліва Signing identitiesнатисніть +кнопку та виберіть iOS Development. Він повторно додасть ідентифікацію, і після цього мою проблему вирішено зараз, і додаток запускається на пристрої знову.

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


4

Моя MAC ОС нещодавно зазнала аварії. Я перевстановив Mac 10.7.4і XCode 4.5. Але всі профілі резервування показали таке повідомлення у organizer.

Valid Signing identity not found

Я боровся шукати допомоги пару днів. Пізніше я зрозумів, що якщо ви перейшли з однієї системи в іншу (або відформатували вашу систему), вам потрібно експортувати приватний ключ зі свого брелка зі старої системи до нової системи (або встановлено нову ОС).

Ви також можете експортувати свій профіль розробника / команду розробника в організатор.

Organizer > Teams > Developer Profile > Export

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


3

У мене трапилось те саме, що і з Tiguero (дякую за вашу відповідь, це дало мені надію), але ось спосіб позбутися від 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, щоб уникнути помилки знаку коду.
Катерина

2

Я вирішив помилку "Дійсна особа підпису не знайдена" з більшою чи меншою мірою:

  1. Переконайтеся, що сертифікат у вашій програмі для розробників iOS також вказаний у вашому доступі до брелоків та дійсний (порівняйте дати випуску). Якщо це не так, або перенесіть його зі свого старого Mac, використовуючи вказівки з посилання на яблуко, або видаліть його з веб-сайту та доступу до брелка, а потім відтворіть його, повторно завантажте його та перетягніть його через X-код.
  2. Видаліть усі існуючі профілі забезпечення розробки чи розповсюдження та відтворіть їх на основі нового сертифіката, перезавантажте їх та переконайтесь у доступі до брелоків, що все є дійсним.

0

Схоже, ви можете переносити свої сертифікати та профілі забезпечення з однієї машини на іншу, тому якщо у вас виникли проблеми з налаштуванням сертифікату та / або профілів, оскільки ви перемістили свій Dev-апарат, подивіться на це:

як передавати сертифікати xcode між Mac


0

Хитрість для мене полягала в тому, що, хоча я міг бачити сертифікат розробника під входом у систему, це було не в розділі "Мої сертифікати". Виправлення полягало в тому, щоб експортувати cert з брелка на старий mac, а потім імпортувати його в "Мої сертифікати / логін" на новий mac.


0

Про це ніхто ще не згадував, і це може не бути поширеною проблемою, але у мене була аналогічна проблема з Xcode 5: Переконайтесь, що у вас є брелок за замовчуванням, вибраний у Mac Keychain Access . Я спробував свіжу інсталяцію Mountain Lion і видалив один брелок, який стався за замовчуванням. Встановивши інший брелок як за замовчуванням (клацніть правою кнопкою миші на брелок і виберіть Зробити брелок "Ім’я ключа" за замовчуванням "), Xcode змогла встановити дійсні особи підпису.


0

У мене була ця проблема, оскільки сертифікат розвитку iOS, пов’язаний із профілем надання, не був у моєму брелоку. Я перевстановив OSX, і це було результатом. Я зробив наступне:

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

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

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