Erro de sinal de código no macOS High Sierra Xcode - bifurcação de recursos, informações do Finder ou detritos similares não permitidos

265

Já tentei: Erro de sinal de código no macOS Sierra, Xcode 8

Por favor, veja a imagem mostrando o erro insira a descrição da imagem aqui

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's 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

Na seção Code Sign está me permitindo selecionar perfil e certificado ... mas ainda está dando erro. insira a descrição da imagem aqui

insira a descrição da imagem aqui

Como consertar esse problema ?

iPhoneProcessor
fonte
1
você fez limpo e "alt" limpo?
precisa saber é
significa? Acabei de recriar certificados de contas xcode e gerar perfis no site e tentei ... ainda sem sorte.
iPhoneProcessor 23/09/16
A resposta de Arnold Roas abaixo fez o truque para o meu projeto. Mas você também pode precisar fazer um Produto> Limpar no XCode para que a compilação seja bem-sucedida posteriormente.
Fredrik Johansson
mais para cocos2d-x
fnc12

Respostas:

586

Solução 1:

Site do desenvolvedor da Apple Respostas acima do problema Aqui .

Execute o comando abaixo no terminal: Primeiro goto projeta a pasta raiz

 xattr -cr <path_to_project_dir>

Limpe o Xcode e Re Build. Felicidades

Solução 2:

Basta ir ao diretório raiz do projeto e executar este comando xattr -cr.

xattr -cr .

Limpe o Xcode e Re Build. Feito.

Solução 3:

Você pode corrigir esse problema localizando arquivos que contêm informações sobre o localizador.

No terminal, vá para o diretório raiz do projeto e execute

ls -alR@ . > kundapura.txt

Isso cria o kundapura.txt no diretório atual. Agora procure por com.apple.FinderInfo e limpe esses atributos para todos os arquivos. Você pode fazer assim

xattr -c <filename>

Exemplo: xattr -c guru.png

Depois de limpar tudo, o sinal de código funciona. Limpe o Xcode e Re Build. Felicidades

Solução 4: Inspirado pela resposta de Mark McCorkle

No terminal, vá para o diretório raiz do projeto e execute um comando por um

  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 {} \;

Limpe o Xcode e Re Build. Feito.

Guru
fonte
7
Este erro de sinal de código fixo no Xcode 8. Ótima solução.
iPhoneProcessor 24/09/16
4
Eu tenho 110 arquivos com isso. O que seria um comando bash que trataria automaticamente todos eles?
Fawkes
2
Obrigado, trabalhou para mim !!
Amit Ajmera
5
Este é um salva-vidas. Passei horas nisso.
23416 Jackson
4
Muito obrigado por compartilhar, me salvou horas, se não dias!
G Chris DCosta
171

O erro é de atributos dentro de seus arquivos de imagem. Isso aconteceu com nosso designer gráfico, salvando imagens do photoshop com atributos.

Aqui está um comando simples para encontrar todos os seus arquivos png e remover seus atributos. Execute isso no diretório raiz do seu projeto a partir do terminal. Limpe e reconstrua; problema resolvido.

find . -type f -name '*.png' -exec xattr -c {} \;
Mark McCorkle
fonte
12
Essa deve ser a resposta aceita. Mais simples, mais rápido e não requer esforço manual. Eu tinha 80 arquivos com problemas, de acordo com a resposta do @ NatureFriend.
Roger Oba
3
Obrigado! As horas que passei tentando encontrar a resposta para esse erro estranho - que perda de tempo colossal!
lppier
Uma solução mais rápida sem terminal para mim foi apenas arrastar todas as imagens no ImageOptimizer (que também descarta todos os atributos inúteis).
blackjack75
Eu salvei um novo ícone do pixelmator e tive o mesmo problema. Obrigado.
Guy Lowe
Isso funcionou para mim .. Eu estava obtendo permissão negada no comando 'xcattr -cr' acima (mesmo direcionado para isso através da documentação da Apple listada acima: developer.apple.com/library/archive/qa/qa1940/_index.html Executando o Xcode 9.3 em High Sierra 10.13.4
Randoramma
95

Se você tiver esse erro ao assinar um aplicativo de código:

bifurcação de recursos, informações do Finder ou detritos semelhantes não permitidos Comando / usr / bin / codesign falhou com o código de saída 1

Vá para a pasta raiz do projeto e execute

find . | xargs -0 xattr -c

Isso limpará os atributos de todos os arquivos.

No Sierra, as regras sobre o que pode estar em um pacote assinado foram reforçadas e os garfos de recursos não são mais permitidos. O AppleScript salva as informações em forks de recursos desde sempre, embora essas informações não sejam usadas há muito tempo. Com o Sierra, quando você salva um script, essas informações da bifurcação de recursos não serão mais salvas.

Isso significa que você não pode assinar um código que foi salvo pela última vez em uma versão anterior ao Sierra; você precisa salvar no Sierra para poder fazer login no Sierra.

As pessoas que provavelmente serão afetadas são quem agrupa outros scripts em seus scripts (cordova?). Eles não poderão assinar o script do contêiner até que todos os scripts incorporados tenham sido salvos novamente no Sierra.

ATUALIZAR:

Parece que isso também funciona:

xattr -rc .

Se você tiver algum erro de permissão insuficiente, tente acrescentar o sudo: sudo xattr -rc .

Arnold Roa
fonte
4
Eu tentei-o em "espaço suficiente para o argumento" terminal e
Fawkes
1
Isso funcionou como um encanto! Também tive que fazer um Produto> Limpar no XCode, mas meu projeto foi construído!
Fredrik Johansson
Obrigado cara, funciona. No meu caso, o problema era que eu posso testar no dispositivo sem problemas, mas quando tento no simulador, ele não funciona e mostra o problema acima. Sua solução resolveu meu problema.
Mahmud Ahsan
xattr -rc. Trabalhos!
matt
Eu estava construindo com o Corona SDK e enfrentando o mesmo problema. xattr -rc Trabalhou para mim.
Rais Iqbal
31

A maneira mais fácil de lidar com atributos em seus arquivos de origem é fazer com que o Xcode limpe o arquivo morto antes de executar o código de código. Para fazer isso:

  1. Selecione seu destino no XCode
  2. Selecione a guia Build Phases
  3. Pressione o símbolo +
  4. Selecionar nova fase de script de execução
  5. Digite o seguinte para o script:

    xattr -cr ~ / Biblioteca / Desenvolvedor / Xcode / DerivedData || eco Limpar

Agora, quando você cria seu alvo, ele elimina todos os atributos que teriam o código danificado. Ao limpar nesta fase, você não precisa alterar o código-fonte / diretório do projeto.

A parte "|| echo Clear" do script garante que a construção do projeto continue mesmo se houver erros do xattr.

Esse método é bom se você usar programas como o DropBox em seu repositório de códigos que adicionam os atributos, pois não alteram seu projeto de origem, apenas o arquivo morto.

Pode ser necessário alterar o caminho para corresponder ao diretório DerivedData - esse caminho será mostrado ao lado do erro de código.

xattr codesign xcode fix

A.Badger
fonte
1
O problema só aparece para mim em um projeto criado a partir de um projeto idêntico usando ⌘-D no Finder. Por alguma razão, nenhuma das soluções mais populares funcionou para mim. Este fez.
precisa saber é o seguinte
1
OBRIGADO! após 2 horas de busca por uma solução, isso funcionou.
Carter Cobb
1
Finalmente! Depois de horas tentando outras soluções, isso foi corrigido !! Tente isso primeiro, mas substitua o caminho mostrado pelo erro de
código de código
para mim, o problema era uma imagem no código fonte ... então eu adicionei um script de execução que fazia isso xattr -cr "$ PROJECT_DIR"
Little Watchman
muito obrigado, isso ainda funciona. No meu caso, adicionei xattr -cr ~ / Usuários / msc / OneDrive / 01 Work / APP / Flutter / lts-flutter / build / ios / Debug-iphoneos || echo Clear
mactrix 12/01
26

Eu usei o seguinte comando. Use a janela do terminal. Navegue para o seu projeto e execute o seguinte:

xattr -rc .
Ram G.
fonte
Sim, às vezes apenas a limpeza de atributos dentro do diretório do projeto ajuda. Lame Apple, por que fazer coisas tão ruins
Anton Malyshev
Além do mais votados responder a esta também trabalhou como uma alternativa
Lance Samaria
Eu também tive que limpar o projeto pasta <cmd + K> depois para este ao trabalho
Lance Samaria
21

Há uma resposta oficial da Apple para esse problema nas Perguntas e respostas técnicas QA1940 .

Esta é uma alteração de segurança reforçada que foi introduzida no iOS 10, macOS Sierra, watchOS 3 e tvOS 10.

A assinatura de código não permite mais que qualquer arquivo em um pacote de aplicativos tenha um atributo estendido contendo uma bifurcação de recursos ou informações do Finder.

Para ver quais arquivos estão causando esse erro, execute este comando no Terminal: xattr -lr <path_to_app_bundle>

Você também pode remover todos os atributos estendidos do pacote de aplicativos com o comando xattr: xattr -cr <path_to_app_bundle>

<path_to_app_bundle>pode ser substituído pelo diretório do seu projeto Xcode. Por exemplo~/Development/MyProject

camarada
fonte
Depois de trabalhar com quase todas as outras soluções propostas, xattr -lr <path_to_app_bundle>finalmente os arquivos corretos. Obtive um Localizable.strings da agência com o Finder-Tags e esses causaram falha no Codesign.
JanR
Perdi 2 dias com isso e esta solução finalmente funcionou para mim!
bhakti123
16

Tudo sobre a limpeza de arquivos é bom, mas tedioso para vários projetos.

aplicativos gráficos, (como o photoshop em versões antigas), escrevem informações adicionais (agora chamamos de metadados ...) à moda antiga em arquivos externos, ou vieram do OSX mais antigo, arquivos como:

"com.apple.ResourceFork" e "com.apple.FinderInfo", ao descompactar a pasta, por exemplo.

O Xcode 8 se recusa a adicioná-lo a uma compilação (como Você os adicionou a um projeto com um "git --add." Talvez ..) Você pode encontrar no terminal recursivamente e excluí-los, mas pode ser entediante.

Eu escrevi um pequeno utilitário gratuito para excluí-lo .. espero que possa ajudar ..

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

ingconti
fonte
Funcionou para mim. Muito obrigado pelo seu aplicativo útil!
Azul
Essa foi a única solução que funcionou comigo, embora o aplicativo tenha travado muitas vezes "provavelmente devido ao grande número de arquivos do projeto", mas limpou os arquivos e o projeto estava finalmente funcionando. Obrigado!
XIII
Transferiu a sua aplicação e limpou tudo para mim! Obrigado!
Bobby
Tenha um +1. Obrigado
Megaetron
Corrigirei falhas em projetos grandes assim que tiver algum tempo livre!
ingconti
11

Solução simples: -

Como eu fiz [Trabalhando para mim]

Etapa 1: - Vá para esta pasta - no localizador, pressione a opção Ir -> Ir para a pasta

digite o caminho do seu projeto como este exemplo: - Library / Developer / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos

Agora você pode ver uma janela pop com a lista de arquivos disponíveis. Lá você vê o arquivo yourApp.app [Não faça nada, apenas espere o passo 2].

Passo 2: - Abra o novo Terminal e digite apenas cd e arraste o passo 1 yourApp.app para o terminal, agora você encontrará o caminho para o aplicativo, agora pressione o botão Enter.

Etapa 3: - Agora digite este comando **

xattr -rc.

Não perca "." (Ponto) pressione o botão Enter.

É isso, vá ao seu projeto do Xcode, limpe e execute novamente.

Abdu
fonte
10

----- Caso você não possa aplicar as soluções acima, devido à falta de conhecimento do bash ou qualquer outra coisa.

Eu tive esse problema assim que habilitei o iCloud Drive na minha Sierra. E meu projeto estava em uma pasta que foi sincronizada com o iCloud Drive. Suponho que é isso que adiciona esses atributos adicionais.

Solução temporária:

Desative o iCloud Drive para a pasta onde está o seu projeto.

Fawkes
fonte
Mudei do iCloud Drive para a área de trabalho e funciona corretamente. Obrigado
drasick
Isso fazia parte da solução para mim. Eu tinha um projeto no meu desktop que estava sendo copiado para o iCloud no Sierra. Eu ainda precisava digitar xattr -rc. no terminal para excluir os arquivos incorretos após mover o projeto para fora da área de trabalho. Nenhuma das outras soluções trabalhou para esta etapa
Roger Pingleton
Este também foi o problema para mim: iCloudDrive causa esse erro realmente irritante, eu relatei um bug para Apple -> 31740606
LukeSideWalker
Esse também era basicamente o meu problema, mas não precisava desabilitar o iCloud para a minha pasta do projeto, nem movê-la ou algo assim. Eu apenas entrei no Xcode Prefs-> Locations-> Advanced e selecionei a opção "Unique" para Build Location. Eu estava usando um local de construção na subpasta do arquivo de projeto xcode, que estava na unidade do iCloud. Eu acho que o padrão é Único e não sei por que o mudei, talvez para facilitar a localização do executável após uma compilação.
daver
10

Para aqueles (como eu) que estão apenas tentando desenvolver um aplicativo sem precisar remover atributos estendidos em cada novo PNG criado no photoshop adicionado ao destino do macOS, é possível desativar temporariamente a assinatura de código adicionando uma configuração de compilação definida pelo usuário:

CODE_SIGNING_ALLOWED = No 

Obviamente, quem distribui um aplicativo precisa eventualmente lidar com o problema, mas isso permite o desenvolvimento em casos como o meu, onde não era necessariamente fácil omitir a assinatura de código no Sierra (no OS X / Xcode anterior, era mais fácil fazê-lo).

De acordo com o comentário de RGriffith, aqui estão algumas capturas de tela para quem não tem certeza de como a configuração de compilação personalizada é adicionada.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Bobjt
fonte
Onde você está adicionando isso?
RGriffiths 29/03
4

Você precisará excluir a pasta do pacote de aplicativos e reconstruí-lo, conforme explicado abaixo.

Meu aplicativo se chama: aumentar

Na janela do terminal, vá para a pasta do seu aplicativo, por exemplo: cd / Usuários / nome de usuário / Biblioteca / Desenvolvedor / Xcode / DerivedData /

Na janela do terminal, execute o comando para sua pasta de aplicativos, por exemplo: xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms

Limpe> Construir> Executar.

Há também um aplicativo gratuito na Mac Appstore chamado "CleanDetritus", que fará a remoção deles.

velhala
fonte
1
Estou usando o Flutter para gerar o aplicativo iOS e o Clean> Build> Run from Xcode resolveu o erro "bifurcação de recursos, informações do Finder ou detritos similares não permitidos" no console do flutter.
Juan Valera
Funcionou, obrigado! A solução para mim foi executar o "xattr -rc". na pasta do projeto de dados derivados, em vez da pasta do projeto.
BIOS-K
2

Este problema me ocorreu ontem.

(What's wrong) Atualizei os recursos de imagem substituindo manualmente o arquivo no localizador e falhei com esse erro de compilação.

(What's right)Não atualize a imagem dessa maneira. Depois disso, arrastei as imagens para 'xcassets' no Xcode. Mais nenhum erro aparece novamente.

ManuQiao
fonte
2

O problema está nos dados derivados. Você deve limpar os dados derivados e, em seguida, limpar o projeto e criar. Por favor, verifique este link.

Yogesh Dalavi
fonte
1

Meu problema é cada alteração que faço no código e executo novamente, o erro reaparece. Então, encontro uma solução para executar o comando automaticamente a cada compilação / execução de código.

Graças a @ rich-capaz, descobri o "Run Script". Então eu coloquei o comando "xattr -cr". no campo.

Solução XCODE

Andrey
fonte
1

A correção mais simples pode ser se você estiver usando o git . Experimentar:

$ git stash
$ git stash pop

O Git não armazena metadados de arquivo, o que foi descrito acima irá remover tudo.

emp
fonte
Eu tive esse problema no Xcode 9. A solução acima corrigiu o problema. Você deve ter o projeto sob controle de fonte git e ainda não confirmou nenhum arquivo.
Anessence
0

Meu problema era que eu usei o cordova para criar o aplicativo há cerca de um ano atrás, mas não era compatível com a nova versão do xcode, então simplesmente o usei cordova build iose funcionou novamente.

Frederik Witte
fonte
0

Uma das melhores soluções é Ir para o terminal, digite este

xattr -cr "Full path of your project"

Para encontrar o caminho completo, clique com o botão direito do mouse no projeto Xcode -> obtenha informações -> copie o caminho e substitua por. Em seguida, digite o comando abaixo

xattr -cr "Full path of your project"

Limpe e construa pronto.

Rajesh Maurya
fonte
este tijolo meu projeto, não usá-lo caras
Naveed Ahmad
Isso prejudicou meu esquema. e corrigir essa questão eu remover .scodeproj arquivo acidentalmente e, em seguida, eu criei novo projeto e arquivos anteriores transferidos
Naveed Ahmad
Então aconteceu devido ao seu erro. Eu tentei morar código e não tenho nenhum problema.
Rajesh Maurya 28/08
Bro depois de usar o comando acima no meu caso, criou um problema para mim. então, para resolver o problema, fiquei preso em outro problema.
Naveed Ahmad
0

Se os comandos xattr não resolverem o problema, isso pode ser devido a um bug do XCode 9: vamos tentar remover e adicionar novamente a pasta de recursos (era um .xcassets no meu caso) contendo os arquivos afetados do Xcode. (você deve entender quais são os arquivos afetados anteriores através do comando xattr -lr)

Joe Aspara
fonte
0

Abra o terminal e apenas execute este comando.

xattr -cr "caminho para o arquivo .app"

Idrees Ashraf
fonte
0

Também estou enfrentando o mesmo problema, resolvido apenas reiniciando o meu Macbook.

Irfan
fonte
0

Descobri que se eu adicionar color taga pasta abaixo DerivedData, ele fornecerá o erro acima ao depurar no dispositivo.

Remova a color Tagcorreção desse erro para mim.

insira a descrição da imagem aqui

JerryZhou
fonte
0

Você pode remover os dados derivados Xcode -> Preferences

E clique na seta abaixo Derived Datae esvazie a pastaDerived Data

Mickael Belhassen
fonte
0

Não sei o que aconteceu comigo, mas quando estava executando o aplicativo de vibração no simulador, fui encontrado pelo erro. Eu usei o flutter cleancomando e removi os dados derivados e então tudo vai bem.

Ankur Lahiry
fonte