Distribuir apps proprietários desenvolvidos internamente para dispositivos Apple
Os dispositivos Apple oferecem suporte à instalação, via conexão sem fio, de apps proprietários desenvolvidos internamente sem usar um Mac ou acessar a App Store. Antes de distribuir esses apps, você precisa ter um perfil de provisão. Os perfis de provisão podem ser instalados e gerenciados usando uma solução de gerenciamento de dispositivos móveis (MDM) e então transferidos e instalados pelos usuários através de uma atualização de app ou MDM. Antes que um perfil de provisão expire, consulte o site Apple Developer (em inglês) para criar um perfil novo para o app. Para um app do iOS ou iPadOS, 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.
Provisionamento e gerenciamento de usuários para desenvolvedores de apps proprietários internos
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.
Há duas maneiras de distribuir apps proprietários desenvolvidos internamente:
Usando MDM
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: No iOS 18 e no iPadOS 18, ou posteriores, apps proprietários desenvolvidos internamente e instalados manualmente (sem usar o MDM) 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.
Gerencie apps proprietários desenvolvidos internamente para computadores Mac
No macOS 14 ou posterior, é possível gerenciar mais aplicativos. Se um pacote contém mais de um pacote de aplicativo, qualquer aplicativo implementado em /Aplicativos se torna gerenciado. Os Apps Gerenciados devem permanecer na pasta /Applications para serem considerados gerenciados.
Com o MDM, uma organização pode definir se mantém ou remove um aplicativo gerenciado no momento do cancelamento do registro ou até usar o MDM para desinstalar um aplicativo. Isso remove o pacote do aplicativo de /Aplicativos. Qualquer dado instalado pelo pacote ou scripts associados em outros locais permanecem inalterados.
Além disso, os dados de aplicativos gerenciados ficam em um volume separado ao usar o Registro de Usuário ou o Registro de Usuário conduzido por conta.
Provisionamento e gerenciamento de usuários para desenvolvedores de apps proprietários internos
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.
Obtenha o ID de pacote de um aplicativo para Mac
Para obter o identificador de pacote (também chamado de ID de pacote), Control + clique no aplicativo e selecione “Mostrar Conteúdo do Pacote”. Abra a pasta Contents e abra o arquivo Info.plist. Caso não saiba qual app usar, abra o arquivo no “Editor de Texto”. Use o recurso Buscar do app para encontrar CFBundleIdentifier
no arquivo e copie a string abaixo dessa linha. Por exemplo, com.betterbag.applicationname. Cole o identificador de pacote desse aplicativo em um arquivo de texto ou nota para usá‑lo mais tarde.
Usar o MDM para distribuir o app
Para usar o MDM, use um manifesto com o comando InstallEnterpriseApplication
(arquivo de manifesto incorporado) ou com o comando InstallApplication
(arquivo de manifesto). O macOS também é compatível com sha256 e apontamento de certificado. Existem opções adicionais ao usar estes comandos com diferentes sistemas operacionais:
Em dispositivos com iOS 17.2, iPadOS 17.2 ou posterior, você também pode usar a configuração declarativa de apps.
Em dispositivos com macOS, você pode usar:
O comando
InstallApplication
para compras por volume e instalações de .pkg.O comando
InstallEnterpriseApplication
apenas para instalações de .pkg.
Para obter mais informações, consulte Comandos do MDM.
Usar um site para distribuir o app
Para instalar apps via conexão sem fio, os apps para iOS, iPadOS visionOS 1.1 precisam atender os seguintes requisitos:
Os apps precisam estar no formato .ipa e serem compilados com um perfil de provisão interno.
Eles devem 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 pacote, os usuários devem transferir o arquivo de manifesto do seu site usando o prefixo URL especial. 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 uma solução MDM.
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.
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.
Fornecer apps proprietários desenvolvidos internamente atualizados
Os apps que você distribui não sã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.
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.
Se o certificado de distribuição expirar, o app não será aberto e você precisará recriá-lo com um novo certificado. 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.
Solução de problemas da distribuição 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.