Чому в Xcode 6 з’являється повідомлення про помилку «Не вдалося знайти або створити відповідні об’єкти підпису»?


79

Я встановив насіння Xcode 6 GM і вперше намагаюся створити файл IPA. Після успішного архівування, коли я натискаю кнопку Експорт, з’являється вікно із записом:

Не вдалося знайти або створити відповідні об’єкти підпису

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

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

    Якщо у вас є ідентифікатор підпису на іншому Mac, ви можете імпортувати профіль розробника. Ви також можете відкликати поточний сертифікат і подати запит ще раз.

Ось знімок екрана помилки:

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

Хто-небудь може сказати мені, як це вирішити?


1
у мене нічого не працює :( це єдиний варіант завантаження xcode 5?
Ігор Коноплянко

1
Як не дивно, "Спробуйте ще раз" у мене спрацювало
Джеймс Рот,

На жаль, остаточного рішення чи виправлення немає. Хтось знає, чому це відбувається?
Alix

1
я також стикаюся з тією ж проблемою xcode 7.2, але не отримую рішення
matinict

Відповіді:


24

У доступі до брелока, -> Показати сертифікати, термін дії яких минув, а потім у своєму брелоку для входу натисніть на сертифікат, термін дії якого закінчився, і видаліть його. У мене також був такий самий сертифікат із закінченим терміном дії у моєму системному брелоку, тому я також видалив його звідти.

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

Завантажте https://developer.apple.com/certificationauthority/AppleWWDRCA.cer і додайте його до доступу до брелока> сертифікати (термін дії закінчується 2023)

це вирішило мою проблему


3
Завантаження в цьому рішенні - це те, що вирішило це для мене. Усі мої сертифікати були зареєстровані як недійсні користувачі до того, як я їх завантажив.
Магнус О.

Дякую за цей допис! Це вирішило проблему в моєму випадку.
Джошуа

Дякую! Для когось іншого: вам не потрібно видаляти всі прострочені сертифікати розробки, а лише сертифікат Apple "Відносини з розробниками у всьому світі"
scosman

Працював у мене. У всіх, хто стикався з цією проблемою, термін дії ліцензії розробника закінчувався до поновлення? Це мій випадок, я просто цікавився іншими.
ALTV Візуальний

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

19

Я відредагував профіль розповсюдження і завантажив його знову, перезапустив xcode, і він запрацював.


1
Те саме тут, просто повторно зберегли новий профіль, встановили його, а потім перезапустили. Як тільки я це зробив, все працювало.
warpedspeed

1
Я просто вибрав його у списку надання профілів у Центрі для учасників, вибрав редагувати, нічого не змінив і зберег.
Джеремі Хікс,

Я відкликаю і створюю новий профіль розповсюдження, завантажую, додаю в xcode і працюю як шарм :)
Улісс

10

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

xcodebuild -exportArchive -archivePath $ projectname.xcarchive -exportPath $ projectname -exportFormat ipa -exportProvisioningProfile "Надання імені профілю"

Примітка: "Ім'я профілю надання" - це ім'я, вказане в полі імені сертифіката (переглядається з developer.apple.com).

Це створить .ipa.

тут належить Оригінальний автор

Цей фокус спрацював для мене.


3

Вперше я отримав те саме, а потім зрозумів, що на сайті розробника з’явився новий профіль підготовки, який розпочався з XC: я перезапустив xcode і xcode автоматично знайшов створений раніше профіль XC: і дозволив підписати програму . Схоже, перезапуск xcode та оновлення підписів (після входу під час завантаження / перевірки програми на xcode) зробили свою справу


перезапустив Xcode, і він працює. навіть у Xcode 10!
Саураб Праджапаті,

3

Я отримав цю помилку, коли мав кілька облікових записів / команд розробників, у яких я був. Рішенням для мене було переконатися, що все наступне було правильно налаштовано:

  1. У мене був сертифікат розповсюдження із закритим ключем для облікового запису, до якого належала програма (якщо хтось інший зробив сертифікат, вам потрібно ввести приватний ключ від нього та встановити його).
  2. У мене був конкретний (не підстановний) ідентифікатор програми (як у com.mycompany.myapp).
  3. У мене був профіль підготовки, який був створений за допомогою вищезазначеного сертифіката розподілу разом із AppID.

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


2

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

Крок 1: Перейдіть до налаштування xcode.
Крок 2: Клацніть на вкладці Облікові записи.
Крок 3: Клацніть на піктограму (+), щоб додати новий обліковий запис.
Крок 4: Увійдіть за допомогою облікових даних розробника
Крок 5: Натисніть "Готово"

2

Не знаю, чому у мене працювало "Використовувати місцеві підписуючі ресурси"


Те ж саме. Справа в тому, що коли ви вибираєте команду, Xcode намагається з’ясувати підписання «налаштування», запитуючи портал розробника. І з якихось невідомих причин це не вдається зробити. Останнім засобом у цьому випадку було б використання місцевих активів підписання. Звичайно, якщо ви впевнені на 100%, ви вже правильно налаштували локально.
Євген Дубінін

1

Мені вдалося вирішити цю проблему, перейменувавши ім'я профілю надання в Центрі учасників та оновивши в XCode 6.


1

Я отримав те саме випуск. Я був упевнений, що моє забезпечення та сертифікат тощо правильно встановлені. Я створив їх на порталі apple dev, коли відкрили мій Xcode 6.2 . Після завантаження сертифіката та підготовки я двічі клацнув обидва, а потім зміг вибрати для підписання з Xcode. Тобто до цього моменту НЕ потрібно перезапускати Xcode, оскільки новий файл підготовки доступний для вибору з Xcode. Потім я заархівував двійковий файл, і він відкрився в Організаторі для подання.

Але тут виникає фактична проблема, що Організатор не знає про мої справжні активи. Отже, тут нам потрібно перезапустити Організатор (Xcode). Я повинен сказати про помилку в кінці Apple, щоб не повідомити Організатора про оновлені активи. Як і після перезапуску Організатора, я подав програму, і вона запропонувала дозволити підписати сертифікат із брелока .


1

Лише таким чином вирішив проблему для мене: відкрийте програму «Доступ до брелока» та виберіть «Перегляд» -> «Показати сертифікати, що минули». Видаліть ВСІ сертифікати Apple, термін дії яких минув! Перезапустіть Xcode.

Див.: Xcode не може створити збірки розподілу для подань App Store або корпоративних програм -> https://developer.apple.com/support/certificates/expiration/


0

Я також стикався з такою ж проблемою під час використання Xcode 6 GM, і тому я використовував Xcode 5.1 для створення файлу ipa.


0

Це може статися під час спроби першого випуску з новою версією Xcode на тому ж Mac .

У моєму випадку у мене були встановлені як Xcode 6, так і Xcode 5.

Я вирішив проблему, експортувавши свій .developerprofile в Xcode 5, а потім імпортуючи його в Xcode 6 таким чином:

У старому Xcode (мій був 5.1.1)

  1. Перейдіть до Xcode> Налаштування> Облікові записи
  2. Виберіть піктограму Gear внизу ліворуч
  3. Виберіть Експорт рахунків
  4. Встановіть файл для збереження в місці, яке ви легко знайдете
  5. Введіть пароль, який ви будете використовувати під час імпорту
  6. Виберіть Зберегти

У новому Xcode (мій був 6.0.1)

  1. Перейдіть до Xcode> Налаштування> Облікові записи
  2. Виберіть піктограму Gear внизу ліворуч
  3. Виберіть Імпорт облікових записів
  4. Виберіть файл .developerprofile
  5. Введіть пароль, і тепер ви зможете продовжити.

Це також працює від старого Mac до нового Mac.


Звідки я імпортуватиму, коли немає попереднього профілю розробника?
Alix

0

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



0

У XCODE 6, коли ми створюємо профіль підготовки, він повинен бути типу ADHOC. Встановіть профіль у налаштуваннях збірки, а потім заархівуйте. Я думаю, все буде працювати нормально


0

У мене була така сама проблема, і тепер я можу знову ЕКСПОРТУВАТИ свій додаток. 1) ця відповідь була дуже кумедною, але доброю, ЩОБ НІКОГО НЕ ЧУЛИ, поєднуючись з 2) відповів 19 вересня '14 о 23:21 і змусив мене працювати на моєму iPhone.

Перейдіть на сторінку development.apple.com -> Сертифікати -> Усі / Виробництво та просто видаліть свою річ розподілу iOS . Може статися так, що ви видалили всі локальні сертифікати, і це вже не відповідає оригіналу, ось чому у вас є це повідомлення з цим зображенням =) Як я вже сказав, у мене була та сама проблема. Після видалення просто Архів та Експорт нового, і він зробить це автоматично.

Версія 6.1.1 (6A2008a)


0

Я міг побачити свій сертифікат розподілу в ланцюжку ключів, але він не був підписаний. Я вирішив це, перейшовши на сайт Dev, очистивши всі сертифікати та надавши профілі (так, видаливши всі), а також повторно створивши сертифікати (dev та dist) та завантаживши та очистивши старі сертифікати та імпортуючи нові в брелок. Крім того, якщо у вас більше одного ідентифікатора програми, згенеруйте профіль розповсюдження та завантажте при імпорті, інакше Xcode mgmgt може вибрати неправильну програму для створення профілю (трапилося зі мною). Перезапустивши XCode, я переконався, що розподіл iOS було вибрано в розділі підписання цільових програм (цього не було). XCode переробив мені prov-профілі. Він пройшов перевірку підписання (тьфу зараз до 64-розрядної підтримки!)


0

У моєму випадку "Xcode 7.3" все, що мені потрібно було очистити проект, перезапустити Xcode, повторно заархівувати, і все добре.


0

Моєю проблемою було те, що в iTunesconnect мій обліковий запис був сертифікований як "розробник iOS", але не як "дистрибутор додатків iOS". Довелося відтворити сертифікат, завантажити його, відкрити за допомогою брелока, а потім повторно перевірити архів. Це нарешті спрацювало. Дякую всім


0

Щоб це виправити, мені довелося відключити автоматичне керування підписами в меню Ціль> Загальне та імпортувати профілі dev та pro після завантаження з мого облікового запису розробника Apple. Відновлений додаток, і він працював, більше нічого не робилося. Я думаю, це питання може надходити з багатьох різних джерел.


0

Мою проблему спричинило щось інше, тому це може допомогти.

Це досить просто, я повинен розробляти облікові записи, і я вибрав неправильний при експортуванні на організаторі! Дух.

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


-4

Нікого не слухайте.

ЗРОБИТИ ДАЛІ:

  1. Відкрийте XCODE
  2. Перейдіть до Xcode> Налаштування> Переглянути деталі
  3. Ви побачите Підпис ідентифікує у верхній частині нового вікна. Буде "Розробка iOS" або "Розподіл iOS". (у моєму випадку було лише 1 - розробка iOS)
  4. Відкликати всі ідентифікатори підписів, які у вас є
  5. Натисніть кнопку "+" і натисніть "Розробка iOS", потім "Розподіл iOS". Тепер ви запитуєте нові посвідчення особи!

ЗАВЕРШИТИ! ТІЛЬКИ 5 КРОКІВ


8
Мені подобається ваша впевненість, але це було так само невдало, як і інші відповіді.
Alix

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

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

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