/ usr / bin / codeign не вдалося виконати код виходу 1


81

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

/ usr / bin / codeign не вдалося виконати код виходу 1

У когось є ідеї, чому це відбувається?



1
stackoverflow.com/a/44889440/2252866 Це рішення спрацювало для мене. Я розробляв додаток macOS.
Медіахон

Відповіді:


55

Оновлення:
Технічна примітка в моїй оригінальній відповіді тепер застаріла. Apple опублікувала збірку проблем із підписанням коду (та деякі рішення) у новому документі: Технічна примітка TN2407 Індекс усунення несправностей підпису коду

Перевірте властивість CODE_SIGN_IDENTITY у налаштуваннях збірки. Чи вибраний там ваш профіль забезпечення?
Вам також потрібно ввести дійсний ідентифікатор набору в .plist вашого додатка.
Ідентифікатор повинен відповідати ідентифікатору, який ви вказали під час створення профілю.
Про це тут є Apple .


1
Виявляється, проблемою був дійсний ідентифікатор пакета. Дякуємо за допомогу, тепер це виправлено.
PF1

Як ви "вводите дійсний ідентифікатор пакета"? Як виглядає одна з таких?
build

Ідентифікатор пакета - це рядок у нотації зворотного DNS (наприклад, com.apple.dt.Xcode), який присвоюється ключу списку CFBundleIdentifier. Більше про це тут: developer.apple.com/library/ios/#documentation/General/…
Thomas Zoechling

Навіть не знав, що цей параметр там був. Ви рятуєте життя.
dclowd9901

25

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

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


Як ви це вирішили? У мене така сама проблема, але Keychain Access показує мені лише один сертифікат.
Dan Ray

11
Я знайшов це. Для запису, проблемою був сертифікат, термін дії якого закінчився на моєму системному брелоку ключів. Доступ до брелока за замовчуванням не показує сертифікати, термін дії яких минув. Я зайшов до системного брелока, змусив KA повідомити мені про прострочені сертифікати, видалив прострочений, який стикався з моїм відповідним на брелоку для входу в систему, і дядька Боб.
Dan Ray

Тобіас, ти блискучий. Дякуємо, що знайшли цей трюк правою кнопкою миші.
Грег Комбс,

У мене теж була ця проблема. У моєму випадку його розширення показало, що загальна назва була "неоднозначною", оскільки TweetDeck, здавалося, керував ланцюжком ключів для входу до мого облікового запису. Мені довелося зайти в Бібліотеку / Підтримку програм / Adobe / Air / ELS / і продути розташовані там файли. Тоді все працювало нормально. Химерно!
поглиблений

У моєму випадку проблемою була смарт-карта, підключена до мого mac mini з недійсним сертифікатом.
Джорджо

18

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

Я пішов на брелок, у мене була опція входу «розблокована». Я заблокував його і знову скомпілював свою збірку. Сам Xcode попросив мене відкрити брелок доступу. Я дав доступ, і це спрацювало.

Кроками були:

  1. Перейдіть до брелока
  2. Заблокуйте
  3. Заархівуйте код, побудуйте проект заново

це спрацювало - accountsdпопросив доступ до брелока при перезавантаженні після оновлення, яке я відхилив, оскільки модалі внизу були дивними. підстрибуючи брелок був фокус
Уоррен Бертон

14

У мене була точно така ж помилка, і я спробував все під сонцем, включаючи те, що було десь на цій сторінці, без успіху. Проблемою для мене було те, що в Keychain Access фактичний сертифікат Apple WWDR був позначений як " Завжди довіряти ". Це мало бути "За замовчуванням системи ". Це стосується і ваших сертифікатів розробки та розповсюдження. Якщо для будь-якого з них неправильно встановлено значення " Завжди довіряти ", це, мабуть, може спричинити цю проблему.

Отже, у Keychain Access натисніть сертифікат Центру сертифікації Apple Worldwide Developer Relations, виберіть Get Info . Потім розгорніть налаштування довіри, а для поля зі списком " При використанні цього сертифіката: " виберіть "За замовчуванням системи ".

Інші зауважили, що вам може знадобитися зробити це в системі та ввійти в брелки для цих помилок .


Щиро дякую, я стикався з цією проблемою з останніх 3 днів і спробував стільки речей, як видалення всіх сертифікатів із Моїх сертифікатів, видалення Apple Id тощо, але нарешті спрацював, коли я натиснув сертифікат Центру сертифікації Apple Worldwide Developer Relations Certificate, виберіть Get Інформація. Потім розгорніть налаштування довіри, а для поля зі списком "При використанні цього сертифіката:" виберіть "За замовчуванням системи".
Анкіт,

9

Причиною такої помилки може бути багато причин:

  1. Перевірте, чи вибраний вами профіль підготовки, який включає дійсний ідентифікатор підпису коду та дійсний ідентифікатор набору в налаштуваннях. (Перейти до налаштувань збірки-> Підписання-> Профіль надання).

  2. Відкрийте Keychain Access і натисніть на значок замка у верхньому лівому куті, щоб він заблокував брелок для входу, а потім знову клацніть, щоб розблокувати.

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

  1. Перейдіть до Файл-> Налаштування проекту-> Похідні дані та видаліть папку збірки проекту. Після цього почистіть і побудуйте свій додаток.

так @cesarak, це якась помилка в брелоку, я думаю.
Рахул Кумар,

6

У мене була та ж проблема з побудовою розподілу. Це просто сталося раптово. Насправді у мене не було цієї проблеми кілька днів тому, і у мене була спеціальна версія компіляції. Ця проблема виникла, тому що мій термін дії мого сертифіката минув сьогодні. Тож я пішов створити нове попереднє керівництво Apple: (http://developer.apple.com/ios/manage/distribution/index.action).

Провівши години в мережі і переконавшись, що я не впав на те, що може піти не так. Ось що мене рятує, як запропонували Тобіас і Ден Рей:

  1. "... виявив, що ви можете клацнути правою кнопкою миші повідомлення про помилку в Xcode, щоб переглянути деталі".
  2. "... проблема була у сертифікаті, термін дії якого закінчився на моєму системному брелоку. Доступ до брелока за замовчуванням не показує сертифікати із закінченим терміном дії".

Детальна інформація розповіла мені про неоднозначне узгодження двох сертифікатів. Одним із них виявився термін дії сертифіката в ланцюжку системних ключів. Тож я видалив прострочений, тоді він спрацював! У мене також виникло занепокоєння щодо того, що вводити в "загальне ім'я" при створенні сертифіката розповсюдження за допомогою утиліти брелок: моє ім'я або назва моєї компанії. У моєму випадку я ввів своє ім’я. Я припускаю, що це те саме, що і заголовок, вказаний електронною поштою автовідповідача розробника.

Велика допомога. Дякую.


3

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

Потім перейдіть до файлу .app у терміналі та введіть:

xattr -cr <шлях_до_набору додатків>

посилання: https://developer.apple.com/library/content/qa/qa1940/_index.html


2

У мене спрацювало додавання --deepдо інших прапорів підпису коду в налаштуваннях збірки. Більше інформації тут: Програмна програма Dropbox API не працює в Xcode 4.6.3: "Об'єкт коду взагалі не підписаний"

На жаль, ця неоднозначна умова помилки має 400 різних рішень, але я відступаю.


1
Гей, Метте, дякую! Це збило мене з розуму .. я кілька разів подавав у відставку, і це не спрацьовувало .. ну - глибоко допомогло .. Але врешті-решт, я думаю, це було те, що я пропустив додавання свого облікового запису розробника в XCode .. Це так чи інакше дивно ..
Лукас

1

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


1

Я повинен погодитися з Тобіасом. Помилка занадто загальна. Коли зі мною трапилося те саме, я заглибився в повідомлення про помилку і зрозумів, що щось вплутав у властивості збірки, але не підписання коду. Так так, я б заглибився в деталі.


1
Ви повинні вказати це як коментар під запитанням користувача.
Маттео Алессані

1

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

Перехід до детального повідомлення показує мені справжню проблему.


1

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

  1. Переконайтеся, що немає сертифікатів на вкладці Система> Сертифікати в Доступ до брелока. Видаліть усі дублікати сертифікатів звідти.

  2. Встановіть проміжний сертифікат WWDR під сертифікати з порталу надання, на додаток до сертифікатів розробників і переконайтеся, що ви бачите його на вкладці Вхід> Сертифікати в Доступ до брелока.

сподіваюся, це допоможе комусь із вас!


1

Та сама проблема з неоднозначною (відповідає "Розробнику iPhone: [мені]" та файлу бібліотеки priweetata /// tweetdeck. Виправлено, перемістивши файл у кошик та повторно увійшовши до Tweetdeck, знову встановивши паролі. Яка біль.


1

У мене була та сама проблема, але в журналі помилок також було вказано наступне: CSSMERR_TP_CERT_NOT_VALID_YET

Перегляд сертифіката в KeyChain показав подібне повідомлення. Проблема була пов’язана з неправильним налаштуванням системного годинника мого Mac. Як тільки я встановив правильний регіон / час, сертифікат був позначений як дійсний, і я міг створювати та запускати свою програму на iPhone


1

Я також отримував цю помилку ("/ usr / bin / codeign не вдалося виконати код виходу 1"), і коли я заглянув у Keychain Access, мої сертифікати розробника були позначені як "Цей сертифікат підписаний невідомим органом". Нещодавно я перейшов на Mac OS 10.8 і з того часу мав ще пару проблем із XCode (4.5.2). Виявляється, у мене не було встановлено проміжний сертифікат WWDR. Я завантажив це з порталу підготовки iOS, встановив це в Keychain Access, і мій проект будується знову!


1

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

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



0

Однією з можливих причин є те, що ви не маєте дозволу писати в каталозі збірки.

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


0

Я щойно натрапив на цю помилку, і це тому, що я намагався записати файл збірки на мережевий диск, який не працював. Знову пробував з мого робочого столу, і він працював просто чудово. (Можливо, вам доведеться "Очистити" збірку після її переміщення. Просто виберіть "Очистити всі цілі" зі спадного меню "Збірка").

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


0

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


0

Ще одна причина - перевірте, чи ваш обліковий запис розробника підключений до xCode

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


0

Старе запитання, але все-таки буває, здається. Інше рішення:

Виник у мене після відновлення гілки в git. Пробував чистити, чистити збірки, видаляти похідні та перезапускати Xcode, але не везло.

Спробуйте перезавантажити комп.


0

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


0

Кинувши свої коментарі в кільце, я просто зіткнувся з цим, намагаючись оновити моє середовище розробки, натиснувши випадково ЗАБОРОНИТИ на одному із запитів програми, після пошуку навколо я виявив ряд речей, які, здавалося, не працювали. Це повний порядок, у якому я намагався виправити, і чи був успіх:

1) Спроба очистити DerivedFiles і перезапустити XCode - без кісток

2) Спроба увійти та розблокувати брелок, а потім перезапустити XCode - без кісток

3) Спроба оновити мій обліковий запис розробника в рамках XCode - без кісток

4) Кусайте маркер і просто скидайте весь мій брелок, після цього мій обліковий запис розробника вийшов із системи (знову ввійшов), а потім перезапустив XCode - без кісток

5) Знайшла тут статтю, в якій сказано, що нам потрібно встановити для [login | local | System] / certificate / Apple Worldwide Developer Relations Certificate Authority значення "System default". Але в моєму випадку це вже було встановлено за замовчуванням системи - без кісток

6) Потім я подивився свій власний логін сертифіката розробника / мої сертифікати / розробник Mac: і коли я заглянув туди, йому було правильно встановлено значення Підтвердити перед тим, як дозволити доступ, АЛЕ в нижньому розділі немає записів. Має бути [Xcode, кодовий дизайн, збірка продуктів]. Я видалив запис сертифіката та перезапустив XCode - бінго

Сертифікат був доданий, і тоді мені було запропоновано. Отже, що я зробив, я натиснув «завжди дозволяти», а потім просто зневірився.

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


0

У моєму випадку, після кількох днів досліджень,

Усе, що я зробив для обертання, перелічено нижче:

  1. видаліть весь сертифікат з вашого брелока.
  2. перейдіть до свого облікового запису apple. а) завантажте вказаний сертифікат, який ви хочете встановити на свій брелок. б) (Необов’язково) Також створіть та завантажте потрібний профіль.
  3. в Xcode, очистіть свій проект. Це може зайняти деякий час.
  4. Створіть свій проект.

Це має працювати для подібних питань кодового дизайну.

Зверніть увагу, що під час цього процесу ОС вимагатиме підтвердження ваших облікових даних.


-1

Відкрийте шлях до проекту в терміналі та введіть наведені нижче команди в терміналі

1) знайти. | xargs -0 xattr -c

2) xattr -rc.

Це працює для мене.


знайти. -тип f -exec xattr -c {} \;
Sage

Цей працює для мене; знайти. -тип f -exec xattr -c {} \;
Sage

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