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

Tasnim Alam Shovon
fonte

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"
Kevin
fonte
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
iTALIYA
fonte
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

brycejl
fonte
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

Puvar de Amardeep
fonte
6

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

pod deintegrate
pod install
Mostafa ElShazly
fonte
5

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

Mike Keskinov
fonte
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

Odwori
fonte
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!

fazer tendas
fonte
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.

CantThinkOfAnything
fonte
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
Saneesh
fonte
0

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

Dilmurat Abduqayyum
fonte