Erro itms-90035 - Xcode

83

Eu desenvolvi um aplicativo phonegap que está funcionando perfeitamente bem no iPhone. Agora, quero enviar o aplicativo para a appstore. A seguir está o procedimento que estou seguindo para enviar meu aplicativo:

  1. Abra o Xcode e arquive o projeto
  2. Clique em validar (que é bem-sucedido)
  3. Clique em Enviar para appstore (que é onde estou recebendo o seguinte erro)

insira a descrição da imagem aqui

Até ontem à noite, eu nem estava recebendo este erro e hoje de manhã, eu arquivo o projeto e recebo este erro. Não tenho certeza qual é o problema.

Esta é a etapa final que está me impedindo de enviar o aplicativo e é muito frustrante. Tentei pesquisar o mesmo código de erro no fórum stackoverflow e não consegui encontrar uma única postagem que tenha exatamente o mesmo código de erro que o meu, o que é muito estranho.

Por favor ajude :)

Nikhil Rao
fonte
1
Tem certeza de que suas configurações de assinatura de código estão corretas?
Anil Varghese
Não tenho certeza sobre isso, como faço para verificar isso? Você pode me guiar com isso?
Nikhil Rao
2
Nikhil, também estou recebendo o mesmo erro desde esta manhã. Eu apenas tentei "validar" uma versão antiga do meu aplicativo que JÁ foi APROVADA E CARREGADA com sucesso. Além dos erros esperados que estou esperando (a versão já existe na AppStore, a versão do meu aplicativo está fechada para modificação desde que foi lançada, etc.) Continuo recebendo este ITMS-90035. Também verifiquei que meus certificados não foram revogados (do centro de desenvolvedores da Apple). Vou atualizá-lo sobre minhas descobertas mais tarde hoje e monitorarei esta postagem para ouvir as suas. Obrigado :)
Nili
1
Mesmo aqui, ontem enviei muitos builds sem erros. Códigos e configurações não mudaram.
VinZen
3
Nikhil resolveu removendo o arquivo .sh do meu destino, conforme sugerido na resposta abaixo.
Nili

Respostas:

77

Tive o mesmo problema, acontece que uma das minhas bibliotecas instaladas via bower inclui um .sharquivo, que não é necessário. Acabei de excluir o arquivo e tudo foi carregado com sucesso.

Parece que a Apple agora obriga os desenvolvedores a ter .sharquivos em seus aplicativos assinados. Como o aplicativo Cordova / Phonegap não precisa de nenhum deles, você pode excluí-los com segurança.

Kate Miháliková
fonte
3
Esta é a única resposta correta. A propósito, você não precisa deletar o arquivo. Basta excluí-lo de seus alvos.
Inferis
1
Só tenho um arquivo .sh em meu projeto em plataformas> ios> cordova> lib> copy-www-build-step.sh. É esse que devo excluir? Ou apenas se houver dois? Obrigado!
Shan
5
Obrigado!!! Essa é a resposta correta. No meu caso, era o arquivo dsym_upload.sh do Crittercism que estava sendo copiado para meus pacotes pelo CocoaPods, que se tornou um palavrão na minha empresa.
toofah
6
Eu tenho o Crittercism incluído via CocoaPods e tem o script dsym_upload.sh que causa esse erro também. Por enquanto, apenas comentei esta linha no arquivo Pods-resources.sh: install_resource "CrittercismSDK / CrittercismSDK / dsym_upload.sh"
sasha_nec
Se o crittercism é o seu problema e você está usando vagens de cacau, tente a correção que adicionei como um comentário aqui: stackoverflow.com/questions/29816930/…
jeyben
9

Isso aconteceu comigo depois de atualizar para o Xcode mais recente (6.3.1). Não são apenas arquivos .sh, pois eu estava recebendo esses erros sobre scripts de nó. Parece que QUALQUER arquivo que comece com #! / Usr / bin / env causará esses erros. Consegui causar erros arbitrários adicionando um #! para um arquivo aleatório.

Excluir temporariamente a diretiva #! / Usr / bin / env do topo dos arquivos funcionará, mas você vai querer uma solução melhor a longo prazo :)

Você terá que corrigir isso lidando com cada arquivo de script caso a caso para ver o que faz sentido em seu projeto.

Como observado acima, isso pode ser um problema temporário da parte da Apple, não necessariamente relacionado à versão do Xcode.

cayleyh
fonte
8

EDIT: Eu consegui evitar esse erro removendo meus arquivos de projetos .sh do meu destino .

Até agora, eu diria que é um bug do lado da Apple.

Eu enviei um aplicativo ontem sem nenhum problema, rejeitei hoje para enviar um binário ligeiramente alterado hoje, mas como você agora estou encontrando o mesmo erro. Achei que estava relacionado a Xcode6.3.1porque o instalei esta manhã, então instalei Xcode 6.3.0novamente, mas o erro permaneceu. Então eu verifico tudo cuidadosamente:

  • Certificados
  • Perfis de provisionamento
  • Status do aplicativo iTunes Connect

Mas nenhum sucesso até agora.

O fato de uma pesquisa "itms-90035" no Google retornar apenas 1 resultado me faz pensar que pode ser algum incidente temporário.

Ferschae Naej
fonte
Eu fiz tudo o que você fez e sou completamente da mesma opinião que a sua. Concordo totalmente, dedos cruzados, espero que eles resolvam esse problema mais cedo.
Nikhil Rao
3

Como outros já disseram, o problema parece ser devido à inclusão de arquivos chamados "upload-dsym.sh" no pacote de aplicativos. Aqui estão as etapas que executei para superar este erro: Fui às configurações do projeto no Xcode e selecionei o ícone do aplicativo "Destino" Selecionada a guia Build Phases. Clique em "Copiar recursos do pacote". Procurei um arquivo sendo copiado com o nome "upload-dsym.sh". Removi esse arquivo e o upload correu bem.

DCG
fonte
O processo descrito nesta resposta é o caminho detalhado para remover o arquivo * .sh do aplicativo assinado. No meu caso, ele foi buildtime.shproduzido no ambiente Worklight. Como este é um problema relativamente "novo", até o momento, parece que a Apple realmente mudou algo no processo de envio ...
roy650
3

Tem algo a ver com incluído .sh files, não tão óbvio.


No nosso caso, foi a biblioteca AudioKit. README diz:

Na maioria dos casos, ao compilar para iOS ou tvOS, independentemente de como você instalar o framework, você precisará adicionar uma fase de execução ao destino do seu projeto com o seguinte script:

"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"


Às vezes, você não os vê diretamente no de seu alvo build phases. Algumas das bibliotecas de terceiros podem causar esse erro porque também estão lidando com eles .sh files.

Verifique os arquivos de bibliotecas / pods de terceiros README para obter mais informações.

Jakub Truhlář
fonte
3

No meu caso, recebi este erro porque o nome de exibição do aplicativo tinha um caractere especial. Não consigo entender por que mensagens de erro adequadas não podem ser geradas.

RunLoop
fonte
2

Eu tenho o mesmo problema. Em seguida, excluo o arquivo .sh. E eu envio meu aplicativo novamente. Bem sucedido!

MppleHero
fonte
2

Este problema foi resolvido no CrittercismSDK CocoaPods 5.2.0: https://github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json

Você pode atualizar para o sdk 5.2.0 ou excluir o arquivo e remover as seguintes linhas do arquivo Pods-resources.sh:

    if [[ "$CONFIGURATION" == "Debug" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 
if [[ "$CONFIGURATION" == "Release" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 

obrigado

JennieOhyoung
fonte
1

Tivemos um problema muito semelhante hoje e o resolvemos.

ERROR ITMS-90035: "Assinatura inválida. Um recurso selado está ausente ou inválido. O binário no caminho [MyNiftyApp.app/MyNiftyApp] contém uma assinatura inválida. [...]"

Estamos usando Jenkins-CI para o processo de construção junto com o plug-in xcode. Quando analisei o log de compilação jenkins, encontrei esta mensagem de erro:

file added: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/MyNiftyApp.app
file modified: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/Assets.car
]
Codesign check fails : /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app: a sealed resource is missing or invalid

Após pesquisar aquele Assets.car encontrei este post: https://issues.jenkins-ci.org/browse/JENKINS-21253 O usuário teve um problema semelhante, poderia resolvê-lo desativando a seguinte opção de plugin "XCode -> Geral Build Settings -> Generate Archive? "(Era verdade antes, agora é falso).

Pelo menos isso resolveu o problema do nosso lado - talvez isso o guie para a direção correta.

seafoxx
fonte
1

Resolvi isso simplesmente removendo o (s) arquivo (s) "binários" do erro.

Para você, é www / js / release.sh.

Para mim, eram dois arquivos de bower redundantes, um arquivo .sh e um arquivo .js que estava localizado em uma pasta "bin" (talvez seja por isso que ele pensou que era um binário?).

Em uma nota lateral, parece que você ainda pode continuar o processo de upload apenas clicando em Enviar após ser apresentado com os erros no Carregador de aplicativo.

Jørgen Svendsen
fonte
1

Recebi o mesmo erro quando tentei carregar meu aplicativo usando o ApplicationLoader 3.0. Atualizar para o ApplicationLoader 3.1 (ou seja, o mais recente), corrigiu o problema para mim.

Steve Hannah
fonte
Eu uso o Application Loader, version 3.1 (670)e ainda tenho o problema.
antogerva
1

No diretório de plataformas, execute:

grep -r '#!/usr/' *

Isso mostrará todos os arquivos que podem ser executados. Normalmente, isso incluiria arquivos .sh e nós.

A partir dos resultados, encontre os arquivos que estão na pasta do seu projeto (por exemplo, minha pasta do projeto era plataformas / ios / www / *) e exclua-os e deixe o resto.

Ridan
fonte
1

Eu tive o mesmo problema. Eu estava escrevendo um bug no myApp.app/myApp Decisão: Procure por arquivos que começam com caracteres especiais ou caracteres diferentes do inglês. Achei, apaguei e deu tudo certo!

Ilya Frolov
fonte
0

Eu tive o mesmo problema ao usar o xcode 6.3.1 e 6.4 beta. O meu disse que era meu arquivo main.o. Procurei nos recursos do pacote de cópia e, por algum motivo, o arquivo principal do meu projeto estava lá. Eu removi e arquivei novamente para enviar para o iTunes Connect para testflight e ele carregou sem problemas. Levei 3 horas para descobrir que era aquele arquivo estúpido. Casa isso ajuda. Parece que você realmente precisa prestar atenção ao que você está enviando em "Copiar recursos do pacote" nas fases de construção. Qualquer arquivo que esteja informando que é um problema, remova-o desta área e experimente.

felixDkatt
fonte
0

No meu caso, recebi o erro ao enviar um arquivo ipa assinado novamente. Acontece que eu tinha olhado o pacote do aplicativo no Finder e ele havia criado um arquivo .DS_Store (isso foi depois de assinar novamente com codesign, que teria reclamado se o arquivo estivesse presente no momento da assinatura).

Depois de remover o arquivo .DS_Store, o upload foi bem-sucedido.

Karstenr
fonte
0

Execute o seguinte comando (no mac): codesign --verify -vvvv <your_application>.app

amostra:

codesign --verify -vvvv project.app
project.app: a sealed resource is missing or invalid
file missing: /Users/iHTCboy/workspace/Payload/project.app/.DS_Store

Parece que tenho um arquivo oculto .DS_Store dentro dos ativos do meu aplicativo. Encontre e remova-o e tente novamente.

isso é trabalho para mim

iHTCboy
fonte