Preparar as aplicações iOS para as políticas de proteção de aplicações com a Ferramenta de Encapsulamento de Aplicações do Intune

Utilize a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para iOS para ativar as políticas de proteção da aplicação Intune para aplicações iOS internas sem alterar o código da aplicação em si.

A ferramenta consiste numa aplicação da linha de comandos do macOS que cria um encapsulamento em torno de uma aplicação. Depois de uma aplicação ser processada, pode alterar a funcionalidade da aplicação ao implementar políticas de proteção de aplicações à mesma.

Para transferir a ferramenta, veja Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para iOS no GitHub.

Nota

Se tiver problemas em utilizar o Intune App Wrapping Tool com as suas apps, envie um pedido de assistência sobre GitHub.

Pré-requisitos gerais da Ferramenta de Encapsulamento de Aplicações

Antes de executar a Ferramenta de Encapsulamento de Aplicações, terá de cumprir alguns pré-requisitos gerais:

  • Transfira a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para iOS a partir do GitHub.

  • Um computador macOS que tem a versão 11 ou posterior instalada no Xcode toolset.

  • A aplicação iOS de entrada tem de ser programada e assinada pela sua empresa ou por um fabricante de software independente (ISV).

    • O ficheiro de aplicação de entrada tem de ter a extensão .ipa ou .app.

    • A aplicação de entrada deve ser compilada para iOS 12.2 ou posterior.

    • A aplicação de entrada não pode ser encriptada.

    • A aplicação de entrada não pode ter atributos de ficheiro expandidos.

    • A aplicação de entrada tem de ter elegibilidades definidas antes de ser processada pela Ferramenta de Encapsulamento de Aplicações do Intune. As elegibilidades fornecem as capacidades e permissões adicionais de aplicações além das normalmente concedidas. Consulte Definição de elegibilidade da aplicação para obter instruções.

Pré-requisitos para Programadores Apple da Ferramenta de Encapsulamento de Aplicações

Para distribuir aplicações encapsuladas exclusivamente para os utilizadores da sua organização, precisa de uma conta do Apple Developer Enterprise Program e várias entidades de assinatura de aplicações ligadas à sua conta de Programador Apple.

Para saber mais sobre a distribuição de aplicações iOS internamente para os utilizadores da sua organização, leia o guia oficial para Distribuir Aplicações do Apple Developer Enterprise Program.

É necessário o seguinte para distribuir aplicações encapsuladas pelo Intune:

  • Uma conta de programador do Apple Developer Enterprise Program.

  • Um certificado de assinatura de distribuição interna e ad-hoc com um Identificador de Equipa válido.

    • É necessário o hash SHA1 do certificado de assinatura como um parâmetro para a Ferramenta de Encapsulamento de Aplicações do Intune.
  • Um perfil de aprovisionamento de distribuição interna.

Passos para criar uma conta do Apple Developer Enterprise

  1. Aceda ao site do Apple Developer Enterprise Program.

  2. Na parte superior direita da página, clique em Inscrever.

  3. Leia a lista de verificação sobre o que precisa para se inscrever. Clique em Iniciar Inscrição na parte inferior da página.

  4. Inicie sessão com o ID Apple da sua organização. Se não tiver um, clique em Criar ID Apple.

  5. Selecione o Tipo de Entidade e clique em Continuar.

  6. Preencha o formulário com as informações da sua organização. Clique em Continue (Continuar). Neste passo, a Apple contacta-o para verificar se está autorizado a inscrever a sua organização.

  7. Após a verificação, clique em Aceitar Licenciar.

  8. Depois de aceitar licenciar, conclua ao comprar e ativar o programa.

  9. Se for o agente da equipa (a pessoa associada ao Apple Developer Enterprise Program em nome da sua organização), crie primeiro a equipa ao convidar os membros de equipa e atribuir funções. Para saber como gerir a sua equipa, leia a documentação da Apple em Gerir a Sua Equipa de Conta de Programador.

Passos para criar um certificado de assinatura da Apple

  1. Aceda ao portal de Programador da Apple.

  2. Na parte superior direita da página, clique em Conta.

  3. Inicie sessão com o seu ID Apple organizacional.

  4. Clique em Certificados, IDs e Perfis.

    Portal apple developer - Certificados, IDs & Profiles

  5. Clique no ícone sinal de adição do portal de Programador da Apple no canto superior direito para adicionar um certificado iOS.

  6. Opte por criar um certificado Interno e Ad-Hoc em Produção.

    Selecionar o certificado Interno e Ad-Hoc

    Nota

    Se não planeia distribuir a aplicação e apenas pretende testá-la internamente, pode utilizar um certificado de Programação de Aplicações para iOS em alternativa ao certificado de Produção. Se utilizar um certificado de programação, certifique-se de que o perfil de aprovisionamento móvel refere os dispositivos em que a aplicação será instalada.

  7. Clique em Seguinte na parte inferior da página.

  8. Leia as instruções sobre a criação de um Pedido de Assinatura de Certificado (CSR) através da aplicação Acesso a Porta-chaves no seu computador macOS.

    Leia as instruções para criar um CSR

  9. Siga as instruções acima para criar um Pedido de Assinatura de Certificado. No seu computador macOS, inicie a aplicação Acesso a Porta-chaves.

  10. No menu do macOS na parte superior do ecrã, aceda a Acesso a Porta-chaves > Assistente de Certificados > Pedir um Certificado a Partir de uma Autoridade de Certificação.

    Pedir um certificado a partir de uma Autoridade de Certificação no Acesso a Porta-chaves

  11. Siga as instruções do site de programador da Apple acima sobre como criar um ficheiro CSR. Guarde o ficheiro CSR no seu computador macOS.

    Insira informações para o certificado que está a solicitar

  12. Regresse ao site de programador da Apple. Clique em Continue (Continuar). Em seguida, carregue o ficheiro CSR.

  13. A Apple gera o certificado de assinatura. Transfira e guarde-o numa localização fácil de memorizar no seu computador macOS.

    Transferir o certificado de assinatura

  14. Faça duplo clique no ficheiro de certificado que acabou de transferir para adicionar o certificado a um porta-chaves.

  15. Abra novamente o Acesso a Porta-chaves. Localize o seu certificado ao procurar o respetivo nome no canto superior direito da barra de pesquisa. Clique com o botão direito do rato no item para aceder ao menu e clique em Obter Informações. Nos ecrãs de exemplo, estamos a utilizar um certificado de programação em alternativa ao certificado de produção.

    Adicionar o certificado a um porta-chaves

  16. É apresentada uma janela informativa. Desloque para baixo e procure a etiqueta Impressões Digitais. Copie a cadeia SHA1 (desfocada) a utilizar como argumento "-c" para a Ferramenta de Encapsulamento de Aplicações.

    iPhone informações - Cadeia sha1 de impressões digitais

Passos para criar um perfil de Aprovisionamento de Distribuição Interna

  1. Volte ao portal de contas de Programador da Apple e inicie sessão com o seu ID Apple organizacional.

  2. Clique em Certificados, IDs e Perfis.

  3. Clique no ícone sinal de adição do portal de Programador da Apple no canto superior direito para adicionar um perfil de aprovisionamento do iOS.

  4. Opte por criar um perfil de aprovisionamento Interno em Distribuição.

    Selecionar o perfil de aprovisionamento interno

  5. Clique em Continue (Continuar). Certifique-se de que associa o certificado de assinatura gerado anteriormente ao perfil de aprovisionamento.

  6. Siga os passos para transferir o perfil (com a extensão .mobileprovision) para o seu computador macOS.

  7. Guarde o ficheiro numa localização fácil de memorizar. Este ficheiro será utilizado para o parâmetro -p quando utilizar a Ferramenta de Encapsulamento de Aplicações.

Transferir a Ferramenta de Encapsulamento de Aplicações

  1. Transfira os ficheiros para a Ferramenta de Encapsulamento de Aplicações do GitHub para um computador macOS.

  2. Faça duplo clique no ficheiro Microsoft Intune App Wrapping Tool for iOS.dmg. Será apresentada uma janela com o Contrato de Licença do Utilizador Final (EULA). Leia atentamente o documento.

  3. Selecione Concordo para aceitar o EULA, essa ação monta o pacote no seu computador.

executar a Ferramenta de Encapsulamento de Aplicações

Importante

A Intune lança regularmente atualizações para o Intune App Wrapping Tool. Verifique regularmente o Intune App Wrapping Tool para iOS para obter atualizações e incorpore o ciclo de lançamento do seu software para garantir que as suas aplicações suportam as definições mais recentes da Política de Proteção de Aplicações.

Utilizar o terminal

Abra o Terminal macOS e execute o seguinte comando:

/Volumes/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

Nota

Alguns parâmetros são opcionais, conforme apresentado na tabela seguinte.

Exemplo: O comando de exemplo seguinte executa a Ferramenta de Encapsulamento de Aplicações numa aplicação denominada MyApp.ipa. Um perfil de aprovisionamento e um hash SHA-1 do certificado de assinatura são especificados e que servem para assinar a aplicação encapsulada. É criada a aplicação de saída (MyApp_Wrapped.ipa) e armazenada na sua pasta Ambiente de trabalho.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB"  -v true

Parâmetros da linha de comandos

Pode utilizar os seguintes parâmetros de linha de comandos na Ferramenta de Encapsulamento de Aplicações:

Propriedade Como utilizá-lo
-i <Path of the input native iOS application file>. O nome do ficheiro tem de terminar em .app ou .ipa.
-o <Path of the wrapped output application>
-p <Path of your provisioning profile for iOS apps>
-c <SHA1 hash of the signing certificate>
-h Mostra informações de utilização detalhadas sobre propriedades de linha de comandos disponíveis para a Ferramenta de Encapsulamento de Aplicações.
-aa (Opcional) <Authority URI of the input app if the app uses the Microsoft Authentication Library> i.e https://login.microsoftonline.com/common
-ac (Opcional) <Client ID of the input app if the app uses the Microsoft Authentication Library> Este é o guia no campo de ID do Cliente a partir da listagem da sua aplicação na lâmina de Registo de Aplicações.
-ar (Opcional) <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Este é o URI redirecionado configurado no seu Registo de Aplicações. Normalmente, seria o protocolo URL da aplicação a que a aplicação Microsoft Authenticator voltaria após a autenticação intermediada.
-v (Opcional) Dá saída de mensagens verbosas para a consola. Recomenda-se a utilização deste sinalizador para depurar quaisquer erros.
-e (Opcional) Utilize este sinalizador para fazer com que a Ferramenta de Encapsulamento de Aplicações remova as elegibilidades em falta à medida que processa a aplicação. Consulte os direitos da aplicação de Definição para mais detalhes.
-xe (Opcional) Imprime informações acerca das extensões iOS na aplicação e que elegibilidades são necessárias para as utilizar. Consulte os direitos da aplicação de Definição para mais detalhes.
-x (Opcional) <An array of paths to extension provisioning profiles>. Utilize esta opção se a sua aplicação necessitar de perfis de aprovisionamento de extensões.
-b (Opcional) Utilize -b sem um argumento se quiser que a aplicação de saída encapsulada tenha a mesma versão de pacote que a aplicação de entrada (não recomendado).

Utilize -b <custom bundle version> se quiser que a aplicação encapsulada tenha uma CFBundleVersion personalizada. Se optar por especificar um CFBundleVersion personalizado, é uma boa ideia incrementar a CFBundleVersion da aplicação nativa pelo componente menos significativo, como 1.0.0 -> 1.0.1.
-citrix (Opcional) Inclua a Aplicação Citrix XenMobile SDK (variante apenas de rede). Tem de ter o Conjunto de Ferramentas Citrix MDX instalado para utilizar esta opção.
-f (Opcional) <Path to a plist file specifying arguments.> Utilize este sinalizador à frente do ficheiro plist se optar por utilizar o modelo plist para especificar o resto das propriedades do IntuneMAMPackager, como -i, -o e -p. Consulte Utilizar uma plist para argumentos de entrada.

Utilize uma plist para argumentos de entrada

Uma forma simples de executar a Ferramenta de Encapsulamento de Aplicações é colocar todos os argumentos de comando num ficheiro plist. O plist é um formato de ficheiro semelhante a XML que pode utilizar para dar entrada dos seus argumentos de linha de comandos através de uma interface de formulário.

Na pasta IntuneMAMPackager/Contents/MacO, abra Parameters.plist (um modelo plist em branco) com um editor de texto ou com o Xcode. Introduza os seus argumentos para as seguintes chaves:

Chave plist Tipo Valor Predefinido Notas
Caminho de Pacote de Aplicação de Entrada String vazio Mesmo que -i
Caminho de Pacote de Aplicação de Saída String vazio Mesmo que -o
Caminho de Perfil de Aprovisionamento String vazio Mesmo que -p
Hash de Certificado SHA-1 String vazio Mesmo que -c
Autoridade ADAL String vazio O mesmo que -aa
ID do cliente ADAL String vazio O mesmo que -ac
Resposta ADAL URI String vazio O mesmo que -ar
Verbose Ativada Booleano false Mesmo que -v
Remover Elegibilidades em Falta Booleano false O mesmo que -e
Impedir a atualização de construção padrão Booleano false Equivalente a utilizar -b sem argumentos
Substituição de Cadeia da Compilação String vazio A CFBundleVersion personalizada da aplicação de saída encapsulada
Incluir citrix XenMobile App SDK (variante apenas de rede) Booleano false O mesmo que -citrix
Caminhos de Perfil de Aprovisionamento de Extensão Matriz de Cadeias vazio Uma matriz dos perfis de aprovisionamento de extensão da aplicação.

Execute o IntuneMAMPackager com o ficheiro plist como único argumento:

./IntuneMAMPackager –f Parameters.plist

Pós-encapsulamento

Depois de o processamento de encapsulamento ser concluído, será apresentada a mensagem "A aplicação foi encapsulada com êxito". Se ocorrer um erro, consulte as mensagens de erro para obter ajuda.

A aplicação encapsulada é guardada no ficheiro de saída que especificou anteriormente. Pode carregar a aplicação para a consola de administrador do Intune e associá-la a uma política de gestão de aplicações móveis.

Importante

Ao carregar a aplicação encapsulada, pode tentar atualizar uma versão mais antiga da aplicação se uma versão mais antiga (encapsulada ou nativa) já tiver sido implementada no Intune. Se ocorrer um erro, utilize a aplicação como uma nova aplicação e elimine a versão antiga.

Agora pode implementar a aplicação nos seus grupos de utilizadores e nas suas políticas de proteção de aplicações de destino para a aplicação. A aplicação será executada no dispositivo com as políticas de proteção da aplicação que especificou.

Com que frequência devo encapsular novamente a minha aplicação iOS com a Ferramenta de Encapsulamento de Aplicações do Intune?

Os principais cenários nos quais teria de encapsular novamente as suas aplicações são os seguintes:

  • A própria aplicação lançou uma nova versão. A versão anterior da aplicação foi encapsulada e carregada para a consola do Intune.
  • A Ferramenta de Encapsulamento de Aplicações do Intune para iOS lançou uma nova versão com correções de erros importantes ou funcionalidades específicas e novas da política de proteção de aplicações do Intune. Isto ocorre passadas seis a oito semanas através do repositório do GitHub para a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para iOS.

Para o iOS/iPadOS, embora seja possível embrulhar com um perfil de cert/provisioning diferente do original utilizado para assinar a app, se os direitos especificados na aplicação não estiverem incluídos no novo perfil de provisionamento, o embrulho falhará. A utilização da opção "-e" da linha de comando, que remove quaisquer direitos em falta da app, para forçar o embrulho a não falhar neste cenário pode causar uma funcionalidade quebrada na app.

As melhores práticas para encapsular novamente incluem:

  • Garantir que um perfil de aprovisionamento diferente tem todas as elegibilidades necessárias como qualquer perfil de aprovisionamento anterior.

Mensagens de erro e ficheiros de registo

Utilize as seguintes informações para resolver problemas com a ferramenta de encapsulamento de aplicações.

Mensagens de erro

Se a ferramenta de encapsulamento de aplicações não conseguir concluir com êxito, será apresentada na consola uma das seguintes mensagens de erro:

Mensagem de erro Mais informações
Tem de especificar um perfil de aprovisionamento do iOS válido. O seu perfil de aprovisionamento poderá não ser válido. Certifique-se de que tem as permissões corretas para os dispositivos e de que o seu perfil está corretamente direcionado para a programação ou para a distribuição. Também é provável que o seu perfil de aprovisionamento tenha expirado.
Especifique um nome de aplicação de entrada válido. Certifique-se de que o nome da aplicação de entrada que especificou está correto.
Especifique um caminho válido para a aplicação de saída. Certifique-se de que o caminho da aplicação de saída que especificou existe e está correto.
Especifique um perfil de aprovisionamento de entrada válido. Certifique-se de que forneceu um nome e extensão do perfil de aprovisionamento válidos. É provável que faltem elegibilidades no seu perfil de aprovisionamento ou que não tenha incluído a opção de linha de comandos –p.
Não foi possível localizar a aplicação de entrada que especificou. Especifique um caminho e nome de aplicação de entrada válidos. Certifique-se de que o caminho da aplicação de entrada é válido e existe. Certifique-se de que a aplicação de entrada existe nessa localização.
Não foi possível localizar o ficheiro do perfil de aprovisionamento de entrada que especificou. Especifique um ficheiro do perfil de aprovisionamento de entrada válido. Certifique-se de que o caminho para o ficheiro de aprovisionamento de entrada é válido e que o ficheiro que especificou existe.
Não foi possível localizar a pasta da aplicação de saída que especificou. Especifique um caminho válido para a aplicação de saída. Certifique-se de que o caminho de saída que especificou é válido e existe.
A aplicação de saída não tem a extensão .ipa. A Ferramenta de Encapsulamento de Aplicações só aceita aplicações com as extensões .app e .ipa. Certifique-se de que o seu ficheiro de saída tem uma extensão válida.
Especificou um certificado de assinatura inválido. Especifique um certificado de assinatura da Apple válido. Certifique-se de que descarregou o certificado de assinatura correto do portal de desenvolvimento da Apple. O seu certificado poderá ter expirado ou uma chave pública ou privada poderá estar em falta. Se o seu perfil de aprovisionamento e o certificado da Apple puderem ser utilizados para assinar corretamente uma aplicação no Xcode, significa que são válidos para a Ferramenta de Encapsulamento de Aplicações. Além disso, verifique se o certificado de assinatura tem um nome único dentro do porta-chaves da máquina macOS anfitrião. Se existirem várias versões do mesmo certificado dentro do chaveiro, este erro pode ser devolvido.
A aplicação de entrada que especificou é inválida. Especifique uma aplicação válida. Certifique-se de que tem uma aplicação iOS válida que tenha sido compilada como um ficheiro .app ou .ipa.
A aplicação de entrada que especificou está encriptada. Especifique uma aplicação não encriptada válida. A Ferramenta de Encapsulamento de Aplicações não suporta aplicações encriptadas. Forneça uma aplicação não encriptada.
A aplicação de entrada que especificou não está no formato PIE (Position Independent Executable). Especifique uma aplicação válida no formato PIE. As aplicações no formato Position Independent Executable (PIE) podem ser carregadas num endereço de memória aleatória ao ser executadas. Isto pode ter vantagens de segurança. Para obter mais informações sobre vantagens de segurança, consulte a sua documentação Apple Developer.
A aplicação de entrada que especificou já foi encapsulada. Especifique uma aplicação não encapsulada válida. Não pode processar uma aplicação que já tenha sido processada pela ferramenta. Se pretender processar novamente uma aplicação, execute a ferramenta com a versão original da aplicação.
A aplicação de entrada que especificou não está assinada. Especifique uma aplicação assinada válida. A ferramenta de encapsulamento de aplicações requer que as aplicações sejam assinadas. Consulte a sua documentação de programador para saber como assinar uma aplicação encapsulada.
A aplicação de entrada que especificou tem de estar no formato .ipa ou .app. A ferramenta de encapsulamento de aplicações só aceita as extensões .app e .ipa. Certifique-se de que o seu ficheiro de entrada tem uma extensão válida e de que foi compilado como ficheiro .app ou .ipa.
A aplicação de entrada que especificou já foi encapsulada e encontra-se na versão mais recente do modelo de política. A Ferramenta de Encapsulamento de Aplicações não volta a encapsular uma aplicação encapsulada existente com a versão mais recente do modelo de política.
AVISO: não especificou um hash de certificado SHA1. Certifique-se de que a sua aplicação encapsulada está assinada antes de a implementar. Certifique-se de que especifica um hash SHA1 válido que siga o sinalizador da linha de comandos –c.

Recolha de registos para as suas aplicações embrulhadas a partir do dispositivo

Utilize os seguintes passos para obter registos para as aplicações encapsuladas durante a resolução de problemas.

  1. Aceda à aplicação Definições do iOS no dispositivo e selecione a aplicação LOB.
  2. Selecione Microsoft Intune.
  3. Alternar a definição da consola de diagnóstico do ecrã para on.
  4. Inicie a aplicação LOB.
  5. Clique na ligação “Introdução”.
  6. Agora, pode partilhar os registos através do e-mail ou copiá-los para uma localização do OneDrive.

Nota

A funcionalidade de registo está ativada nas aplicações que tenham sido encapsuladas com a Ferramenta de Encapsulamento de Aplicações do Intune versão 7.1.13 ou superior.

Recolha de registos de acidentes do sistema

A sua aplicação pode estar a registar informações úteis para a consola do dispositivo cliente iOS. Estas informações são úteis quando está com problemas com a aplicação e precisa de determinar se o problema está relacionado com o App Wrapping Tool ou com a própria app. Para obter estas informações, utilize os passos seguintes:

  1. Reproduza o problema ao executar a aplicação.

  2. Recolha a saída da consola seguindo as instruções da Apple para depurar aplicações iOS implementadas.

As aplicações encapsuladas também apresentam aos utilizadores a opção para enviar registos diretamente a partir do dispositivo por e-mail depois de a aplicação falhar. Os utilizadores podem enviar-lhe os registos para que os examine e reencaminhe para a Microsoft se necessário.

Certificado, perfil de aprovisionamento e requisitos de autenticação

A Ferramenta de Encapsulamento de Aplicações para iOS tem alguns requisitos que têm de ser cumpridos para garantir uma funcionalidade completa.

Requisito Detalhes
Perfil de aprovisionamento do iOS Certifique-se de que o ficheiro de aprovisionamento é válido antes de o incluir. A Ferramenta de Encapsulamento de Aplicações não verifica se o perfil de aprovisionamento já expirou quando processa uma aplicação iOS. Se especificar um perfil de aprovisionamento já expirado, a ferramenta de moldagem de aplicações irá incluir o perfil de aprovisionamento expirado e não saberá que existe um problema até não ser possível instalar a aplicação num dispositivo iOS.
Certificado de assinatura de iOS Confirme que o certificado de assinatura é válido antes de o especificar. A ferramenta não verifica se um certificado já expirou quando processa aplicações iOS. Se indicar um hash de um certificado expirado, a ferramenta irá processar e assinar a aplicação, mas ocorrerá uma falha de instalação em dispositivos.

Confirme que o certificado disponibilizado para assinar a aplicação encapsulada tem uma correspondência no perfil de aprovisionamento. Se o perfil de aprovisionamento tiver uma correspondência para o certificado fornecido para assinatura da aplicação encapsulada, a ferramenta não será validada.
Autenticação Um dispositivo tem de ter um PIN para a encriptação funcionar. Nos dispositivos em que implementou a aplicação encapsulada, o utilizador terá de iniciar sessão novamente com uma conta escolar ou profissional ao tocar na barra de estado do dispositivo. A política predefinida numa aplicação encapsulada é autenticação após reinicialização. O iOS processa qualquer notificação externa (como um telefonema) ao sair da aplicação e, em seguida, voltar a iniciá-la.

Definição de elegibilidade da aplicação

Antes de embrulhar a sua aplicação, pode conceder direitos para dar à app permissões e capacidades adicionais que excedam o que uma aplicação normalmente pode fazer. É utilizado um ficheiro de elegibilidade durante a assinatura de código para especificar permissões especiais na sua aplicação (por exemplo, acesso a uma keychain partilhada). São ativados serviços aplicacionais específicos no Xcode, denominados capacidades, durante o desenvolvimento da aplicação. Depois de ativadas, as capacidades são refletidas no ficheiro de elegibilidade. Para mais informações sobre elegibilidade e capacidades, consulte Adicionar Capacidades na iOS Developer Library. Para obter uma lista completa das capacidades suportadas, consulte as capacidades apoiadas.

Capacidades suportadas para a Ferramenta de Encapsulamento de Aplicações para iOS

Funcionalidade Description Orientações recomendadas
Grupos de aplicações Utilize grupos de aplicações para permitir que várias aplicações acedam a contentores partilhados e permitir a comunicação adicional entre processos entre as aplicações.

Para ativar grupos de aplicações, abra o painel Capacidades e clique em ATIVAR em Grupos de Aplicações. Pode adicionar grupos de aplicações ou selecionar grupos já existentes.
Quando utilizar Grupos de Aplicações, utilize a notação de DNS reverso:

Grupo.com.nomeDaEmpresa.GrupoDeAplicações
Modos em segundo plano A ativação de modos em segundo plano permite à aplicação iOS continuar a ser executada em segundo plano.
Proteção de dados A proteção de dados adiciona um nível de segurança aos ficheiros armazenados no disco pela aplicação iOS. A proteção de dados utiliza o hardware de encriptação incorporado presente em dispositivos específicos para armazenar ficheiros num formato encriptado no disco. A aplicação tem de ser aprovisionada para utilizar a proteção de dados.
Compras via aplicação A compra via aplicação incorpora uma loja diretamente na sua aplicação, permitindo ligar à loja e processar pagamentos do utilizador em segurança. Pode utilizar a compra via aplicação para recolher o pagamento de funcionalidade melhorada ou de conteúdo adicional utilizável pela sua aplicação.
Partilha de keychain A ativação da partilha de keychain permite à aplicação partilhar palavras-passe na keychain com outras aplicações desenvolvidas pela sua equipa. Quando utilizar a partilha de keychain, utilize a notação de DNS reverso:

com.companyName.KeychainGroup
VPN Pessoal Ative a VPN pessoal para permitir à aplicação criar e controlar uma configuração de VPN do sistema personalizada utilizando a estrutura de Extensão de Rede.
Notificações push O serviço de notificação apple push (APNs) permite que uma aplicação que não esteja em execução em primeiro plano notifique o utilizador de que tem informações para o utilizador. Para que as notificações push funcionem, tem de utilizar um perfil de aprovisionamento específico da aplicação.

Siga os passos na documentação do desenvolvedor da Apple.
Configuração de acessórios sem fios A ativação da configuração de acessórios sem fios adiciona a estrutura Acessórios Externos ao seu projeto e permite à aplicação configurar acessórios Wi-Fi MFi.

Passos para ativar a elegibilidade

  1. Ativar capacidades na sua aplicação:

    a. No Xcode, vá ao alvo da sua aplicação e clique em Capabilities.

    b. Ative as capacidades adequadas. Para obter informações detalhadas sobre cada capacidade e como determinar os valores corretos, consulte Adicionar Capacidades na iOS Developer Library.

    c. Anote quaisquer IDs que criou durante o processo. Estes também podem ser chamados valores AppIdentifierPrefix.

    d. Crie e assine a aplicação a ser encapsulada.

  2. Ativar a elegibilidade no seu perfil de aprovisionamento:

    a. Inicie sessão no Apple Developer Member Center.

    b. Crie um perfil de aprovisionamento para a sua aplicação. Para obter instruções, consulte Como Obter os Pré-requisitos para o App Wrapping Tool Intune para iOS.

    c. No perfil de aprovisionamento, ative a mesma elegibilidade existente na sua aplicação. Terá de fornecer os mesmos IDs (os valores AppIdentifierPrefix) que especificou durante o desenvolvimento da aplicação.

    d. Termine o assistente do perfil de aprovisionamento e transfira o ficheiro.

  3. Certifique-se de que cumpriu todos os pré-requisitos e, em seguida, encapsule a aplicação.

Resolução de erros comuns com elegibilidade

Se a Ferramenta de Encapsulamento de Aplicações para iOS mostrar um erro de elegibilidade, tente os seguintes passos de resolução de problemas.

Problema Causa Resolução
Falha ao analisar a elegibilidade gerada a partir da aplicação de entrada. A Ferramenta de Encapsulamento de Aplicações não consegue ler o ficheiro de elegibilidade extraído da aplicação. O formato do ficheiro de elegibilidade poderá estar incorreto. Inspecione o ficheiro de elegibilidade para a sua aplicação. As instruções seguintes explicam como fazê-lo. Quando inspecionar o ficheiro de elegibilidade, verifique a existência de sintaxe formada incorretamente. O ficheiro deve estar no formato XML.
A elegibilidade está em falta no perfil de aprovisionamento (é listada a elegibilidade em falta). Empacote novamente a aplicação com um perfil de aprovisionamento com esta elegibilidade. Existe um erro de correspondência entre a elegibilidade ativada no perfil de aprovisionamento e as capacidades ativadas na aplicação. Este erro de correspondência também se aplica aos IDs associados a capacidades específicas (como grupos de aplicações e acesso de keychain). Geralmente, pode criar um novo perfil de aprovisionamento que permite as mesmas capacidades que a aplicação. Quando os IDs entre o perfil e a aplicação não corresponderem, a Ferramenta de Encapsulamento de Aplicações substituirá os IDs, se tal for possível. Se ainda obtiver este erro depois de criar um novo perfil de aprovisionamento, pode tentar remover a elegibilidade da aplicação utilizando o parâmetro –e (consulte a secção "Utilizar o parâmetro –e para remover a elegibilidade de uma aplicação").

Localizar a elegibilidade existente de uma aplicação assinada

Para rever a elegibilidade existente de uma aplicação assinada e o perfil de aprovisionamento:

  1. Localize o ficheiro .ipa e altere a extensão para .zip.

  2. Expanda o ficheiro .zip. Isto produzirá uma pasta Payload com o pacote .app.

  3. Utilize a ferramenta de assinatura de código para verificar a elegibilidade no pacote .app, sendo que YourApp.app é o nome real do seu pacote .app.

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Utilize a ferramenta de segurança para verificar a elegibilidade do perfil de aprovisionamento incorporado da aplicação, sendo que YourApp.app é o nome real do seu pacote .app.

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

Remover a elegibilidade de uma aplicação ao utilizar o parâmetro –e

Este comando remove quaisquer capacidades ativadas na aplicação que não estão no ficheiro de elegibilidade. Se remover capacidades que estão a ser utilizadas pela aplicação, pode causar uma falha na sua aplicação. Um exemplo de onde poderá remover capacidades em falta é se tiver uma aplicação produzida pelo fornecedor com todas as capacidades por predefinição.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> –p /<path to provisioning profile> –c <SHA1 hash of the certificate> -e

Segurança e privacidade da Ferramenta de Encapsulamento de Aplicações

Utilize as seguintes práticas recomendadas de segurança e privacidade quando utilizar a Ferramenta de Encapsulamento de Aplicações.

  • O certificado de assinatura, o perfil de aprovisionamento e a aplicação de linha de negócio que especificar têm de estar no mesmo computador macOS que utiliza para executar a ferramenta de encapsulamento de aplicações. Se os ficheiros estiverem num caminho UNC, certifique-se de que é possível aceder aos mesmos a partir do computador macOS. O caminho tem de estar protegido por IPsec ou assinatura SMB.

    A aplicação encapsulada importada para a consola do administrador deve estar no mesmo computador no qual a ferramenta é executada. Se o ficheiro estiver num caminho UNC, confira que é acessível no computador que está a executar a consola do administrador. O caminho tem de estar protegido por IPsec ou assinatura SMB.

  • O ambiente para o qual a Ferramenta de Encapsulamento de Aplicações é transferida a partir do repositório GitHub tem de ter segurança por assinatura IPsec ou SMB.

  • A aplicação que processar tem de ser proveniente de uma origem fidedigna para garantir a proteção contra ataques.

  • Certifique-se de que a pasta de saída que especifica na Ferramenta de Encapsulamento de Aplicações está protegida, principalmente se for uma pasta remota.

  • As aplicações iOS que incluem uma caixa de diálogo de carregamento de ficheiros podem permitir aos utilizadores contornar as restrições de cortar, copiar e colar aplicadas à aplicação. Por exemplo, um utilizador poderia utilizar a caixa de diálogo de carregamento de ficheiros para carregar uma captura de ecrã dos dados da aplicação.

  • Quando monitorizar a pasta de documentos no respetivo dispositivo a partir de uma aplicação encapsulada, poderá ver uma pasta com o nome .msftintuneapplauncher. Se alterar ou eliminar este ficheiro, poderá afetar o correto funcionamento das aplicações com restrições.

Ferramenta de Encapsulamento de Aplicações do Intune para iOS com Citrix MDX mVPN

Esta funcionalidade é uma integração com o invólucro da aplicação Citrix MDX para iOS/iPadOS. A integração é um simples sinalizador de linha de comandos -citrix opcional e adicional para as Ferramentas de Encapsulamento de Aplicações do Intune.

Requisitos

Para utilizar o sinalizador -citrix, terá de instalar o encapsulamento de aplicações Citrix MDX para iOS na mesma máquina macOS. As transferências encontram-se em Citrix XenMobile Downloads e estão limitadas a clientes do Citrix depois de iniciar sessão. Certifique-se de que está instalado na localização predefinida: /Applications/Citrix/MDXToolkit.

Nota

O suporte para a integração do Intune e Citrix está limitado a dispositivos com o iOS 10 e superior.

Utilizar o sinalizador -citrix

Execute o seu comando de encapsulamento de aplicações geral com o sinalizador -citrix anexado. Atualmente, o sinalizador -citrix não aceita argumentos.

Formato de utilização:

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioing profile paths>] [-citrix]

Comando de exemplo:

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c 12A3BC45D67EF8901A2B3CDEF4ABC5D6E7890FAB  -v true -citrix

Ver também