Ошибка кодового знака в macOS High Sierra Xcode - ресурс fork, информация Finder или подобный детрит не разрешены

Уже пробовали: Ошибка кодового знака в macOS Sierra, Xcode 8

См. изображение с изображением ошибки введите описание изображения здесь

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

В разделе "Значок кодов" это позволяет мне выбирать профиль и сертификат... но все же давать ошибку. введите описание изображения здесь

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

Как решить эту проблему?

Ответы

Ответ 1

Решение 1:

Веб-сайт Apple для разработчиков Ответы на вышеуказанную проблему Здесь.

Выполните указанную ниже команду в терминале: сначала перейдите в корневую папку проектов

 xattr -cr <path_to_project_dir>

Очистить Xcode и перестроить. Приветствия

Решение 2:

Вы можете решить эту проблему, найдя файлы, которые содержат информацию поиска.

В терминале перейдите в корневой каталог проекта и выполните

ls [email protected] . > kundapura.txt

Это создает kundapura.txt в текущем каталоге. Теперь найдите com.apple.FinderInfo и очистите эти атрибуты для всех файлов. Вы можете сделать это следующим образом

xattr -c <filename>

Пример: xattr -c guru.png

Как только вы очистите все, кодовый знак работает. Чистый Xcode и Re Build. Приветствия

Решение 3: Вдохновлено Марком Маккорклом Ответ

В терминале перейдите в корневой каталог проекта и выполните одну за другой команду

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

Очистить Xcode и перестроить. Готово.

Ответ 2

Ошибка из атрибутов внутри ваших файлов изображений. Это произошло от нашего графического дизайнера, сохраняющего изображения из Photoshop с атрибутами.

Вот простая команда, чтобы найти все ваши png файлы и удалить их атрибуты. Запустите это в корневом каталоге проектов с терминала. Очистить и восстановить; проблема решена.

find . -type f -name '*.png' -exec xattr -c {} \;

Ответ 3

Если у вас есть эта ошибка при кодовом кодировании приложения:

ресурс fork, информация Finder или подобный детрит не разрешены Ошибка команды /usr/bin/codesign с кодом выхода 1

Перейдите в корневую папку проекта и выполните

find . | xargs -0 xattr -c

Это очистит атрибуты для всех файлов.

В Сьерре правила о том, что может быть в подписанном комплекте, были ужесточены, а вилки ресурсов больше не разрешены. AppleScript сохраняет информацию в видах ресурсов навсегда, хотя эта информация долгое время не использовалась. С Sierra, когда вы сохраните script, эта информация о ресурсе ресурса больше не будет сохранена.

Это означает, что вы не можете скопировать код script, который был последним сохранен в версии до Sierra; вам нужно сэкономить в Сьерре, чтобы иметь возможность подписаться на Сьерра.

Люди, которые могут быть затронуты, связаны с другими сценариями в своих сценариях (cordova?). Они не смогут подписать контейнер script, пока все встроенные скрипты не будут сохранены под Сьеррой.

UPDATE:

Похоже, это также работает:

xattr -rc .

Если у вас есть недостаточная ошибка разрешений, попробуйте добавить sudo: sudo xattr -rc .

Ответ 4

Самый простой способ обработки атрибутов в исходных файлах состоит в том, чтобы Xcode очистил архив до запуска кода. Для этого:

  • Выберите свою цель в XCode
  • Выберите вкладку "Сборка фаз"
  • Нажмите символ +
  • Выберите Новый запуск Script Фаза
  • Введите script следующее:

    xattr -cr ~/Library/Разработчик/Xcode/DerivedData || echo Clear

Теперь, когда вы создадите свою цель, она очистит любые атрибуты, которые сломали код. Исчерпывая на этом этапе, вам не нужно изменять каталог исходного кода/проекта.

Часть Script части "|| echo Clear" гарантирует, что сборка проекта продолжается, даже если ошибки xattr.

Этот метод хорош, если вы используете такие программы, как DropBox, в своем репозитории кода, которые добавляют атрибуты, поскольку он не изменяет исходный проект, а только встроенный архив.

Вам может потребоваться изменить путь к вашему каталогу DerivedData - этот путь будет показан рядом с ошибкой codeign.

xattr codesign xcode fix

Ответ 5

Существует официальный ответ Apple на эту проблему в Технический Q & A QA1940.

Это изменение безопасности, которое было введено с iOS 10, macOS Sierra, watchOS 3 и tvOS 10.

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

Чтобы узнать, какие файлы вызывают эту ошибку, запустите эту команду в Терминал: xattr -lr <path_to_app_bundle>

Вы также можете удалить все расширенные атрибуты из своего пакета приложений с помощью команда xattr: xattr -cr <path_to_app_bundle>

<path_to_app_bundle> можно заменить каталогом вашего проекта Xcode. Например ~/Development/MyProject

Ответ 6

Я использовал следующую команду. Используйте окно терминала. Перейдите в свой проект и выполните следующее:

xattr -rc .

Ответ 7

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

графические приложения (например, фотошоп в старых версиях) пишут дополнительную информацию (мы теперь называем ее метаданные..) по-старому во внешних файлах, или они пришли к устаревшему OSX, файлы вроде:

"com.apple.ResourceFork" и "com.apple.FinderInfo", например, при распаковке папки.

Xcode 8 отказывается добавлять его в сборку (поскольку вы добавили их в проект с git --add.), возможно..) Вы можете найти в терминале рекурсивно и удалить их, но может быть утомительным.

Я написал небольшую бесплатную утилиту для ее удаления.. надеюсь, что это может помочь.

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

Ответ 8

Простое решение: -

Как я сделал [Работа для меня]

Шаг 1: - Перейдите в эту папку - с вашего опциона на Finder Go → Перейти в папку

то введите путь к проекту следующим образом пример:- Библиотека/Разработчик/Xcode/DerivedData/yourprojectname/Build/Products/Debug-iphoneos

Теперь вы можете увидеть всплывающее окно со списком доступного файла, там вы увидите файл yourApp.app [Не делайте ничего, просто дождитесь шага 2].

Шаг 2: - Откройте новый терминал и введите только cd, а затем перетащите шаг 1 yourApp.app в терминал, теперь вы получите путь к приложению, теперь нажмите кнопку ввода.

Шаг 3: - Теперь введите эту команду **

xattr -rc.

Не пропустите "." (Точка) нажмите кнопку ввода.

Что ж, перейдите в свой проект Xcode и очистите и запустите снова.

Ответ 9

Для тех, кто просто пытается разработать приложение, не снимая расширенные атрибуты на каждом новом Photoshop, созданном PNG, добавленном в цель macOS, вы можете временно отключить подписание кода, добавив пользовательскую настройку сборки:

CODE_SIGNING_ALLOWED = No 

Очевидно, что один дистрибутив приложения должен в конечном итоге решить проблему, но это позволяет разрабатывать в таких случаях, как моя, где не обязательно просто пропустить подписание кода в Sierra (в прошлом OS X/Xcode было проще сделать это).

В комментарии к RGriffith, вот несколько скриншотов для тех, кто не знает, как добавляется настраиваемая настройка.

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

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

Ответ 10

----- Если вы не можете применить вышеупомянутые решения из-за отсутствия знаний bash или чего-то еще.

У меня была эта проблема, как только я включил iCloud Drive на своей Сьерре. И мой проект был в папке, которая была синхронизирована с iCloud Drive. Я полагаю, что это то, что добавляет эти дополнительные атрибуты.

Временное решение:

Отключить iCloud Drive для папки, в которой находится ваш проект.

Ответ 11

Вам нужно будет удалить папку пакета приложений и перестроить приложение, как описано ниже.

Мое приложение называется: добавление

В окне терминала перейдите в папку приложения, например: cd/Users/username/Library/Developer/Xcode/DerivedData/

В командной строке окна терминала для вашей папки приложения, например: xattr -cr augment-flmbiciuyuomgdvhulunibwrms

Clean> Build> Выполнить.

Также есть бесплатное приложение на Mac Appstore под названием "CleanDetritus", которое будет удалять их.

Ответ 12

Эта проблема пришла ко мне вчера.

(What wrong) Я обновил ресурсы изображений, вручную заменив файл в finder, и я ошибся с этой ошибкой компиляции.

(What right) Не обновляйте изображение таким образом. После этого я перетащил изображения в "xcassets" в Xcode. Больше не появляется ошибка.

Ответ 13

Проблема заключается в полученных данных, вы должны очистить производные данные, а затем очистить проект и построить. Проверьте эту ссылку.

Ответ 14

Моя проблема - это каждое изменение, которое я делаю в коде, и снова выполняю повторную ошибку. Затем я нахожу решение для выполнения команды автоматически каждой компиляции/выполнения кода.

Благодаря @rich-able я обнаружил "Run Script". Затем я передал команду "xattr -cr". в поле.

Решение XCODE

Ответ 15

Самое простое исправить может быть, если вы используете git. Попробуйте:

$ git stash
$ git stash pop

Git не хранит метаданные файла, вышеуказанное будет удалять все.

Ответ 16

Моя проблема заключалась в том, что я использовал кордову для создания приложения около 1 года назад, но он не был совместим с новой версией xcode, поэтому я просто использовал cordova build ios, и он снова работал.

Ответ 17

Одним из лучших решений является Перейдите к типу термина this

xattr -cr "Full path of your project"

Чтобы найти полный путь вашего правого клика по проекту Xcode- > получить информацию → скопировать путь и заменить его. Затем введите команду ниже

xattr -cr "Full path of your project"

Очистите и выполните сборку.

Ответ 18

Если команды xattr не трюк, это может быть связано с ошибкой XCode 9: попробуйте удалить и повторно добавить папку ресурса (в моем случае это был .xcassets), содержащий затронутые файлы из Xcode. (вы должны понять, какие файлы, которые были затронуты ранее, через команду xattr -lr)

Ответ 19

Откройте терминал и просто запустите эту команду.

xattr -cr "путь к файлу .app"

Ответ 20

Я также сталкиваюсь с той же проблемой, которую исправил, просто перезапустив мой Macbook.

Ответ 21

Я обнаружил, что если я добавлю color tag в папку в DerivedData, это даст вышеприведенную ошибку при отладке на устройстве.

Удалите color Tag исправить эту ошибку для меня.

enter image description here

Ответ 22

Вы можете удалить производные данные Xcode -> Preferences

И нажмите на стрелку ниже Derived Data, и очистите папку Derived Data