Pergunta

Criei uma compilação ad hoc do meu aplicativo e gostaria que outra pessoa o instalasse. Eu tenho o ID do dispositivo (dois na verdade) no perfil de provisionamento. Meu certificado é o mesmo para provisionamento ad hoc e loja de aplicativos. O certificado é válido no chaveiro. Selecionei o perfil ad hoc no Xcode para esta compilação, vinculada ao certificado de distribuição.

Envio ao usuário o arquivo de provisionamento e o arquivo .app. Eles caem no iTunes e na sincronização, recebem esse erro nos dois dispositivos:

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.

Eu removi todos os perfis do meu iPhone, soltei os dois arquivos acima no iTunes, sincronizei e instalei o aplicativo com sucesso. Não consigo reproduzir para mim. Preciso reproduzir esse problema localmente para descobrir o problema. Alguma idéia de como isso pode ser feito?

Foi útil?

Solução

Você adicionou direitos? Coloque a assinatura no nível do alvo, não no nível do projeto? Selecione o perfil ad hoc? Fazer uma limpeza antes da construção? Selecione o dispositivo ad hoc inimigo a compilação?

A melhor aposta é seguir a documentação da Apple exatamente, obtenha suas configurações de construção para exatamente Combine da Apple.

Outras dicas

É uma boa ideia verificar o arquivo imbedded.MobileProvision que vem incluído no arquivo .app para garantir que o UID esteja lá. Basta fazer o seguinte:

  1. Unzip ProblemApp.ipa
  2. CD Payload/ProblemApp.app
  3. pico imbedded.MobileProvision

Procure o UID do seu dispositivo dentro deste arquivo. Se não estiver lá, provavelmente não será adicionado ao arquivo de provisionamento no portal.

Dos documentos:

Construir um aplicativo para distribuição ad hoc é semelhante à criação de um aplicativo para a distribuição da loja de aplicativos, com exceção de duas etapas adicionais. Primeiro, você precisa criar um perfil de provisionamento de distribuição ad hoc e adicionar os UDIDs dos dispositivos iOS que você deseja distribuir ao uso do Programa de Programa de Desenvolvimento do iPhone. Segundo, você precisa criar um arquivo de direitos de assinatura de código. Para obter informações sobre como criar um arquivo de direitos, leia a seção de direitos de gerenciamento do Guia de Desenvolvimento do iOS.


Gerenciando direitos de aplicativos

O iOS fornece acesso a recursos e recursos especiais - como se o seu aplicativo pode ser depurado - através das propriedades chamadas direitos. Para especificar informações de direito em seu aplicativo, você adiciona um arquivo de propriedade de propriedade de direitos que contém definições de direito (pares de chave/valor) ao seu projeto. Ao criar seu aplicativo, o Xcode copia o arquivo para o pacote de aplicativos gerado.

Para adicionar um arquivo de lista de propriedades de direitos ao seu projeto:

Na lista de grupos e arquivos, selecione o grupo de recursos. Escolha Arquivo> Novo arquivo. Escolha o modelo de IOS> Assinatura de código> Direitos. Nomeie o arquivo Direitos.plist. (Você pode usar qualquer nome; apenas certifique-se de corresponder ao valor da configuração de criação de direitos de assinatura de código, conforme explicado posteriormente nesta seção.) Defina o tipo de arquivo da lista de propriedades como os direitos do iPhone. Com o arquivo selecionado no editor de texto, escolha Visualizar> Tipo de lista de propriedades> IPONEIROS Plist.

Adicione suas entradas de direito ao arquivo. Para cada propriedade de direito que você precisa definir:

Clique na criança Adicionar ou Adicionar botões de irmãos à direita da linha selecionada. O botão Adicionar Child tem três linhas representando uma hierarquia, o botão Adicionar irmão tem uma placa de plus (+). Escolha a propriedade de direitos no menu pop-up que aparece. Se o direito que você precisar adicionar não aparecer no menu, escolha Exibir> Tipo de lista de propriedades> Padrão para o tipo de arquivo. Em seguida, digite o nome e o tipo de tecla de direito.

Insira o valor da propriedade. Defina a configuração de criação de direitos de assinatura de código para o destino com o nome do arquivo de lista de propriedades da recém-adicionado direitos adicionados.


Depois de criar seu arquivo de direitos e adicioná-lo à sua configuração de criação de direitos de assinatura de código, abra o arquivo de direitos e adicione ou edite a tecla Get-Task-ALL e defina-a como false.

Além de comprimir seu pacote .App para distribuir sua compilação ad hoc aos testadores, etc. É recomendável que você também compacte o perfil de provisionamento antes de distribuir porque certos clientes e servidores de email podem corromper o perfil de provisionamento.

Para obter informações sobre a distribuição ad hoc, leia os aplicativos de publicação para a seção de testes no Guia de Desenvolvimento do iOS.

Recentemente, encontrei esse problema com um testador em uma construção recente. Aconteceu que meu testador havia redefinido o iPod Touch e removeu o perfil de provisionamento no processo.

Apenas algo a considerar.

Recebi esse erro fazendo algo mais burro do que qualquer outra pessoa postou. Adicionei novos dispositivos ao perfil, mas esqueci de baixar a versão atualizada, adicioná -lo ao xcode e apontar o projeto. Quando eu o configurei corretamente, os testadores conseguiram instalar o aplicativo multa.

Aqui está outro divertido .... Se você tiver arquivos de direito separados para iPhone e iPad, defina o alvo para o arquivo para cada compilação específica ... caso contrário, ele não será exibido na construção e você receberá isso erro

Cheguei aqui porque tive o mesmo problema que o OP. De fato, eu não tinha o UDID no arquivo de direitos, mesmo que eu tenha certeza de que usei a atualização no organizador do Xcode. Outra atualização não fez diferença.

No final, removi todos os perfis de provisionamento e então Fiz uma atualização. As coisas agora funcionam.

Não tenho idéia se isso é uma falha na minha configuração ou um erro do operador. Mas, caso qualquer outra pessoa se encontre nessa situação: pode pagar para remover seus perfis de provisionamento e depois fazer uma atualização.

Isso não funcionaria para mim com um iPhone 3G executando o iOS 3.1.3. Verifiquei que o perfil de distribuição não estava no telefone olhando para as configurações-> Geral (não havia opção de perfil listada).

Eu então instalei o utilitário de configuração do iPhone:

http://support.apple.com/kb/dl851

Então:

  1. Execute a configuração do iPhone
  2. arraste e solte o arquivo MobileProvision para aplicativo
  3. Clique no dispositivo no lado esquerdo
  4. clique na guia "Perfis de provisionamento"
  5. Clique no perfil e clique no botão "Instalar"

Em seguida, o aplicativo foi instalado muito bem.

Eu também tive o mesmo problema que o OP. Erro idiota: acidentalmente deixei os dois últimos dígitos do dispositivo que eu estava tentando distribuir quando o registrei como um dispositivo.

Eu tenho o mesmo problema duas vezes ( xcode 4.2 ios 5)

1º, tempo eu esqueci de adicionar o ARMV6 na arquitetura

2º, tempo que eu criei para muitos arquivos de provisionamento com o mesmo ID do desenvolvedor que eu deveria excluir outras cadeia-chave de acordo com o uso do identificador de pacote ... e eu excluí por engano válido e usei outros kechain

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top