O TestFlight oferece distribuição beta no ar de aplicativos para iOS (em dispositivos sem jailbreak). Como isso pode ser feito? Esse é um recurso do iOS ou uma exploração de vulnerabilidade?
O TestFlight oferece distribuição beta no ar de aplicativos para iOS (em dispositivos sem jailbreak). Como isso pode ser feito? Esse é um recurso do iOS ou uma exploração de vulnerabilidade?
Respostas:
Isso foi possível antes do TestFlight lançar um serviço. A técnica surgiu do mecanismo de distribuição da empresa. Desde a versão 4.0, os dispositivos suportam a instalação da web.
Lembre-se: você ainda precisa assinar a distribuição beta de um conjunto selecionado de UDIDs; não é possível instalá-lo apenas em qualquer dispositivo. Tudo o que eles estão fazendo é levar o e-mail para fora do IPA.
Vejo:
Atualização: quero dizer que o Test Flight é uma das ferramentas mais úteis que usei no desenvolvimento. Tirar o e-mail da IPA fora de cena era um eufemismo - eu estava apenas tentando chamar o mecanismo técnico. Eles fazem um trabalho fantástico gerenciando todo o processo beta. Obter novos dispositivos registrados. Notificando usuários etc.
You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device
. Para um perfil de provisionamento de distribuição corporativa, você não precisa especificar os dispositivos e pode (pelo menos tecnicamente) instalar o binário em qualquer dispositivo. No entanto, a licença restringe você a instalá-la apenas na empresa para a qual o perfil de distribuição foi emitido.
Este artigo mostrou como a implementação do Apples OTA funciona e pode ser usada também fora das empresas: distribuição de aplicativos sem fio ios
O processo completo está documentado pela Apple . A Apple também publicou documentação e código de amostra para registrar dispositivos e obter o UDID usando perfis, para que seu site possa detectar qual dispositivo está chamando.
Algumas soluções adicionais com diferentes forças:
iOS Beta Builder , um aplicativo para Mac para criar o site usando uma compilação. Basta fazer o upload dos arquivos resultantes para o seu servidor da web.
Diawi : serviço Web simples. Faça o upload do seu arquivo IPA, opcionalmente defina uma senha e envie um link para seus testadores.
AppSendr : serviço da Web para hospedagem de compilação beta, semelhante ao Testflight, mas não inclui o processo de registro do dispositivo. Mas fornece utilitários de implantação para carregar automaticamente novas versões.
HockeyKit : projeto de código aberto para hospedagem de versões beta em seu próprio servidor PHP5 com funcionalidades adicionais, como um cliente para atualizações no aplicativo, sites automáticos específicos de dispositivos e manipulação de vários aplicativos. Completamente arquivo e diretório baseado.
HockeyApp : Serviço da Web para hospedagem de compilação beta, atualizações no aplicativo, estatísticas e incluindo registro, convite e recrutamento de dispositivos. Também fornece coleta de relatórios de falhas do lado do servidor, simbolização (para todos os threads) e agrupamento de falhas para aplicativos beta e da loja de aplicativos (iOS + Mac). Os SDKs são de código aberto, usando HockeyKit , QuincyKit e PLCrashReporter (que é a única solução segura sobre como fazer a coleta de relatórios de falhas no iOS, consulte este artigo .
Nota: Eu sou o principal desenvolvedor do HockeyKit e QuincyKit e um dos desenvolvedores do HockeyApp .
O Testflight basicamente usa o Ad Hoc normal, como já indicado.
Para que isso funcione, você precisa do UDID
de todos os dispositivos para adicioná-lo ao perfil Ad Hoc, recompilar o aplicativo com o novo perfil e redistribuir a nova compilação.
Você pode obter o UDID
com a ajuda da Solicitação de autenticação OTA. Na verdade, essa é uma etapa realizada no MDM antes que o perfil real seja implementado no dispositivo. Basicamente, ele solicita mais informações sobre o dispositivo e o envia de volta para um servidor especificado.
A primeira etapa está documentada aqui: Configuração do Apple OTA
Acho que o Testflight usa isso logo após o processo de registro para coletar o UDID
nome do telefone, ...
Sim, esse é um recurso essencial do iOS para clientes corporativos que desejam distribuir o OTA.
Presumivelmente, você passaria seu UDID para o TestFlight junto com o aplicativo e eles usariam a licença corporativa para enviar o aplicativo para você. Tenho certeza de que estou perdendo muitos detalhes técnicos, mas se você quiser saber mais, a Apple tem um vídeo sobre isso na WWDC 2010.
Entre no developer.apple.com, acesse os Vídeos da WWDC 2010 e use o link para acessar os vídeos . O vídeo que você deseja é "Sessão 108 - Gerenciamento de dispositivos móveis". É muito informativo sobre o que é possível com o OTA e as etapas necessárias para executar o provisionamento do OTA.
Os dispositivos iOS conservados em estoque são "vulneráveis" à execução do usuário que carrega aplicativos Ad Hoc de qualquer desenvolvedor que possua o UDID desse dispositivo e registra esse UDID entre seus 100 dispositivos permitidos no portal do desenvolvedor da Apple.
A distribuição OTA é apenas outra maneira de instalar uma distribuição de teste beta Ad Hoc de um desenvolvedor inscrito.