Distribuímos aplicativos por meio de uma conta Enterprise, usando um itms-services://
URL. Isso sempre funcionou bem, mas depois de instalar o iOS 7.1 beta em nosso iPad, ele se recusa a instalar. Em vez disso, recebemos a Cannot connect to example.com
mensagem genérica que o iOS exibe sem ajuda quando há algum tipo de problema ao baixar o aplicativo.
Não consegui encontrar nada aqui no SO, no Google ou nas notas de versão 7.1 para sugerir o que poderia estar causando o problema.
ios
deployment
Mark Parnell
fonte
fonte
Respostas:
Encontrei o problema conectando o iPad ao computador e visualizando o console através do XCode Organizer enquanto tentava instalar o aplicativo. O erro acaba sendo:
Acontece que no iOS 7.1, o URL do
manifest.plist
arquivo deve ser HTTPS, onde estávamos usando HTTP. Alterar o URL para HTTPS resolveu o problema.Ou seja,
torna-se
Eu diria que você precisa ter um certificado SSL válido para o domínio em questão. Já o fizemos, mas imagino que você terá problemas sem ele.
fonte
ingconti está certo.
www.dropbox.com
pordl.dropboxusercontent.com
no link, como https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
arquivo com um link formatado como<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
para o dropboxwww.dropbox.com
pordl.dropboxusercontent.com
no segundo link também, como https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlAgora, visite o
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
seu dispositivo, você pode instalar o aplicativo como antes.QUE MUNDO MARAVILHOSO!
fonte
Além da resposta de Mark Parnell, uma maneira rápida e suja de contornar isso é colocar o manifesto no Dropbox e, em seguida, usar a interface da web do Dropbox para obter um link https direto para ele ('Compartilhar link' -> ' Obtenha o link '->' Download ').
O ipa real pode permanecer onde você sempre o serviu. Você precisará codificar por URL o URL do plist antes de inseri-lo na consulta do URL de serviços de itms (embora apenas substituir qualquer & s por% 3D possa funcionar).
Uma desvantagem é que a caixa de diálogo de instalação agora exibirá "dl.dropbox.com deseja instalar [o que for]].
fonte
É verdade que, a partir de agora, espera-se que você faça todas as implantações do OTA por https, a partir do iOS7.1. Que vergonha para a Apple por não documentar isso.
Para aqueles que procuram uma solução interna melhor do que confiar no dropbox ou precisar desembolsar dinheiro para obter um certificado, você pode ter uma solução se seguir as etapas descritas na dica nº 5 aqui: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
A essência disso é esta:
Isso não é o mesmo que fazer um certificado autoassinado. Nesta solução, você também está atuando como sua própria Autoridade de Certificação privada. Se o seu certificado raiz instalado no dispositivo Apple não estiver marcado como Confiável (verde), algo está errado. Fazer de novo.
Isso absolutamente funciona.
Atualização: 13/3/2014 - Forneci um pequeno utilitário de linha de comando que simplifica todo esse processo. Você pode obtê-lo em: https://github.com/deckarep/EasyCert/releases
fonte
Eu tinha o mesmo problema e, embora já estivesse usando um servidor SSL, simplesmente alterar os links para https não estava funcionando, pois havia um problema subjacente.
Clique aqui para ver a imagem
O trecho destacado me disse que devemos ter a opção de confiar no certificado, mas como essa é a loja de aplicativos, trabalhando no Safari, essa sugestão de recuperação simplesmente não é apresentada.
Não fiquei satisfeito com as soluções existentes porque:
Finalmente encontrei uma solução criando uma Autoridade de certificação raiz autoassinada e gerando o certificado SSL do nosso servidor usando isso.
Usei o Keychain Access e o OSX Server, mas existem outras soluções válidas para cada etapa
Criando uma autoridade de certificação
Pelo que entendi, as autoridades de certificação são usadas para verificar se os certificados são genuínos. Como estamos prestes a criar um nós mesmos, não é exatamente seguro , mas significa que você pode confiar em todos os certificados de uma determinada autoridade. Uma lista dessas autoridades geralmente é incluída por padrão em seus navegadores, pois eles são realmente confiáveis. (CA global da GeoTrust, Verisign etc.)
Gerando uma solicitação de assinatura de certificado
No nosso caso, as solicitações de assinatura de certificado são geradas pelo administrador do servidor. Simplesmente é um arquivo que pergunta "Posso ter um certificado com essas informações para o meu site, por favor".
Criando o certificado
Agindo como a autoridade de certificação novamente, cabe a você decidir se a pessoa que enviou o CSR é genuína e não está fingindo ser outra pessoa. As autoridades reais têm suas próprias maneiras de fazer isso, mas como você tem certeza de que é você, sua verificação deve ter certeza :)
Você pode clicar em continuar pelo restante das opções.
O aplicativo Mail será aberto, dando a você a chance de enviar o certificado. Em vez de enviar por e-mail, clique com o botão direito do mouse e salve-o.
Instalando o certificado
Agora precisamos configurar o servidor para usar o certificado que acabamos de criar para o tráfego SSL.
Configurando dispositivos
Cada dispositivo em que você precisa instalar aplicativos precisará ter uma cópia dessa autoridade de certificação para que eles saibam que podem confiar em certificados SSL dessa autoridade.
Teste
Verifique se os links do plist são https
fonte
Certificate Authority
cert e não o auto assinado cert SSL como eu erroneamente instalado inicialmentePosso confirmar que funciona, mas você precisa colocar o html AND plist no dropbox. Também funciona para OTA não corporativo, ou seja, você deseja compartilhar o aplicativo com seu desenvolvedor. equipe.
Eu fiz:
a) no meu site, criei uma página com este link:
.. href = "https://dl.dropboxusercontent.com/u//(seu ID do banco de dados) /ipa.html"> MyApp
b) no DropBox, escrevi outra página HTML:
.. https://dl.dropboxusercontent.com/u/(seu ID do banco de dados) /MyApp.plist "> Toque para instalar o MyApp
c) moveu o plist no DropBox, mas deixou-o em PONTO no meu servidor antigo (sem https)
fonte
Abra o terminal e execute o comando: curl -i https: // (o caminho do arquivo .ipa não existe)
Isso informará se o instalador pode ou não ver o arquivo IPA. Se você executar o comando curl com o '-i', verá a resposta completa e provavelmente não é o arquivo IPA. Esta é a resposta que o instalador vê; portanto, se não estiver retornando HTTP 200 e um IPA, será necessário devolvê-lo.
O instalador do ITMS não salva nenhum contexto do Safari. Se você se autenticou em um portal seguro no Safari, os cookies de autenticação não são transmitidos ao instalador. ou seja, o instalador precisa poder ver o aplicativo sem autenticação e esse pode ser o motivo pelo qual você está recebendo 'Não é possível conectar ao servidor'.
fonte
Eu tive o mesmo problema e fiz como mencionado acima.
Ambas as páginas funcionaram com sucesso para instalar o aplicativo em iphones com o ios 7.1
Mas agora os iphones com o ios 7.0x não podem instalar o aplicativo.
Criei uma nova pergunta: a implantação de aplicativos ad-hoc atualizados não funciona no ios anterior à 7.1
Ambas as questões estão intimamente relacionadas e também ligadas à falta de referências oficiais.
fonte
Um cara legal resolveu o problema usando o certificado StartSSL da Classe 1 e a configuração compartilhada do Apache que adiciona suporte de certificado (funcionará com qualquer certificado) e código para alterar os links nos arquivos * .plist existentes automaticamente. Muito tempo para copiar, então aqui está o link: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
fonte
Se você tiver o AWS S3, também funciona como um encanto. Bem. Relativamente falando :-)
Crie um bucket para seus ad hocs na AWS, adicione um arquivo de índice (pode ser apenas um arquivo index.html em branco) e use um cliente que possa se conectar ao S3 como CyberDuck ou Coda (usei Coda - onde você selecionaria Adicionar Site para obter uma janela de conexão) e defina as conexões como as anexadas:
Em seguida, construa sua empresa ad hoc no XCode e use https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa como o URL do aplicativo e faça o upload para o seu novo diretório de bucket S3.
Seu link itms deve corresponder, ou seja, itms-services: //? Action = download-manifesto & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
E voilá.
Isso é apenas para URLs genéricos da AWS - não tentei com URLs personalizados na AWS; portanto, talvez você precise fazer algumas coisas de maneira diferente.
Eu estava determinado a tentar fazer com que a solução de James Webster acima funcionasse, mas não consegui que ela funcionasse com o Plesk.
fonte
Como alternativa ao uso do Dropbox para distribuição corporativa, você pode usar o TestFlight para a distribuição de aplicativos assinados pela empresa.
https://www.testflightapp.com/
Este é um serviço fantástico para hospedagem e distribuição de compilações ad-hoc de desenvolvimento E compilações empresariais.
fonte
Além das respostas anteriores sobre o Dropbox, implementei a seguinte árvore de arquivos, como apenas o arquivo PLIST deve ser carregado no Dropbox:
use a opção "Compartilhar o link com o Dropbox", que copia o link para a área de transferência. Este link deve ser copiado para o seu arquivo html na consulta da URL itms-servivces após alterar a parte
www.dropbox.com
pordl.dropboxusercontent.com
. Observe que o URL codificou o link conforme sugerido por @Mike, mas não testei sem fazê-lo. Agora, a consulta da URL itms-services deve ficar assim:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
faça o upload do arquivo html para o seu servidor em http. Observe que o arquivo html contém os dois links para os arquivos ipa e de provisionamento.
A partir de agora, apenas o arquivo ipa precisará ser alterado para fornecer as próximas versões de aplicativos da OTA aos seus testadores beta. Até que a Apple ainda esteja alterando as regras de segurança.
Associo-me aqui após o arquivo HTML muito simples que estou usando:
fonte
Nossa equipe usa o dropbox para distribuição ad-hoc, que usa https, mas ainda assim nosso aplicativo falhou na instalação. Depois de muitos problemas, percebemos que o campo do título também é obrigatório. Sempre que enviamos um link sem esse campo, o safari ignorava o link e não solicitava a instalação do usuário. Às vezes, para testes rápidos de desenvolvimento, pulamos o nó do título no xml e não o preenchemos. Caso isso seja útil para qualquer pessoa que tenha esse problema, verifique se o arquivo .plist contém os seguintes nós:
fonte
Depois de ler este post, eu ainda tinha um problema com o download do meu aplicativo. O problema ocorreu devido ao certificado SSL autoassinado.
Encontrei uma solução para esse problema. Você precisa fazer o upload do seu arquivo de certificado com a extensão '.crt' na Web e digitar o endereço no seu safari móvel. O sistema pergunta sobre como adicionar seu certificado à lista de certificados confiáveis. Após esta operação, você poderá instalar seu aplicativo ad-hoc.
fonte
A solução universal é conectar seu dispositivo ao Mac e observar o que está acontecendo durante a instalação. Eu recebi um erro:
Havia até a sugestão nesse erro de verificar as configurações de data. Por alguma razão, a data foi 1 de janeiro de 1970. A definição da data correta resolveu o problema.
fonte
Apter tentou mudar
itms-services://?action=download-manifest&url=http://....
paraitms-services://?action=download-manifest&url=https://....
. Também não pode funcionar. O alerta écannot connect to my domain
. Descobri que também é necessário atualizar a página da web.O problema não está no fato de o URL principal ser HTTPS, mas em parte do código HTML em um link dentro da página. Você precisará de seus desenvolvedores para atualizar a página da web. Também notei que não há um certificado SSL válido no seu domínio de temporariedade, então você precisará instalar um ou usar o Dropbox e aqui está o link que talvez seja útil para você
fonte