
Distribuir apps proprietários desenvolvidos internamente para dispositivos Apple
Os dispositivos Apple são compatíveis com a instalação sem fio de apps proprietários desenvolvidos internamente que não passam pela App Store, mas sim pelo Programa Apple Enterprise Developer. O Programa Apple Developer Enterprise destina‑se apenas ao uso e à distribuição interna de apps proprietários em certos casos de uso que não são adequadamente abordados por apps públicos na App Store, Apps Personalizados no Apple School Manager ou Apple Business Manager, distribuição Ad Hoc ou testes beta no TestFlight.
Para obter mais informações, consulte o Programa Apple Developer Enterprise (em inglês).
Perfil de provisão
Para distribuir apps proprietários desenvolvidos internamente para dispositivos iPhone, iPad, Apple TV, Apple Vision Pro e Apple Watch, você precisa de um perfil de provisão. Você pode usar um serviço de gerenciamento de dispositivos para instalar e gerenciar perfis de provisão, e os usuários podem baixá-los e instalá-los por meio desse serviço ou de uma atualização de app.
Antes que um perfil de provisão expire, crie um novo perfil para o app através do site iOS Developer, do site iOS Developer ou do site visionOS Developer. Exporte um novo pacote de apps (um arquivo .ipa) com o novo perfil de provisão para os usuários que estiverem instalando o app pela primeira vez.
Se os usuários já tiverem o aplicativo, você pode agendar a liberação da nova versão para que ela inclua o novo perfil de provisão. Assim, os usuários não serão interrompidos durante o uso. Caso contrário, você pode distribuir apenas o arquivo .mobileprovision. Dessa maneira, os usuários não precisarão instalar o app novamente. O novo perfil de provisão substitui o que já existe no arquivo de app.
Os perfis de provisão de distribuição expiram depois de 12 meses da data de emissão. Após a data de expiração, o perfil é removido e o app não pode ser aberto.
Provisione e gerencie os usuários para desenvolvedores de apps proprietários desenvolvidos internamente
Desenvolvedores de apps proprietários internos têm acesso às APIs da Apple para provisionamento e gerenciamento de usuários, permitindo que automatizem tarefas, como geração de perfis de provisionamento e integração do gerenciamento de usuários em fluxos de trabalho existentes.
Para obter mais informações, consulte Enterprise Program API no site Apple Developer.
Há duas maneiras de distribuir apps proprietários desenvolvidos internamente:
Usando um serviço de gerenciamento de dispositivos
Usando um site
Ambos os métodos requerem a preparação do app para distribuição, o que inclui a preparação de um manifesto.
Importante: Em dispositivos com iOS 18 e iPadOS 18, ou posteriores, apps proprietários desenvolvidos internamente e que você instala manualmente (sem usar um serviço de gerenciamento de dispositivos) exigem a reinicialização do dispositivo para concluir a confiabilidade do perfil de provisionamento.
Preparação de um app proprietário desenvolvido internamente para distribuição via conexão sem fio
Para preparar o aplicativo proprietário desenvolvido internamente para distribuição via conexão sem fio, é preciso criar uma versão arquivada (um arquivo .ipa) e um arquivo de manifesto que ative a distribuição e a instalação do aplicativo via conexão sem fio. Use o Xcode para criar um arquivo com uma versão do seu app e exporte o app para distribuição na organização. O Xcode usa o certificado de distribuição e inclui o perfil de provisionamento apropriado. O arquivo de manifesto é uma lista de propriedades XML (um arquivo .plist) usado por dispositivos da Apple para buscar, baixar e instalar apps de um servidor web. O arquivo de manifesto é criado pelo Xcode, usando as informações fornecidas ao compartilhar um aplicativo arquivado para distribuição em uma organização. Para visualizar a lista de atributos e valores associados, consulte Install Application command (em inglês) no site Apple Developer.
Use um serviço de gerenciamento de dispositivos para distribuir o app
Para usar um serviço de gerenciamento de dispositivos, você precisa usar o arquivo de manifesto preparado com um dos seguintes:
Gerenciamento declarativo de apps, disponível no iOS 17.2, iPadOS 17.2 e visionOS 1.1 ou posteriores.
O comando
InstallEnterpriseApplication(arquivo de manifesto ou manifesto integrado).O comando
InstallApplication(arquivo de manifesto).
Usar um site para distribuir o app
Para instalar apps via conexão sem fio, os apps para iOS, iPadOS e visionOS precisam atender aos seguintes requisitos:
Os apps precisam estar no formato .ipa e serem compilados com um perfil de provisão interno.
Eles precisam ter um arquivo de manifesto XML.
Eles devem ser baixados de um site cujo endereço começa com HTTPS.
Eles devem ser assinados por um certificado confiável no dispositivo.
A configuração de rede precisa permitir que os dispositivos acessem um servidor na Apple. Para obter mais informações, consulte o artigo de Suporte da Apple Usar produtos Apple em redes corporativas.
Para instalar o app, os usuários devem usar o prefixo URL especial para baixar o arquivo de manifesto do seu site. Você pode distribuir o URL para transferência do manifesto por iMessage ou uma mensagem de e-mail. Exemplo de link com o prefixo adicionado:
<a href="itms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Install App</a>
Cabe a você projetar e hospedar o site usado para distribuir esses tipos de app. Certifique-se de que os usuários sejam autenticados e que o site possa ser acessado da intranet ou da internet, dependendo das suas necessidades. O site pode ser uma página única com um link para o arquivo de manifesto. Quando o usuário clica no link, o arquivo de manifesto é transferido, acionando a transferência e a instalação do que a página web descreveu.
Siga estas diretrizes adicionais:
Não adicione um link web diretamente para o app arquivado (.ipa). O arquivo .ipa é transferido pelo dispositivo quando o arquivo de manifesto é carregado. Embora a parte de protocolo do URL seja “itms-services”, a App Store não está envolvida nesse processo.
Certifique-se de que o arquivo .ipa possa ser acessado por HTTPS e que o site esteja assinado com um certificado considerado confiável pelo iOS e iPadOS. A instalação falha se um certificado autoassinado não for confiável e não puder ser validado pelo dispositivo.
Envie estes itens para uma área do site que os usuários autenticados possam acessar:
O arquivo de manifesto (com extensão .plist)
O arquivo do app (com extensão .ipa)
Pode ser necessário configurar o servidor web para que o arquivo de manifesto e o arquivo de aplicativo sejam transmitidos corretamente. No servidor, adicione os tipos MIME aos ajustes de tipos MIME do serviço web:
application/octet-stream ipa
text/xml plist
No Internet Information Server (IIS) da Microsoft, use o IIS Manager para adicionar os tipos MIME na página de Propriedades do servidor:
.ipa application/octet-stream
.plist text/xml
Nota: caso crie um portal de autoatendimento, considere adicionar um Web Clip que possa ser adicionado à Tela de Início dos usuários. Assim, será fácil redirecioná-los ao portal para consultar informações futuras, como novos perfis de configuração e apps recomendados da App Store, além de permitir que eles se registrem em um serviço de gerenciamento de dispositivos.
Validação do certificado
Da primeira vez que um usuário abre um app, o certificado de distribuição é validado através do contato com o servidor OCSP da Apple. Se o certificado tiver sido revogado, o aplicativo não será aberto. Para verificar o estado, o dispositivo precisa ser capaz de se comunicar com ocsp.apple.com.
A resposta do OCSP é armazenada no dispositivo pelo período especificado pelo servidor OCSP, atualmente entre três e sete dias. A validade do certificado não é verificada novamente até que o dispositivo seja reiniciado e a resposta armazenada tenha expirado. Se a revogação for recebida nesse momento, o aplicativo não será aberto.
O certificado de distribuição é válido por três anos a partir da data de emissão ou até que a assinatura do Programa de Desenvolvedor da Apple para Empresas expire, o que acontecer primeiro. Para evitar que o certificado expire, lembre-se de renovar a assinatura antes que isso aconteça.
Você pode ter dois certificados de distribuição independentes ativos ao mesmo tempo, sendo um independente do outro. O segundo certificado fornece um período de sobreposição, quando você pode atualizar seus apps antes que o primeiro certificado expire. Ao solicitar o segundo certificado de distribuição, lembre-se de não revogar o primeiro.
ADVERTÊNCIA: a revogação de um certificado de distribuição invalida todos os aplicativos que tenham sido assinados com ele. Você deve revogar um certificado apenas como último recurso; se tiver certeza de que a chave privada foi perdida ou se achar que o certificado foi comprometido.
Atualize manualmente os apps proprietários desenvolvidos internamente
No caso de apps proprietários desenvolvidos internamente que são distribuídos por um serviço de gerenciamento de dispositivos, você pode usar o mecanismo de App Gerenciado para atualizá‑los.
Se os usuários tiverem baixado os apps manualmente, eles não serão atualizados automaticamente. Quando houver uma versão nova, notifique os usuários e oriente-os a fazer a instalação. Considere a hipótese do app verificar a existência de atualizações e notificar o usuário ao ser aberto. Certifique-se de que a notificação forneça um link itms-services. Você também pode usar openURL a partir do app para instalar a atualização.
Caso deseje que os usuários mantenham os dados do app armazenados no dispositivo, certifique-se de que a nova versão use o mesmo identificador de pacote da versão sendo substituída e informe aos usuários que eles não devem apagar a versão antiga antes de instalar a nova.
Diagnóstico da distribuição de apps via conexão sem fio
Se a distribuição via conexão sem fio do app falhar e você receber uma mensagem “não é possível baixar”:
Certifique-se de que o app esteja assinado corretamente. Use o Apple Configurator para Mac para instalar o app em um dispositivo e verifique se algum erro ocorre.
Certifique-se de que o link para o arquivo de manifesto esteja correto e que ele possa ser acessado pelos usuários web.
Certifique-se de que o URL para o arquivo .ipa (no arquivo de manifesto) esteja correto e que ele possa ser acessado pelos usuários web através de HTTPS.