Pods-resources.sh Permissão negada no projeto iOS


87

Eu tenho um projeto existente de um cliente e tentei executá-lo no meu MAC usando o XCode 5.0

Mas estou enfrentando o seguinte erro. Instalei o Cocoa Pods, mas ainda não funciona. Este projeto está funcionando bem na máquina de outro desenvolvedor. Eu preciso muito disso rodando na minha máquina.

O que estou perdendo? Qualquer ajuda é muito apreciada.

Desde já, obrigado.

insira a descrição da imagem aqui

Respostas:


164

Você precisa tornar o script executável. Abra o terminal e execute este comando:

chmod a+x "/Users/shovon0203/Desktop/My Work/oDesk/momenTOGO/MomenTOGO_iPhone/Pods/Pods-resources.sh"

2
seu comando funciona, mas não do Terminal: P, eu edito o script de pods e uso o comando acima e agora está funcionando :) obrigado cara!
Waqas Haider Sheikh de

1
Isso acontece comigo quando eu começo um novo projeto, instalo pods no meu computador doméstico e continuo o projeto no meu laptop. Existe alguma maneira de definir a permissão padrão frameworks.sh para que eu não tenha que fazer isso no terminal toda vez que transferir meu projeto entre meus computadores de casa e do trabalho? Obrigado
aresz

6
Executar o comando acima junto com "sudo" resolveu o problema.
Saikiran K

Como estou usando o Subversion com meu projeto, esta foi apenas uma solução temporária, porque quando qualquer outra pessoa inicialmente fizesse check-out deste arquivo, os direitos de execução seriam perdidos novamente. usar svn propset svn:executable '*' <file>para consertar isso.
ndreisg

Tentei este comando e não funcionou. Então eu tentei o comando com sudo, que também não funcionou. Então, adicionei uma configuração definida pelo usuário às configurações de compilação no xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /". Isso é o que consertou para mim. Parece que o erro Permissão negada foi bastante enganoso porque o script não conseguiu localizar o arquivo.
CantThinkOfAnything

36

Experimente isso, funciona como um encanto!

rm -rf Pods/ Podfile.lock
pod install

2
Isso funcionou para mim, mas não há necessidade de remover o Podfile.lockarquivo.
Fantini

18

Executar pod installno diretório principal do projeto onde seu podfile está localizado deve resolver o problema


10

Você precisa tornar o script executável. Abra o terminal e execute este comando:

chmod a+x "your_path(where show permission denied)"

Verifique se não há espaço no nome da pasta e adicione '\' antes


6

para mim, desintegrar todos os pods e reinstalá-los funcionou:

pod deintegrate
pod install

5

Basta remover a pasta Pods-[Your_Project_Name]completamente e fazer de novopod install


5

Essas etapas funcionaram para mim depois de falhar muitas vezes.

ETAPA 1: navegue até o local da pasta que contém Pods-resources.sh

PASSO 2: Abra o terminal digite cd e arraste a pasta que contém Pods-resources.sh para o terminal e pressione Enter.

PASSO 3: execute este comando >> chmod a + x Pods-resources.sh

PASSO 4: reinicie o xcode e abra seu xxx.xworkspace

PASSO 5: aproveite


1
Depois de muito pesquisar sobre esse assunto, ele funciona perfeitamente no meu caso. Uma correção é quando executar o comando, siga isto: chmod a + x Pods-ProjectName-resources.sh
Mohd Sadham

É bom ouvir, boa codificação.
Odwori

3

A resposta acima funciona. No entanto, tive o mesmo problema, mas era recorrente. Tratava-se de fazer check-out da mesma filial em várias máquinas. Funcionaria em uma máquina e não nas outras. Nós usamos TFS como nosso controle de origem (é ok, você pode julgar), que não joga bem com .sh, .pyetc. arquivos. Tivemos que adicionar um .tpattributesarquivo a cada diretório com um arquivo .shou .pynele para que pudéssemos executar .she os .pyarquivos como executáveis.

As entradas no .tpattributesarquivo têm a seguinte aparência:

Pods-MyTarget-frameworks.sh:x
Pods-MyTarget-resources.sh:x

Isso se traduz em chmod +x "Pods-MyTarget-frameworks.sh"

Funciona como um encanto!


onde você colocou: .tpattributesarquivo?
el.severo

Em Pods> Target Support Files> Pods- [Target Name]
tentmaking

obrigado, adicionado, mas ainda recebendo o seguinte problema . O que mais você sugere? (PS - aqui está o conteúdo do script e aqui ele trava)
el.severo

@tentmaking Estou tendo o mesmo problema com o TFS. Você pode fornecer um pouco mais de informação sobre como você consertou isso, por favor?
steventnorris

@steventnorris Adicionamos um arquivo (.tpattributes) a cada diretório Pods- [Destino] (encontrado em Pods> Arquivos de Suporte de Destino> Pods- [Destino] que tem a entrada vista na minha resposta acima. Não tenho certeza de quais outras informações você precisa.
tomada de tendas

1

Eu postei isso como um comentário para a resposta de Kevins https://stackoverflow.com/a/19687227/3114383 . Mas achei melhor colocar isso como uma resposta, porque as pessoas acharão mais fácil assim e isso resolveu meu problema. Também pode funcionar para outras pessoas: D

Tentei executar o comando chmod da resposta de kevins e não funcionou. Então eu tentei o comando com sudo, que também não funcionou. Então eu adicionei uma configuração definida pelo usuário às configurações de compilação no xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /". Isso é o que consertou para mim. Parece que o erro Permissão negada foi bastante enganoso porque o script não conseguiu localizar o arquivo.


Olá, @CantThink! Você poderia fornecer um exemplo de como adicionou essa configuração?
Gehlen

1
@Gehlen Você pode definir esse tipo de configuração na seção de configurações de compilação do xcode. Consulte medium.com/@kavithakumarasamy89/…
CantThinkOfAnything

Obrigado @CantThink, muito evasivo!
Gehlen

Olá, @CantThinkOfAnyThing! Sim eu fiz! Mas no meu caso eu estava configurando o CI no bamboo, e o problema era que eu estava tentando acessar $ TMPDIR nas fases de construção, então não tenho acesso .. Eu apenas removo e funciona! Obrigado mesmo assim !
Gehlen

@Gehlen, fico feliz por ter ajudado :)
CantThinkOfAnything

0

Eu também enfrentei esse problema. O que fiz foi:

  1. Crie um novo projeto com o mesmo nome e mesmo nome de pacote
  2. No terminal do diretório do projeto Pod init
  3. Abra o arquivo pod em um editor
  4. Copie e cole os arquivos de pod de projeto antigos no novo
  5. Copie todos os arquivos e recursos para o novo projeto
  6. Simplesmente faça pod install

0

Eu enfrentei o mesmo problema com Pods-project-frameworks.sh, resolvido removendo a primeira linha #!/bin/shdo arquivo Pods-project-frameworks.sh.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.