Ошибка кодового знака в 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 очистил архив до запуска кода. Для этого:
Теперь, когда вы создадите свою цель, она очистит любые атрибуты, которые сломали код. Исчерпывая на этом этапе, вам не нужно изменять каталог исходного кода/проекта.
Часть Script части "|| echo Clear" гарантирует, что сборка проекта продолжается, даже если ошибки xattr.
Этот метод хорош, если вы используете такие программы, как DropBox, в своем репозитории кода, которые добавляют атрибуты, поскольку он не изменяет исходный проект, а только встроенный архив.
Вам может потребоваться изменить путь к вашему каталогу DerivedData - этот путь будет показан рядом с ошибкой codeign.
Ответ 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". в поле.
Ответ 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
исправить эту ошибку для меня.
Ответ 22
Вы можете удалить производные данные
Xcode -> Preferences
И нажмите на стрелку ниже Derived Data
, и очистите папку Derived Data