Partilhar via


Prepare aplicativos iOS para políticas de proteção de aplicativos com a Ferramenta de Encapsulamento de Aplicativos do Intune

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

A ferramenta é uma aplicação de linha de comandos macOS que cria um wrapper em torno de uma aplicação. Assim que uma aplicação for processada, pode alterar a funcionalidade da aplicação ao implementar políticas de proteção de aplicações na mesma.

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

Observação

Se tiver problemas com a utilização da Ferramenta de Encapsulamento de Aplicações do Intune com as suas aplicações, submeta um pedido de assistência no GitHub.

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

Antes de executar a Ferramenta de Encapsulamento de Aplicações, tem 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 com a versão 14.0 ou posterior do conjunto de ferramentas Xcode instalada.

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

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

    • A aplicação de entrada tem de ser compilada para o iOS 14.0 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 elegibilidade definida antes de ser processada pela Ferramenta de Encapsulamento de Aplicações do Intune. As elegibilidades dão à aplicação mais permissões e capacidades para além das que normalmente são concedidas. Veja Definir elegibilidades da aplicação para obter instruções.

  • Certifique-se de que existem certificados de assinatura válidos no porta-chaves do sistema. Se tiver problemas de assinatura de código da aplicação, utilize os seguintes passos para resolver:
    • Repor definições de confiança para todos os certificados relacionados
    • Instalar certificados intermédios no porta-chaves do sistema e no keychain de início de sessão
    • Desinstalar e reinstalar todos os certificados relacionados

Registar a sua aplicação com o Microsoft Entra ID

  1. Registe as suas aplicações com o Microsoft Entra ID. Para obter mais informações, veja Registar uma aplicação na plataforma de identidades da Microsoft.
  2. Adicione o URL de redirecionamento personalizado às definições da aplicação. Para obter mais informações, veja Configurar a MSAL.
  3. Conceder à sua aplicação acesso ao serviço MAM do Intune. Para obter mais informações, consulte Conceder acesso à sua aplicação ao serviço de Gestão de Aplicações Móveis do Intune.
  4. Assim que as alterações acima estiverem concluídas, execute a versão mais recente da ferramenta de Encapsulamento de Aplicações do Intune. Configurar as suas aplicações para a Biblioteca de Autenticação da Microsoft (MSAL): adicione o ID de cliente da aplicação Microsoft Entra aos parâmetros da linha de comandos com a Ferramenta de Encapsulamento de Aplicações do Intune. Para obter mais informações, veja Parâmetros da linha de comandos.

Observação

Os parâmetros -ac e -ar são parâmetros necessários. Cada aplicação precisará de um conjunto exclusivo destes parâmetros. -aa só é necessário para aplicações de inquilino único.

  1. Implemente a aplicação.

Pré-requisitos do Programador da Apple para a Ferramenta de Encapsulamento de Aplicações

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

Para saber mais sobre a distribuição interna de aplicações iOS aos utilizadores da sua organização, leia o guia oficial sobre a Distribuição de Aplicações de Programador Empresarial da Apple.

Precisará do seguinte para distribuir aplicações encapsuladas pelo Intune:

  • Uma conta de programador com o Programa Apple Developer Enterprise.

  • Certificado de assinatura de distribuição interna e ad hoc com o Identificador de Equipa válido.

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

Passos para criar uma conta Apple Developer Enterprise

  1. Aceda ao site do Programa Apple Developer Enterprise.

  2. No canto superior direito da página, clique em Inscrever.

  3. Leia a lista de verificação do que precisa de inscrever. Clique em Iniciar a 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 Continuar. Neste momento, a Apple contacta-o para verificar se está autorizado a inscrever a sua organização.

  7. Após a verificação, clique em Concordar com a Licença.

  8. Depois de concordar com a licença, conclua comprando e ativando o programa.

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

Passos para criar um certificado de assinatura da Apple

  1. Aceda ao Portal do Programador da Apple.

  2. No canto superior direito da página, clique em Conta.

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

  4. Clique em Certificados, IDs & Perfis.

    Portal do Programador da Apple – Certificados, IDs & Perfis

  5. Clique no portal do Programador da Apple e inicie sessão no canto superior direito para adicionar um certificado iOS.

  6. Opte por criar um certificado Interno e Ad Hoc emProdução.

    Selecionar In-House e certificado Ad Hoc

    Observação

    Se não planear distribuir a aplicação e apenas pretender testá-la internamente, pode utilizar um certificado de Desenvolvimento de Aplicações iOS em vez de um certificado para Produção. Se utilizar um certificado de desenvolvimento, certifique-se de que o perfil de aprovisionamento móvel referencia os dispositivos nos quais a aplicação será instalada.

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

  8. Leia as instruções sobre como criar um Pedido de Assinatura de Certificado (CSR) com a aplicação Keychain Access 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 Keychain Access .

  10. No menu macOS na parte superior do ecrã, aceda a Keychain Access > Certificate Assistant Request a Certificate From a Certificate Authority (Pedir > um Certificado a Uma Autoridade de Certificação).

    Pedir um certificado a 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.

    Introduza as informações do certificado que está a pedir

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

  13. A Apple gera o certificado de assinatura. Transfira e guarde-o numa localização memorável 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 certificado ao procurar o respetivo nome na barra de pesquisa no canto superior direito. Clique com o botão direito do rato no item para apresentar o menu e clique em Obter Informações. Nos ecrãs de exemplo, estamos a utilizar um certificado de desenvolvimento em vez de um certificado de produção.

    Adicionar o certificado a um porta-chaves

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

    Informações do iPhone - Cadeia SHA1 de impressões digitais

Passos para criar um perfil de Aprovisionamento de Distribuição do In-House

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

  2. Clique em Certificados, IDs & Perfis.

  3. Clique no portal do Programador da Apple e inicie sessão no canto superior direito para adicionar um perfil de aprovisionamento iOS.

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

    Selecionar Perfil de aprovisionamento no House

  5. Clique em Continuar. Certifique-se de que liga o certificado de assinatura gerado anteriormente ao perfil de aprovisionamento.

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

  7. Guarde o ficheiro numa localização memorável. Este ficheiro será utilizado para o parâmetro -p ao utilizar a Ferramenta de Encapsulamento de Aplicações.

Transferir a Ferramenta de Encapsulamento de Aplicações

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

  2. Faça duplo clique no Pacote de Restrições de Aplicações do Microsoft Intune para iOS.dmg. Será apresentada uma janela com o Contrato de Licença de Utilizador Final (EULA). Leia cuidadosamente o documento.

  3. Selecione Aceitar para aceitar o EULA, que monta o pacote no seu computador.

Executar a Ferramenta de Encapsulamento de Aplicações

Importante

O Intune lança regularmente atualizações para a Ferramenta de Encapsulamento de Aplicações do Intune. Verifique regularmente a Ferramenta de Encapsulamento de Aplicações do Intune para iOS para obter atualizações e incorpore o ciclo de lançamento de desenvolvimento de 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 do macOS e execute o seguinte comando:

/Volumes/IntuneMAMAppPackager/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>]

Observação

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

Exemplo: O comando de exemplo seguinte executa a Ferramenta de Encapsulamento de Aplicações na aplicação com o nome MyApp.ipa. Um perfil de aprovisionamento e um hash SHA-1 do certificado de assinatura são especificados e utilizados para assinar a aplicação encapsulada. A aplicação de saída (MyApp_Wrapped.ipa) é criada e armazenada na 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 da linha de comandos com a Ferramenta de Encapsulamento de Aplicações:

Exemplo: O comando de exemplo seguinte executa a Ferramenta de Encapsulamento de Aplicações, incorporando os comandos necessários ao encapsular uma aplicação para utilização num único inquilino.

./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" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v true
Propriedade Como usar
-eu <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 as propriedades da linha de comandos disponíveis para a Ferramenta de Encapsulamento de Aplicações.
-ac <Client ID of the input app if the app uses the Microsoft Authentication Library> Este é o GUID no campo ID de Cliente da listagem da sua aplicação no painel Registo de Aplicações.
-ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Este é o URI de Redirecionamento configurado no Registo de Aplicações. Normalmente, seria o protocolo URL da aplicação ao qual a aplicação Microsoft Authenticator regressaria após a autenticação mediada.
-aa (Necessário para aplicações de inquilino único) <Authority URI of the input app> ou seja, https://login.microsoftonline.com/<tenantID>/
-v (Opcional) Produz mensagens verbosas para a consola. Recomenda-se que utilize este sinalizador para depurar quaisquer erros.
-e (Opcional) Utilize este sinalizador para que a Ferramenta de Encapsulamento de Aplicações remova as elegibilidades em falta à medida que processa a aplicação. Veja Definir elegibilidades da aplicação para obter mais detalhes.
-xe (Opcional) Imprime informações sobre as extensões iOS na aplicação e quais as elegibilidades necessárias para as utilizar. Veja Definir elegibilidades da aplicação para obter mais detalhes.
-x (Opcional) <An array of paths to extension provisioning profiles>. Utilize esta opção se a sua aplicação precisar 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 do pacote que a aplicação de entrada (não recomendado).

Utilize -b <custom bundle version> se quiser que a aplicação encapsulada tenha um CFBundleVersion personalizado. Se optar por especificar um CFBundleVersion personalizado, recomendamos que incremente o CFBundleVersion da aplicação nativa pelo componente menos significativo, como 1.0.0 -> 1.0.1.
-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 as restantes propriedades do IntuneMAMPackager, como -i, -o e -p. Veja Utilizar um plist para introduzir argumentos.
-dt (Opcional) Desative a recolha da telemetria do cliente do Microsoft Intune.
-dl (Opcional) Desative os registos MSAL dos registos INtune para aplicações que tenham sido integradas no MSAL e implemente a sua própria chamada de retorno de registo MSAL.

Utilizar um plist para introduzir argumentos

Uma forma fácil 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 ao XML que pode utilizar para introduzir os argumentos da linha de comandos através de uma interface de formulário.

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

Chave Plist Tipo Valor padrão Notas
Caminho do Pacote de Aplicação de Entrada Cadeia de caracteres vazio O mesmo que -i
Caminho do Pacote de Aplicação de Saída Cadeia de caracteres vazio O mesmo que -o
Caminho do Perfil de Aprovisionamento Cadeia de caracteres vazio O mesmo que -p
Hash de Certificado SHA-1 Cadeia de caracteres vazio O mesmo que -c
Autoridade MSAL Cadeia de caracteres vazio O mesmo que -aa
ID de Cliente MSAL Cadeia de caracteres vazio O mesmo que -ac
URI de Resposta MSAL Cadeia de caracteres vazio O mesmo que -ar
Verboso Ativado Booliano falso O mesmo que -v
Remover Elegibilidades em Falta Booliano falso O mesmo que -e
Impedir Atualização de Criação Predefinida Booliano falso Equivalente a utilizar -b sem argumentos
Substituição da Cadeia de Criação Cadeia de caracteres vazio O CFBundleVersion personalizado da aplicação de saída encapsulada
Caminhos do Perfil de Aprovisionamento de Extensões Matriz de cadeias de caracteres vazio Uma matriz de perfis de aprovisionamento de extensões para a aplicação.
Desativar Telemetria Booliano falso O mesmo que -dt
Desativar a Substituição do Registo MSAL Booliano falso O mesmo que -dl

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

./IntuneMAMPackager –f Parameters.plist

Pós-moldagem

Após a conclusão do processo de encapsulamento, será apresentada a mensagem "A aplicação foi encapsulada com êxito". Se ocorrer um erro, consulte Mensagens de erro para obter ajuda.

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

Importante

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

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

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

Os principais cenários nos quais teria de voltar a escrever 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 o centro de administração do Intune.
  • A Ferramenta de Encapsulamento de Aplicações do Intune para iOS lançou uma nova versão que permite correções de erros importantes ou novas funcionalidades específicas da política de proteção de aplicações do Intune. Isto acontece após 6 a 8 semanas através do repositório do GitHub para a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para iOS.

Para iOS/iPadOS, embora seja possível encapsular com um perfil de certificado/aprovisionamento diferente do original utilizado para assinar a aplicação, se as elegibilidades especificadas na aplicação não estiverem incluídas no novo perfil de aprovisionamento, o encapsulamento falhará. A utilização da opção de linha de comandos "-e", que remove quaisquer elegibilidades em falta da aplicação, para forçar a falha do encapsulamento neste cenário pode causar falhas na funcionalidade na aplicação.

Algumas das melhores práticas para a reescrição 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 que tem 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 uma das seguintes mensagens de erro na consola do :

Mensagem de erro Mais informações
Tem de especificar um perfil de aprovisionamento iOS válido. O perfil de aprovisionamento pode 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 o desenvolvimento ou distribuição. O perfil de aprovisionamento também pode ter 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 para a aplicação de saída que especificou existe e está correto.
Especifique um perfil de aprovisionamento de entrada válido. Confirme que forneceu uma extensão e um nome de perfil de aprovisionamento válidos. O perfil de aprovisionamento pode ter direitos em falta ou pode não ter incluído a opção da linha de comandos –p.
A aplicação de entrada que especificou não foi encontrada. Especifique um nome e caminho 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.
O ficheiro de perfil de aprovisionamento de entrada que especificou não foi encontrado. Especifique um ficheiro de perfil de aprovisionamento de entrada válido. Confirme que o caminho para o ficheiro de aprovisionamento de entrada é válido e que o ficheiro especificado existe.
A pasta da aplicação de saída que especificou não foi encontrada. Especifique um caminho válido para a aplicação de saída. Certifique-se de que o caminho de saída especificado é válido e existe.
A aplicação de saída não tem a extensão .ipa . Apenas as aplicações com as extensões .app e .ipa são aceites pela Ferramenta de Encapsulamento de Aplicações. Certifique-se de que o ficheiro de saída tem uma extensão válida.
Foi especificado um certificado de assinatura inválido. Especifique um certificado de assinatura apple válido. Certifique-se de que transferiu o certificado de assinatura correto a partir do portal do programador da Apple. O certificado pode ter expirado ou estar a perder uma chave pública ou privada. Se o certificado da Apple e o perfil de aprovisionamento puderem ser utilizados para assinar corretamente uma aplicação no Xcode, serão válidos para a Ferramenta de Encapsulamento de Aplicações. Além disso, verifique se o certificado de assinatura tem um nome exclusivo no porta-chaves do computador anfitrião macOS. Se existirem múltiplas versões do mesmo certificado no porta-chaves, este erro poderá 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á num formato PIE (Position Independent Executable). Especifique uma aplicação válida no formato PIE. As aplicações PIE (Position Independent Executable) podem ser carregadas num endereço de memória aleatório quando são executadas. Isto pode ter benefícios de segurança. Para obter mais informações sobre os benefícios de segurança, consulte a documentação do Apple Developer.
A aplicação de entrada que especificou já foi encapsulada. Especifique uma aplicação não substituída válida. Não pode processar uma aplicação que já tenha sido processada pela ferramenta. Se quiser processar uma aplicação novamente, 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 documentação do programador para saber como assinar uma aplicação encapsulada.
A aplicação de entrada que especificou tem de estar no formato .ipa ou .app. Apenas as extensões .app e .ipa são aceites pela ferramenta de encapsulamento de aplicações. Certifique-se de que o ficheiro de entrada tem uma extensão válida e foi compilado como um 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 irá reescrever 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 aplicação encapsulada está assinada antes de implementar. Certifique-se de que especifica um hash SHA1 válido a seguir ao sinalizador da linha de comandos –c.

Recolher registos para as suas aplicações encapsuladas 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 seu dispositivo e selecione a sua aplicação LOB.
  2. Selecione Microsoft Intune.
  3. Alterne a definição Consola de Diagnóstico de Visualização para Ativado.
  4. Inicie a sua aplicação LOB.
  5. Clique na ligação "Introdução".
  6. Agora pode enviar registos diretamente para a Microsoft ou partilhá-los através de outra aplicação no dispositivo.

Observação

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

Recolher registos de falhas do sistema

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

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

  2. Recolha a saída da consola ao seguir as instruções da Apple para Depurar Aplicações iOS Implementadas.

As aplicações encapsuladas também apresentarão aos utilizadores a opção de enviar registos diretamente a partir do dispositivo por e-mail após a falha da aplicação. Os utilizadores podem enviar-lhe os registos para examinar e reencaminhar 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 a funcionalidade completa.

Requisito Detalhes
Perfil de aprovisionamento do iOS Certifique-se de que o perfil de aprovisionamento é válido antes de o incluir. A Ferramenta de Encapsulamento de Aplicações não verifica se o perfil de aprovisionamento expirou ao processar uma aplicação iOS. Se for especificado um perfil de aprovisionamento expirado, a ferramenta de encapsulamento de aplicações incluirá o perfil de aprovisionamento expirado e não saberá que existe um problema até que a aplicação não seja instalada num dispositivo iOS.
Certificado de assinatura do iOS Certifique-se de que o certificado de assinatura é válido antes de o especificar. A ferramenta não verifica se um certificado expirou ao processar aplicações iOS. Se o hash de um certificado expirado for fornecido, a ferramenta processará e assinará a aplicação, mas não será possível instalar nos dispositivos.

Confirme que o certificado fornecido para assinar a aplicação encapsulada tem uma correspondência no perfil de aprovisionamento. A ferramenta não valida se o perfil de aprovisionamento tem uma correspondência para o certificado fornecido para assinar a aplicação encapsulada.
Autenticação Um dispositivo tem de ter um PIN para que a encriptação funcione. Nos dispositivos nos quais implementou uma aplicação encapsulada, tocar na barra de estado do dispositivo exigirá que o utilizador inicie sessão novamente com uma conta escolar ou profissional. A política predefinida numa aplicação encapsulada é a autenticação no relançamento. O iOS processa qualquer notificação externa (como uma chamada telefónica) ao sair da aplicação e, em seguida, ao reiniciá-la.

Definir elegibilidades da aplicação

Antes de encapsular a sua aplicação, pode conceder direitos para conceder à aplicação permissões e capacidades adicionais que excedem 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 um keychain partilhado). Os serviços de aplicações específicos denominados capacidades são ativados no Xcode durante o desenvolvimento de aplicações. Depois de ativadas, as capacidades refletem-se no seu ficheiro de elegibilidade. Para obter mais informações sobre elegibilidades e capacidades, veja Adding Capabilities in the iOS Developer Library (Adicionar Capacidades na Biblioteca de Programadores do iOS). Para obter uma lista completa das capacidades suportadas, veja Capacidades suportadas.

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

Funcionalidade Descrição Documentação de orientação recomendada
Grupos de aplicações Utilize grupos de aplicações para permitir que várias aplicações acedam a contentores partilhados e permita comunicação entre interprocessos adicionais entre aplicações.

Para ativar grupos de aplicações, abra o painel Capacidades e clique em ATIVADO nos Grupos de Aplicações. Pode adicionar grupos de aplicações ou selecionar grupos existentes.
Ao utilizar Grupos de Aplicações, utilize a notação DNS inversa:

group.com.companyName.AppGroup
Modos de fundo Ativar modos em segundo plano permite que a aplicação iOS continue em execução 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 sua 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 sua aplicação tem de ser aprovisionada para utilizar a proteção de dados.
Compra via aplicação A compra via aplicação incorpora uma loja diretamente na sua aplicação, permitindo-lhe ligar-se à loja e processar de forma segura os pagamentos do utilizador. Pode utilizar a compra na aplicação para recolher o pagamento de funcionalidades melhoradas ou conteúdos adicionais utilizáveis pela sua aplicação.
Partilha de porta-chaves Ativar a partilha de keychain permite que a sua aplicação partilhe palavras-passe no keychain com outras aplicações desenvolvidas pela sua equipa. Ao utilizar a partilha de keychain, utilize a notação DNS inversa:

com.companyName.KeychainGroup
VPN Pessoal Ative a VPN pessoal para permitir que a sua aplicação crie e controle uma configuração de VPN de sistema personalizada com a arquitetura de Extensão de Rede.
Notificações por push O serviço Apple Push Notification (APNs) permite que uma aplicação que não está 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 programador da Apple.
Configuração de acessórios sem fios Ativar a configuração de acessórios sem fios adiciona a arquitetura Acessório Externo ao seu projeto e permite que a sua aplicação configure acessórios de Wi-Fi MFi.

Passos para ativar a elegibilidade

  1. Ativar capacidades na sua aplicação:

    a. No Xcode, aceda ao destino da sua aplicação e clique em Capacidades.

    b. Ative as capacidades adequadas. Para obter informações detalhadas sobre cada capacidade e como determinar os valores corretos, veja Adding Capabilities in the iOS Developer Library (Adicionar Capacidades na Biblioteca de Programadores do iOS).

    c. Anote os IDs que criou durante o processo. Estes também podem ser referidos como os AppIdentifierPrefix valores.

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

  2. Ative a elegibilidade no seu perfil de aprovisionamento:

    a. Inicie sessão no Centro de Membros do Programador da Apple.

    b. Crie um perfil de aprovisionamento para a sua aplicação. Para obter instruções, veja How to Obtain the Prerequisites for the Intune App Wrapping Tool for iOS (Como Obter os Pré-requisitos da Ferramenta de Encapsulamento de Aplicações do Intune para iOS).

    c. No seu perfil de aprovisionamento, ative as mesmas elegibilidades que tem na sua aplicação. Terá de fornecer os mesmos IDs (os AppIdentifierPrefix valores) que especificou durante o desenvolvimento da sua aplicação.

    d. Conclua o assistente de perfil de aprovisionamento e transfira o ficheiro.

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

Resolver erros comuns com elegibilidades

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

Problema Motivo Solução
Falha ao analisar as elegibilidades geradas a partir da aplicação de entrada. A Ferramenta de Encapsulamento de Aplicações não consegue ler o ficheiro de elegibilidade que foi extraído da aplicação. O ficheiro de elegibilidade pode ter um formato incorreto. Inspecione o ficheiro de elegibilidade da sua aplicação. As instruções seguintes explicam como fazê-lo. Ao inspecionar o ficheiro de elegibilidade, verifique se existe sintaxe incorreta. O ficheiro deve estar no formato XML.
As elegibilidades estão em falta no perfil de aprovisionamento (estão listadas as elegibilidades em falta). Reembale a aplicação com um perfil de aprovisionamento que tenha estas elegibilidades. Existe um erro de correspondência entre as elegibilidades ativadas 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 permita as mesmas capacidades que a aplicação. Quando os IDs entre o perfil e a aplicação não correspondem, a Ferramenta de Encapsulamento de Aplicações substituirá os IDs se for possível. Se continuar a receber este erro depois de criar um novo perfil de aprovisionamento, pode tentar remover a elegibilidade da aplicação com o parâmetro –e (consulte Utilizar o parâmetro –e para remover a elegibilidade de uma aplicação).

Localizar as elegibilidades existentes de uma aplicação assinada

Para rever as elegibilidades existentes de uma aplicação assinada e do 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 que contém o seu pacote de .app.

  3. Utilize a ferramenta codesign para verificar as elegibilidades no pacote de .app, em que YourApp.app é o nome real do pacote de .app.:

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

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

Remover direitos de uma aplicação com o parâmetro –e

Este comando remove todas as capacidades ativadas na aplicação que não estão no ficheiro de elegibilidade. Se remover as capacidades que estão a ser utilizadas pela aplicação, esta poderá interromper a sua aplicação. Um exemplo de onde pode remover capacidades em falta encontra-se numa aplicação produzida pelo fornecedor que tem 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 melhores práticas 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 estes estão acessíveis a partir do computador macOS. O caminho tem de ser protegido através da assinatura IPsec ou SMB.

    A aplicação encapsulada importada para o centro de administração deve estar no mesmo computador no qual executa a ferramenta. Se o ficheiro estiver num caminho UNC, certifique-se de que está acessível no computador que executa o centro de administração. O caminho tem de ser protegido através da assinatura IPsec ou SMB.

  • O ambiente onde a Ferramenta de Encapsulamento de Aplicações é transferida a partir do repositório do GitHub tem de ser protegido através da 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 especificar na Ferramenta de Encapsulamento de Aplicações está protegida, especialmente se for uma pasta remota.

  • As aplicações iOS que incluem uma caixa de diálogo de carregamento de ficheiros podem permitir que os utilizadores contornem, cortem, copiem e colem restrições aplicadas à aplicação. Por exemplo, um utilizador pode utilizar a caixa de diálogo de carregamento de ficheiros para carregar uma captura de ecrã dos dados da aplicação.

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

  • Registar esquemas de URL personalizados permite que URLs específicos redirecionem para a sua aplicação. O iOS e o iPadOS permitem que várias aplicações registem o mesmo esquema de URL personalizado e o SO determina que aplicação é invocada. Veja a documentação da Apple Defining a custom URL scheme for your app (Definir um esquema de URL personalizado para a sua aplicação ) para obter recomendações para ajudar a evitar colisões personalizadas do esquema de URL e diretrizes de segurança para processar URLs com formato incorreto.

Confira também