Xcode 10, Command CodeSign не вдався з ненульовим кодом виходу


124

Щоразу, коли я створюю консоль, з’являється це повідомлення.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (у цілі: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project2011 експорт CODESIGN_ALLOCATE = / Applications / Xcode.app / Developer / Toolchains / XcodeDefault.xctoolchain / usr / bin / codeign_allocate

Підпис особи: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: Вилка ресурсу, інформація Finder, або подібний детрит не допускається Команда CodeSign зазнала невдачі з кодом ненульовий вихідний

... Чи є спосіб виявити причину цієї невдачі. Він показує особу підпису: "-", коли я також намагаюся запустити в тренажері. чому нам потрібно підписати ідентифікацію в тренажері. І ще одна річ - якщо я вийду з Xcode і перезавантажуюсь, він буде будуватися належним чином, коли я зміню код або додаю метод, то знову будуватимуться невдало.

Відповіді:


344

У мене була ця проблема, і Xcode не вдалося компілювати на пристрої, але на тренажері він працював чудово.

Я вирішив ці кроки:

  1. Відкрийте доступ до брелоків.
  2. Заблокуйте брелок 'login'.
  3. Розблокуйте його, введіть пароль свого облікового запису ПК.
  4. Очистити проект у меню продукту.
  5. Побудуйте заново.

А після цього все працює добре.


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

1
Це ідеальне рішення для мене, у моєму випадку я завантажив xcode10.1 окремо, і у мене був xcode 10.0 попередній. Після цього він давав вищезазначене після виконання рішення, наданого @omanosoft, це спрацювало
Абхіджіт Чакра

Додаю, що для мене це працювало без пункту 4. Щоб уникнути тривалості очищення та нарощування.
Божевільний Барні

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

2
У моєму випадку діалогове вікно з'являється кілька разів для введення пароля. Я вводив пароль свого облікового запису ПК кожен раз і після 7-10 разів був прийнятий доступ.
Адріан Буціаман

57

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


3
Це працювало і для мене. Я перетягнув папку "Ресурси" з Finder у свій проект і використав за замовчуванням "Створення посилання на папку", який створив синю папку "Ресурси". Я видалив це, знову перетягнув ту саму папку "Ресурси" з Finder у свій проект, але цього разу я вибрав "Створити групи" і тепер мій проект збирається без помилки підпису.
Марк Петерейт

1
Дякую, хлопці, це було дуже корисно
містер T

З тією ж проблемою я зіткнувся після додавання модулів Firebase відповідно до їх інструкцій. Я перейменував папку "Ресурси" в FirebaseResources, і вона непогано працювала. Дякую.
ruralcoder

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

хтось, будь ласка, скажіть мені, де і як я можу знайти цю папку з ресурсами
pratteek shaurya

41

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

Запустіть сценарій нижче в консолі, щоб виправити:

$ xattr -cr <path_to_app_bundle>

Документація Apple: https://developer.apple.com/library/archive/qa/qa1940/_index.html


тижні шукати проблему та просити Apple підтримку - без успіху. Дякуємо за ваше рішення! Для мене ідеально підходить для декількох проектів.
Крістіан Крюгер

Ура за це. Виправлено мою проблему.
нікстони

Заміна <path_to_app_bundle> на шлях до вашого фактичного пакета програм.
xuzepei

15

Це сталося зі мною щойно сьогодні, лише після того, як я додав .png зображення з позначкою 'приховати розширення', поставленої галочкою в інформації про отримання. (Зображення правою кнопкою миші) Це зображення було додано до каталогу файлів мого проекту Xcode.

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


1
Якщо ця проблема була з .jpg, у неї не було розширення. Виправлено після додавання цього.
eivindml

1
Дякуємо, що заощадили мені час. Kudos для пов’язування цієї помилки із зображенням із прихованим розширенням.
Марсі

1
Я випробував цю проблему з PNG, але розширення було видно. Зображення було експортовано з Photoshop за допомогою "експорту шарів у файли". Видалення зображення та повторний експорт із використанням "експорту як" вирішили проблему.
Гермес

та ж проблема тут із зображенням PNG!
Містер Т

7

Спробуйте очистити проект:

1. shift + cmd + k
2. shift + cmd + Alt + k 

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


1
Зробив. чисто вдалося. коли я будую, я не вдається
Тестовий тест

1
побудувати невдалий брато.
Тестовий тест

1
Працював як шарм у моєму випадку!
Хейтор

5

Ця проблема сталася зі мною після додавання файлів .dae та .png та перетворення .dae з редактора XCode у формат файлу сцени SceneKit (.scn).

Провівши ще кілька досліджень, я знайшов рішення тут - https://forums.developer.apple.com/thread/109951#336225

Кроки щодо вирішення проблеми:

  1. У XCode перейдіть до Налаштування
  2. Перейдіть на вкладку Місцеположення
  3. У інструментах командного рядка виберіть зі спадного XCode 10.1

3

У Xcode: перейдіть до виходу налаштувань поточного користувача.

Закрити Xcode

У брелок: Перейдіть до входу та всіх елементів

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Відкрийте Xcode

Перейдіть у розділ Налаштування та увійдіть до свого облікового запису Apple

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

Запустіть збірку на своєму рідному пристрої


3

У моєму випадку були такі рядки помилок:

Підпис особи: "-"

… ..Mobile.app: вилка ресурсу, інформація про Finder або подібний детрит не дозволені

Команда CodeSign не вдалася з ненульовим кодом виходу

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

Знайдіть файл у FINDER, позначте його -> cmd + i -> зніміть прапорець Сховати розширення

після цього поверніться в Xcode -> kmd + shift + K і відновіть.

Я сподіваюся, що я був корисним!


Дуже дякую! Це допомагає.
ZavtraMen

Я спробував інші рішення. Це єдине рішення, яке працювало на мене.
andrewbuilder


3

Виправити

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

  1. Відкритий термінал

  2. Змініть каталог на корінь вихідних файлів

    $ cd / Користувачі / rjobidon / Документи / Мій \ Проект

  3. Список усіх розширених атрибутів

$ xattr -lr .
  1. Видаліть усі розширені атрибути
$ xattr -cr .

Помилки Xcode

  • "Команда CodeSign не вдалася з ненульовим кодом виходу"
  • "Вилка ресурсу, інформація про Finder або подібний детрит не дозволені"

Причина

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

Джерела


2

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

Помилка (для мене в будь-якому випадку) виявила проблему з одним із підписань стручків. Оновлення стручок вирішило проблему підписання.

pod update [PODNAME] //For an individual pod

або

pod update //For all pods.

Сподіваємось, це допоможе тому, хто має таку саму помилку "Command CodeSign, помилка ненульового коду виходу".


У мене немає підфайлу - не впевнений, якою має бути назва файлу та розширення. Чи можете ви очистити?
Їздити Сонце

Привіт @RideSun, можливо, ти ще не додав стручки до свого проекту. Підфіл літерально називається "Podfile". У нього немає розширення, за замовчуванням це буде файл TextEdit.
paul_f

2

Спробувавши все, моє рішення було видалити деякі файли PNG, створити та запустити (добре) та знову додати зображення PNG. Дивно!


Подібна річ. Додано 5 файлів .PNG без розширення .PNG, перші кілька збірок спрацювали, потім після редагування елементів керування в IB виникла помилка підписання з повідомленням "вилка ресурсу, інформація Finder чи подібний детрит не дозволені". Детрит? Хто використовує це слово? Змінивши імена файлів, які мають розширення .PNG, він усунув проблему.
Кріс Уолкен

1

Жодна з інших відповідей не спрацювала. Ось що я зробив:

  1. видалив мій сертифікат із брелка;
  2. відкрив сертифікат відновлення Xcode;
  3. запустив додаток на пристрої.

1

Для мене мені довелося перейти до брелока, вибрати брелок "Логін", двічі клацнути на iOS Developer: клавіша myname, натиснути вкладку управління доступом та переключити перемикач, щоб дозволити всім програмам доступ до цього елемента.


1

Ця проблема була викликана побудовою мого проекту в схемі випуску. Це може бути викликано і іншими речами. Спробуйте переключити схему збірки, перейшовши в xCode на Продукт> Схема> Редагувати схему. У розділі «Виконати», розташованому зліва, переключіть «Конфігурацію побудови» на «Налагодження». Сподіваюся, це допоможе.


1

Жодне з перерахованих вище рішень не працювало для мене. Після деякої здогадки, я спробував (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

слідом за ним

pod install

Тоді:

  • Відкрив робочу область в Xcode
  • Очищена папка збірки
  • Побудуйте проект

Немає помилок побудови.


1

Для мене рішенням було таке, на якому було встановлено прапор "Автоматично керувати знаком":

  1. у спадному меню цілі виберіть "Немає"

  2. перебрати правильну команду розробників

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


1

Жодне з популярних рішень не працювало.
У моєму випадку я усунув помилку, перейшовши в

XCode -> Налаштування -> Облікові записи -> Управління сертифікатами

і додав (+) до розробки iOS .


1

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

Я спробував деякі інструкції (т. Е. Розблокувати брелок з брелоками).

Що працювало для мене у випадку помилки:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Вміст кошика DD; rm -rf / Користувачі / dx / Бібліотека / Розробник / Xcode / DerivedData / *
    • Перезапустіть XCode
    • Фази побудови => Link Binary With Libraries
      • Something.framework,
    • Встановити значення вбудовування в General => Something.framework => EMBED
      • Do not embed
    • Преса Cmd+B(Створення проекту)
    • Сподіваємось, побудований успішно

Коли я робив вище кроки, я справді успішно створив додаток, але Xcode нагадує мені: причина: зображення не знайдено . Я вирішував проблему наступним кроком: ЦІЛИ - Фази збірки - Бінарне посилання з рамкою - Something.framework- Статус -> Optianl
Xuyee Wang

1

Я відчував це питання з - за неправильної настройки моєї компанії Apple Worldwide Developer відносин центру сертифікації сертифікат .

Я вирішив проблему, перейшовши з "Завжди довіряти" на "Використовувати системні настройки за замовчуванням"

Крок за кроком:

  1. Відкрийте KeyChain
  2. Клацніть на брелок "login" (переконайтеся, що він розблокований - якщо він заблокований. Клацніть правою кнопкою миші та виберіть "Unlock KeyChain")
  3. Клацніть на Сертифікати та знайдіть сертифікат Apple Worldwide Relations
  4. Клацніть правою кнопкою миші та виберіть Отримати інформацію
  5. Розгорніть розділ Довіра та змініть налаштування на Використання системних значень за замовчуванням, як показано нижче

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


1

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

Щоб побачити, які файли викликають цю помилку, перейдіть у папку .app, зазвичай це так: / Користувачі / XXXX / Бібліотека / Розробник / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (мій проект Catalyst) У Терміналі

cd <above path>
xattr -lr .

Ви побачите, що деякі файли мають розширений атрибут:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ .9 .... |

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

cd /Users/XXXX/Work/MyProject
xattr -cr .

Після очищення всіх згаданих папок перейдіть до Xcode та відновіть.


0

Я також побачив цю помилку після додавання суміші зображень .jpg та .png до папки art.scnassets, внесення змін до коду та видалення цих змін за допомогою меню «Source Control»> «Відхилити всі зміни ...».

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


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


0

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


0

Не впевнений, чи це комусь допоможе, але переконайтесь, що ви Find Implicit Dependenciesзареєструвались. Іноді це може призвести до того, що ваш проект "втрачає сліди", де шукати певні речі.


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


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

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


0

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


0

Просто візуалізація

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

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


0

У моєму випадку це був випадково включений варіант. Я використовую загальні файли root .xcconfig як для iOS, так і для macOS, для націлювання на iOS параметр " Увімкнути загартований час виконання " залишається увімкненим, тому замінюючи рядок

ENABLE_HARDENED_RUNTIME = YES

по

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

у файлі .xcconfig вирішено проблему



0

Моя проблема була вирішена

  • Поставте прапорець Автоматично керувати підписом на Target MyProject і Add Team.
  • Поставте прапорець Автоматично керувати підписом на Target MyProjectTest та Add Team.
  • Продукт -> Очистити папку збірки -> Складіть заново або спробуйте запустити на пристрої.

Проблема виникає, коли у MyProject та MyProjectTest у вас неправильна / інша команда.

Повторне підключення телефону до відновлення може також допомогти вирішити цю проблему.

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