Preparar las aplicaciones de iOS para las directivas de protección de aplicaciones con la herramienta de ajuste de aplicaciones de Intune

Use el Microsoft Intune App Wrapping Tool para iOS para habilitar las directivas de protección de aplicaciones de Intune para aplicaciones iOS internas sin cambiar el código de la propia aplicación.

La herramienta es una aplicación de línea de comandos de macOS que crea un contenedor alrededor de una aplicación. Una vez que se procesa una aplicación, puede cambiar la funcionalidad de la aplicación mediante la implementación de directivas de protección de aplicaciones en ella.

Para descargar la herramienta, consulte Microsoft Intune App Wrapping Tool para iOS en GitHub.

Nota:

Si tiene problemas con el uso del App Wrapping Tool de Intune con las aplicaciones, envíe una solicitud de ayuda en GitHub.

Requisitos previos generales para el App Wrapping Tool

Antes de ejecutar el App Wrapping Tool, debe cumplir algunos requisitos previos generales:

  • Descargue el Microsoft Intune App Wrapping Tool para iOS desde GitHub.

  • Un equipo macOS que tenga instalado el conjunto de herramientas Xcode versión 14.0 o posterior.

  • La aplicación de iOS de entrada debe estar desarrollada y firmada por su empresa o por un proveedor de software independiente (ISV).

    • El archivo de aplicación de entrada debe tener la extensión .ipa o .app.

    • La aplicación de entrada debe compilarse para iOS 14.0 o posterior.

    • La aplicación de entrada no se puede cifrar.

    • La aplicación de entrada no puede tener atributos de archivo extendidos.

    • La aplicación de entrada debe tener derechos establecidos antes de que el App Wrapping Tool de Intune los procese. Los derechos proporcionan a la aplicación más permisos y funcionalidades que los que se suelen conceder. Consulte Configuración de derechos de aplicación para obtener instrucciones.

  • Asegúrese de que existen certificados de firma válidos en la cadena de claves del sistema. Si tiene problemas de firma de código de aplicación, siga estos pasos para resolverlo:
    • Restablecer la configuración de confianza para todos los certificados relacionados
    • Instalación de certificados intermedios en la cadena de claves del sistema y la cadena de claves de inicio de sesión
    • Desinstalación y reinstalación de todos los certificados relacionados

Registro de la aplicación con Microsoft Entra id.

  1. Registre las aplicaciones con Microsoft Entra id. Para obtener más información, consulte Registro de una aplicación con el Plataforma de identidad de Microsoft.
  2. Agregue la dirección URL de redireccionamiento personalizada a la configuración de la aplicación. Para obtener más información, consulte Configuración de MSAL.
  3. Conceda a la aplicación acceso al servicio MAM de Intune. Para obtener más información, consulte Dar acceso a la aplicación al servicio Intune Mobile App Management.
  4. Una vez completados los cambios anteriores, ejecute la versión más reciente de la herramienta de ajuste de aplicaciones de Intune. Configurar las aplicaciones para la biblioteca de autenticación de Microsoft (MSAL): agregue el identificador de cliente de la aplicación Microsoft Entra a los parámetros de la línea de comandos con el App Wrapping Tool de Intune. Para obtener más información, vea Parámetros de la línea de comandos.

Nota:

Los parámetros -ac y -ar son parámetros necesarios. Cada aplicación necesitará un conjunto único de estos parámetros. -aa solo es necesario para aplicaciones de inquilino único.

  1. Implemente la aplicación.

Requisitos previos para desarrolladores de Apple para el App Wrapping Tool

Para distribuir aplicaciones ajustadas exclusivamente a los usuarios de la organización, necesita una cuenta con el Programa Apple Developer Enterprise y varias entidades para la firma de aplicaciones vinculadas a su cuenta de desarrollador de Apple.

Para obtener más información sobre la distribución interna de aplicaciones de iOS a los usuarios de la organización, lea la guía oficial de Distribución de aplicaciones del programa Apple Developer Enterprise.

Necesitará lo siguiente para distribuir aplicaciones encapsuladas por Intune:

  • Una cuenta de desarrollador con el Programa Apple Developer Enterprise.

  • Certificado de firma de distribución interno y ad hoc con identificador de equipo válido.

    • Necesitará el hash SHA1 del certificado de firma como parámetro para el App Wrapping Tool de Intune.
  • Perfil de aprovisionamiento de distribución interno.

Pasos para crear una cuenta de Apple Developer Enterprise

  1. Vaya al sitio del programa Apple Developer Enterprise.

  2. En la parte superior derecha de la página, haga clic en Inscribir.

  3. Lea la lista de comprobación de lo que necesita inscribir. Haga clic en Iniciar la inscripción en la parte inferior de la página.

  4. Inicie sesión con el id. de Apple de su organización. Si no tiene uno, haga clic en Crear id. de Apple.

  5. Seleccione el tipo de entidad y haga clic en Continuar.

  6. Rellene el formulario con la información de su organización. Haga clic en Continuar. En este momento, Apple se pone en contacto con usted para comprobar que está autorizado para inscribir su organización.

  7. Después de la comprobación, haga clic en Aceptar licencia.

  8. Después de aceptar la licencia, termine comprando y activando el programa.

  9. Si es el agente del equipo (la persona que se une al Programa Apple Developer Enterprise en nombre de su organización), cree el equipo primero invitando a los miembros del equipo y asignando roles. Para obtener información sobre cómo administrar el equipo, lea la documentación de Apple sobre administración del equipo de la cuenta de desarrollador.

Pasos para crear un certificado de firma de Apple

  1. Vaya al portal para desarrolladores de Apple.

  2. En la parte superior derecha de la página, haga clic en Cuenta.

  3. Inicie sesión con el identificador de Apple de la organización.

  4. Haga clic en Certificados, identificadores & perfiles.

    Portal para desarrolladores de Apple: certificados, identificadores & perfiles

  5. Haga clic en el portal para desarrolladores de Apple más inicie sesión en la esquina superior derecha para agregar un certificado iOS.

  6. Elija crear un certificado interno y ad hoc en Producción.

    Seleccionar In-House y certificado ad hoc

    Nota:

    Si no tiene previsto distribuir la aplicación y solo quiere probarla internamente, puede usar un certificado de desarrollo de aplicaciones de iOS en lugar de un certificado para producción. Si usa un certificado de desarrollo, asegúrese de que el perfil de aprovisionamiento móvil haga referencia a los dispositivos en los que se instalará la aplicación.

  7. Haga clic en Siguiente en la parte inferior de la página.

  8. Lea las instrucciones sobre cómo crear una solicitud de firma de certificado (CSR) mediante la aplicación Acceso a llaves en el equipo macOS.

    Leer instrucciones para crear una CSR

  9. Siga las instrucciones anteriores para crear una solicitud de firma de certificado. En el equipo macOS, inicie la aplicación Acceso a llaveros .

  10. En el menú macOS de la parte superior de la pantalla, vaya a Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority (Solicitar un certificado desde una entidad de certificación).

    Solicitud de un certificado de una entidad de certificación en acceso de cadena de claves

  11. Siga las instrucciones del sitio para desarrolladores de Apple anteriores sobre cómo crear un archivo CSR. Guarde el archivo CSR en el equipo macOS.

    Escriba la información del certificado que está solicitando.

  12. Vuelva al sitio para desarrolladores de Apple. Haga clic en Continuar. A continuación, cargue el archivo CSR.

  13. Apple genera el certificado de firma. Descárguelo y guárdelo en una ubicación memorable en el equipo macOS.

    Descarga del certificado de firma

  14. Haga doble clic en el archivo de certificado que acaba de descargar para agregar el certificado a una cadena de claves.

  15. Vuelva a abrir Acceso de cadena de claves. Busque el certificado buscando su nombre en la barra de búsqueda superior derecha. Haga clic con el botón derecho en el elemento para abrir el menú y haga clic en Obtener información. En las pantallas de ejemplo, se usa un certificado de desarrollo en lugar de un certificado de producción.

    Agregar el certificado a una cadena de claves

  16. Aparece una ventana informativa. Desplácese hasta la parte inferior y busque bajo la etiqueta Huellas digitales . Copie la cadena SHA1 (borrosa) para usarla como argumento de "-c" para el App Wrapping Tool.

    Información de iPhone: cadena SHA1 de huellas digitales

Pasos para crear un perfil de aprovisionamiento de distribución de In-House

  1. Volver al portal de la cuenta de desarrollador de Apple e inicie sesión con el id. de Apple de la organización.

  2. Haga clic en Certificados, identificadores & perfiles.

  3. Haga clic en el portal para desarrolladores de Apple más inicie sesión en la esquina superior derecha para agregar un perfil de aprovisionamiento de iOS.

  4. Elija crear un perfil de aprovisionamiento interno en Distribución.

    Seleccionar perfil de aprovisionamiento interno

  5. Haga clic en Continuar. Asegúrese de vincular el certificado de firma generado anteriormente al perfil de aprovisionamiento.

  6. Siga los pasos para descargar el perfil (con la extensión .mobileprovision) en el equipo macOS.

  7. Guarde el archivo en una ubicación memorable. Este archivo se usará para el parámetro -p mientras se usa el App Wrapping Tool.

Descargue el App Wrapping Tool

  1. Descargue los archivos de la App Wrapping Tool de GitHub en un equipo macOS.

  2. Haga doble clic en Microsoft Intune Paqueter de restricciones de aplicación para iOS.dmg. Aparecerá una ventana con el Contrato de licencia de usuario final (CLUF). Lea detenidamente el documento.

  3. Elija Aceptar aceptar el CLUF, que monta el paquete en el equipo.

Ejecute el App Wrapping Tool

Importante

Intune publica periódicamente las actualizaciones de la App Wrapping Tool de Intune. Compruebe periódicamente el App Wrapping Tool de Intune para iOS para obtener actualizaciones e incorpore en el ciclo de lanzamiento de desarrollo de software para asegurarse de que las aplicaciones admiten la configuración más reciente de la directiva de protección de aplicaciones.

Uso del terminal

Abra el terminal de macOS y ejecute el siguiente 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>]

Nota:

Algunos parámetros son opcionales, como se muestra en la tabla siguiente.

Ejemplo: El siguiente comando de ejemplo ejecuta el App Wrapping Tool en la aplicación denominada MyApp.ipa. Se especifican un perfil de aprovisionamiento y un hash SHA-1 del certificado de firma y se usan para firmar la aplicación encapsulada. La aplicación de salida (MyApp_Wrapped.ipa) se crea y almacena en la carpeta Escritorio.

./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 de línea de comandos

Puede usar los siguientes parámetros de línea de comandos con el App Wrapping Tool:

Ejemplo: El siguiente comando de ejemplo ejecuta el App Wrapping Tool, incorporando los comandos necesarios al encapsular una aplicación para su uso dentro de un ú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
Propiedad Cómo utilizarlo
-i <Path of the input native iOS application file>. El nombre de archivo debe terminar en .app o .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 Muestra información de uso detallada sobre las propiedades de la línea de comandos disponibles para el App Wrapping Tool.
-Ca <Client ID of the input app if the app uses the Microsoft Authentication Library> Este es el GUID del campo Id. de cliente de la lista de la aplicación en la hoja Registro de aplicaciones.
-Ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Este es el URI de redirección configurado en el registro de la aplicación. Normalmente, sería el protocolo de dirección URL de la aplicación al que devolvería la aplicación Microsoft Authenticator después de la autenticación intermediada.
-aa (Obligatorio para aplicaciones de inquilino único) <Authority URI of the input app> I.e https://login.microsoftonline.com/<tenantID>/
-V (Opcional) Genera mensajes detallados en la consola. Se recomienda usar esta marca para depurar los errores.
-e (Opcional) Use esta marca para que el App Wrapping Tool quite los derechos que faltan a medida que procesa la aplicación. Consulte Configuración de derechos de aplicación para obtener más información.
-Xe (Opcional) Imprime información sobre las extensiones de iOS en la aplicación y qué derechos se necesitan para usarlas. Consulte Configuración de derechos de aplicación para obtener más información.
-X (Opcional) <An array of paths to extension provisioning profiles>. Úsalo si la aplicación necesita perfiles de aprovisionamiento de extensiones.
-B (Opcional) Use -b sin un argumento si desea que la aplicación de salida ajustada tenga la misma versión de agrupación que la aplicación de entrada (no recomendada).

Use -b <custom bundle version> si desea que la aplicación encapsulada tenga una CFBundleVersion personalizada. Si decide especificar una CFBundleVersion personalizada, es una buena idea incrementar CFBundleVersion de la aplicación nativa por el componente menos significativo, como 1.0.0 -> 1.0.1.
-F (Opcional) <Path to a plist file specifying arguments.> Use esta marca delante del archivo plist si decide usar la plantilla plist para especificar el resto de las propiedades intuneMAMPackager, como -i, -o y -p. Consulte Uso de una lista plist para introducir argumentos.
-Despegue (Opcional) Deshabilite la recopilación de Microsoft Intune telemetría de cliente.
-Dl (Opcional) Deshabilite los registros de MSAL de los registros de INtune para las aplicaciones que se han integrado con MSAL e implementen su propia devolución de llamada de registro de MSAL.

Uso de una lista plist para introducir argumentos

Una manera fácil de ejecutar el App Wrapping Tool es colocar todos los argumentos de comando en un archivo plist. Plist es un formato de archivo similar a XML que puede usar para escribir los argumentos de la línea de comandos mediante una interfaz de formulario.

En la carpeta IntuneMAMPackager/Contents/MacOS, abra Parameters.plist (una plantilla plist en blanco) con un editor de texto o Xcode. Escriba los argumentos para las claves siguientes:

Clave Plist Tipo Valor predeterminado Notas
Ruta de acceso del paquete de aplicación de entrada Cadena vacío Igual que -i
Ruta de acceso del paquete de aplicación de salida Cadena vacío Igual que -o
Ruta de acceso del perfil de aprovisionamiento Cadena vacío Igual que -p
Hash de certificado SHA-1 Cadena vacío Igual que -c
Autoridad de MSAL Cadena vacío Igual que -aa
Id. de cliente de MSAL Cadena vacío Igual que -ac
URI de respuesta de MSAL Cadena vacío Igual que -ar
Detallado habilitado Booleano false Igual que -v
Quitar derechos que faltan Booleano false Igual que -e
Impedir la actualización de compilación predeterminada Booleano false Equivalente al uso de -b sin argumentos
Invalidación de cadena de compilación Cadena vacío CFBundleVersion personalizado de la aplicación de salida ajustada
Rutas de acceso de perfil de aprovisionamiento de extensiones Matriz de cadenas vacío Matriz de perfiles de aprovisionamiento de extensiones para la aplicación.
Deshabilitar telemetría Booleano false Igual que -dt
Deshabilitación de la invalidación del registro de MSAL Booleano false Igual que -dl

Ejecute IntuneMAMPackager con plist como argumento único:

./IntuneMAMPackager –f Parameters.plist

Ajuste posterior

Una vez completado el proceso de ajuste, se mostrará el mensaje "La aplicación se ha ajustado correctamente". Si se produce un error, consulte Mensajes de error para obtener ayuda.

La aplicación encapsulada se guarda en la carpeta de salida especificada anteriormente. Puede cargar la aplicación en el Centro de administración de Intune y asociarla a una directiva de administración de aplicaciones móviles.

Importante

Al cargar una aplicación encapsulada, puede intentar actualizar una versión anterior de la aplicación si ya se ha implementado una versión anterior (ajustada o nativa) en Intune. Si experimenta un error, cargue la aplicación como una nueva aplicación y elimine la versión anterior.

Ahora puede implementar la aplicación en los grupos de usuarios y las directivas de protección de aplicaciones de destino en la aplicación. La aplicación se ejecutará en el dispositivo mediante las directivas de protección de aplicaciones especificadas.

¿Con qué frecuencia debo volver a encapsular mi aplicación iOS con el App Wrapping Tool de Intune?

Los escenarios principales en los que tendría que volver a encapsular las aplicaciones son los siguientes:

  • La propia aplicación ha lanzado una nueva versión. La versión anterior de la aplicación se envolvió y cargó en el Centro de administración de Intune.
  • El App Wrapping Tool de Intune para iOS ha publicado una nueva versión que permite correcciones de errores clave o nuevas características específicas de la directiva de protección de aplicaciones de Intune. Esto sucede después de 6-8 semanas a través del repositorio de GitHub para la Microsoft Intune App Wrapping Tool para iOS.

Para iOS/iPadOS, aunque es posible encapsular con un perfil de aprovisionamiento o certificado diferente al original usado para firmar la aplicación, si los derechos especificados en la aplicación no se incluyen en el nuevo perfil de aprovisionamiento, se producirá un error en el ajuste. El uso de la opción de línea de comandos "-e", que quita los derechos que faltan de la aplicación, para forzar el ajuste para que no se produzca un error en este escenario puede provocar que se interrumpa la funcionalidad de la aplicación.

Entre los procedimientos recomendados para volver a realizar la reasignación se incluyen los siguientes:

  • Asegurarse de que un perfil de aprovisionamiento diferente tiene todos los derechos necesarios como cualquier perfil de aprovisionamiento anterior.

Mensajes de error y archivos de registro

Use la siguiente información para solucionar problemas que tiene con la herramienta de ajuste de aplicaciones.

Mensajes de error

Si la herramienta de ajuste de aplicaciones no se completa correctamente, se mostrará uno de los siguientes mensajes de error en la consola:

Mensaje de error Más información
Debe especificar un perfil de aprovisionamiento de iOS válido. Es posible que el perfil de aprovisionamiento no sea válido. Asegúrese de que tiene los permisos correctos para los dispositivos y de que el perfil tiene como destino el desarrollo o la distribución correctamente. Es posible que el perfil de aprovisionamiento también haya expirado.
Especifique un nombre de aplicación de entrada válido. Asegúrese de que el nombre de la aplicación de entrada especificado es correcto.
Especifique una ruta de acceso válida a la aplicación de salida. Asegúrese de que la ruta de acceso a la aplicación de salida especificada existe y es correcta.
Especifique un perfil de aprovisionamiento de entrada válido. Asegúrese de proporcionar un nombre y una extensión de perfil de aprovisionamiento válidos. Es posible que falten derechos en el perfil de aprovisionamiento o que no haya incluido la opción de línea de comandos –p.
No se encontró la aplicación de entrada especificada. Especifique un nombre de aplicación de entrada y una ruta de acceso válidos. Asegúrese de que la ruta de acceso de la aplicación de entrada es válida y existe. Asegúrese de que la aplicación de entrada existe en esa ubicación.
No se encontró el archivo de perfil de aprovisionamiento de entrada especificado. Especifique un archivo de perfil de aprovisionamiento de entrada válido. Asegúrese de que la ruta de acceso al archivo de aprovisionamiento de entrada es válida y de que el archivo especificado existe.
No se encontró la carpeta de la aplicación de salida que especificó. Especifique una ruta de acceso válida a la aplicación de salida. Asegúrese de que la ruta de acceso de salida especificada es válida y existe.
La aplicación de salida no tiene extensión .ipa . El App Wrapping Tool solo acepta las aplicaciones con las extensiones .appy .ipa. Asegúrese de que el archivo de salida tiene una extensión válida.
Se especificó un certificado de firma no válido. Especifique un certificado de firma de Apple válido. Asegúrese de que ha descargado el certificado de firma correcto desde el portal para desarrolladores de Apple. Es posible que el certificado haya expirado o que falte una clave pública o privada. Si el certificado de Apple y el perfil de aprovisionamiento se pueden usar para firmar correctamente una aplicación en Xcode, son válidos para el App Wrapping Tool. Además, compruebe que el certificado de firma tiene un nombre único dentro de la cadena de claves del equipo macOS del host. Si hay varias versiones del mismo certificado dentro de la cadena de claves, se puede devolver este error.
La aplicación de entrada especificada no es válida. Especifique una aplicación válida. Asegúrese de que tiene una aplicación iOS válida que se ha compilado como un archivo .app o .ipa.
La aplicación de entrada especificada está cifrada. Especifique una aplicación sin cifrar válida. El App Wrapping Tool no admite aplicaciones cifradas. Proporcione una aplicación sin cifrar.
La aplicación de entrada que especificó no está en formato de ejecutable independiente de posición (PIE). Especifique una aplicación válida en formato PIE. Las aplicaciones ejecutables independientes de posición (PIE) se pueden cargar en una dirección de memoria aleatoria cuando se ejecutan. Esto puede tener ventajas de seguridad. Para obtener más información sobre las ventajas de seguridad, consulta la documentación para desarrolladores de Apple.
La aplicación de entrada que especificó ya se ha ajustado. Especifique una aplicación desencapsada válida. No se puede procesar una aplicación que ya haya sido procesada por la herramienta. Si quiere volver a procesar una aplicación, ejecute la herramienta con la versión original de la aplicación.
La aplicación de entrada especificada no está firmada. Especifique una aplicación firmada válida. La herramienta de ajuste de aplicaciones requiere que las aplicaciones se firmen. Consulte la documentación del desarrollador para obtener información sobre cómo firmar una aplicación encapsulada.
La aplicación de entrada especificada debe tener el formato .ipa o .app. La herramienta de ajuste de aplicaciones solo acepta las extensiones .app y .ipa. Asegúrese de que el archivo de entrada tiene una extensión válida y que se ha compilado como un archivo .app o .ipa.
La aplicación de entrada que especificó ya se ha ajustado y se encuentra en la versión más reciente de la plantilla de directiva. El App Wrapping Tool no volverá a encapsular una aplicación encapsulada existente con la versión más reciente de la plantilla de directiva.
ADVERTENCIA: No especificó un hash de certificado SHA1. Asegúrese de que la aplicación encapsulada está firmada antes de la implementación. Asegúrese de especificar un hash SHA1 válido siguiendo la marca de línea de comandos –c.

Recopilación de registros para las aplicaciones encapsuladas desde el dispositivo

Siga estos pasos para obtener los registros de las aplicaciones encapsuladas durante la solución de problemas.

  1. Vaya a la aplicación Configuración de iOS en el dispositivo y seleccione la aplicación LOB.
  2. Seleccione Microsoft Intune.
  3. Cambie la opción Mostrar consola de diagnóstico a Activado.
  4. Inicie la aplicación LOB.
  5. Haga clic en el vínculo "Introducción".
  6. Ahora puede enviar registros directamente a Microsoft o compartirlos a través de otra aplicación en el dispositivo.

Nota:

La funcionalidad de registro está habilitada para las aplicaciones que se han ajustado con intune App Wrapping Tool versión 7.1.13 o posterior.

Recopilación de registros de bloqueo del sistema

Es posible que la aplicación esté registrando información útil en la consola del dispositivo cliente iOS. Esta información es útil cuando tiene problemas con la aplicación y necesita determinar si el problema está relacionado con el App Wrapping Tool o la propia aplicación. Para recuperar esta información, siga estos pasos:

  1. Reproduzca el problema mediante la ejecución de la aplicación.

  2. Recopile la salida de la consola siguiendo las instrucciones de Apple para depurar aplicaciones de iOS implementadas.

Las aplicaciones encapsuladas también presentarán a los usuarios la opción de enviar registros directamente desde el dispositivo por correo electrónico después de que la aplicación se bloquee. Los usuarios pueden enviarle los registros para examinarlos y reenviarlos a Microsoft si es necesario.

Requisitos de certificado, perfil de aprovisionamiento y autenticación

El App Wrapping Tool para iOS tiene algunos requisitos que deben cumplirse para garantizar una funcionalidad completa.

Requisito Detalles
Perfil de aprovisionamiento de iOS Asegúrese de que el perfil de aprovisionamiento es válido antes de incluirlo. El App Wrapping Tool no comprueba si el perfil de aprovisionamiento ha expirado al procesar una aplicación de iOS. Si se especifica un perfil de aprovisionamiento expirado, la herramienta de ajuste de aplicaciones incluirá el perfil de aprovisionamiento expirado y no sabrá que hay un problema hasta que la aplicación no se instale en un dispositivo iOS.
Certificado de firma de iOS Asegúrese de que el certificado de firma es válido antes de especificarlo. La herramienta no comprueba si un certificado ha expirado al procesar aplicaciones iOS. Si se proporciona el hash de un certificado expirado, la herramienta procesará y firmará la aplicación, pero no se instalará en los dispositivos.

Asegúrese de que el certificado proporcionado para firmar la aplicación encapsulada tiene una coincidencia en el perfil de aprovisionamiento. La herramienta no valida si el perfil de aprovisionamiento tiene una coincidencia para el certificado proporcionado para firmar la aplicación encapsulada.
Autenticación Un dispositivo debe tener un PIN para que el cifrado funcione. En los dispositivos en los que ha implementado una aplicación ajustada, tocar la barra de estado del dispositivo requerirá que el usuario vuelva a iniciar sesión con una cuenta profesional o educativa. La directiva predeterminada de una aplicación encapsulada es la autenticación al reiniciar. iOS controla cualquier notificación externa (como una llamada de teléfono) al salir de la aplicación y, a continuación, volver a iniciarla.

Configuración de derechos de aplicación

Antes de ajustar la aplicación, puede conceder derechos para conceder a la aplicación permisos y funcionalidades adicionales que superen lo que una aplicación puede hacer normalmente. Durante la firma de código se usa un archivo de derechos para especificar permisos especiales dentro de la aplicación (por ejemplo, acceso a una cadena de claves compartida). Los servicios de aplicaciones específicos denominados funcionalidades se habilitan en Xcode durante el desarrollo de aplicaciones. Una vez habilitadas, las funcionalidades se reflejan en el archivo de derechos. Para obtener más información sobre los derechos y las funcionalidades, vea Agregar funcionalidades en la biblioteca para desarrolladores de iOS. Para obtener una lista completa de las funcionalidades admitidas, consulte Funcionalidades admitidas.

Funcionalidades admitidas para la App Wrapping Tool para iOS

Funcionalidad Descripción Instrucciones recomendadas
Grupos de aplicaciones Use grupos de aplicaciones para permitir que varias aplicaciones accedan a contenedores compartidos y permitan la comunicación entre procesos adicional entre aplicaciones.

Para habilitar los grupos de aplicaciones, abra el panel Funcionalidades y haga clic en ACTIVADO en Grupos de aplicaciones. Puede agregar grupos de aplicaciones o seleccionar los existentes.
Al usar grupos de aplicaciones, use la notación DNS inversa:

group.com.companyName.AppGroup
Modos en segundo plano La habilitación de los modos en segundo plano permite que la aplicación de iOS continúe ejecutándose en segundo plano.
Protección de datos La protección de datos agrega un nivel de seguridad a los archivos almacenados en disco por la aplicación iOS. La protección de datos usa el hardware de cifrado integrado presente en dispositivos específicos para almacenar archivos en un formato cifrado en el disco. La aplicación debe aprovisionarse para usar la protección de datos.
Compra desde la aplicación La compra desde la aplicación inserta una tienda directamente en la aplicación al permitirle conectarse a la tienda y procesar de forma segura los pagos del usuario. Puedes usar la compra desde la aplicación para recopilar el pago por la funcionalidad mejorada o por contenido adicional que la aplicación pueda usar.
Uso compartido de llaves Habilitar el uso compartido de cadenas de claves permite que la aplicación comparta contraseñas en la cadena de claves con otras aplicaciones desarrolladas por el equipo. Cuando use el uso compartido de cadenas de claves, use la notación DNS inversa:

com.companyName.KeychainGroup
Personal VPN Habilite la VPN personal para permitir que la aplicación cree y controle una configuración de VPN del sistema personalizada mediante el marco de la extensión de red.
Notificaciones de inserción El servicio de notificaciones push de Apple (APN) permite que una aplicación que no se ejecuta en primer plano notifique al usuario que tiene información para el usuario. Para que las notificaciones push funcionen, debe usar un perfil de aprovisionamiento específico de la aplicación.

Siga los pasos de la documentación para desarrolladores de Apple.
Configuración del accesorio inalámbrico Al habilitar la configuración de accesorios inalámbricos, se agrega el marco de accesorios externos al proyecto y se permite que la aplicación configure MFi Wi-Fi accesorios.

Pasos para habilitar derechos

  1. Habilitación de funcionalidades en la aplicación:

    a. En Xcode, vaya al destino de la aplicación y haga clic en Funcionalidades.

    b. Active las funcionalidades adecuadas. Para obtener información detallada sobre cada funcionalidad y cómo determinar los valores correctos, vea Agregar funcionalidades en la biblioteca para desarrolladores de iOS.

    c. Tenga en cuenta los identificadores que creó durante el proceso. También se pueden denominar valores AppIdentifierPrefix .

    d. Compile y firme la aplicación para que se ajuste.

  2. Habilite los derechos en el perfil de aprovisionamiento:

    a. Inicie sesión en el Centro de miembros para desarrolladores de Apple.

    b. Cree un perfil de aprovisionamiento para la aplicación. Para obtener instrucciones, consulte How to Obtain the Prerequisites for the Intune App Wrapping Tool for iOS (Cómo obtener los requisitos previos para la App Wrapping Tool de Intune para iOS).

    c. En el perfil de aprovisionamiento, habilite los mismos derechos que tiene en la aplicación. Deberá proporcionar los mismos identificadores (los AppIdentifierPrefix valores) que especificó durante el desarrollo de la aplicación.

    d. Finalice el asistente para el perfil de aprovisionamiento y descargue el archivo.

  3. Asegúrese de que ha cumplido todos los requisitos previos y, a continuación, ajuste la aplicación.

Solución de errores comunes con derechos

Si el App Wrapping Tool para iOS muestra un error de derecho, pruebe los pasos de solución de problemas siguientes.

Incidencia Causa Solución
No se pudieron analizar los derechos generados a partir de la aplicación de entrada. El App Wrapping Tool no puede leer el archivo de derechos que se extrajo de la aplicación. El archivo de derechos podría tener un formato incorrecto. Inspeccione el archivo de derechos de la aplicación. En las instrucciones siguientes se explica cómo hacerlo. Al inspeccionar el archivo de derechos, compruebe si hay una sintaxis con formato incorrecto. El archivo debe estar en formato XML.
Faltan derechos en el perfil de aprovisionamiento (se enumeran los derechos que faltan). Vuelva a empaquetar la aplicación con un perfil de aprovisionamiento que tenga estos derechos. Hay una discrepancia entre los derechos habilitados en el perfil de aprovisionamiento y las funcionalidades habilitadas en la aplicación. Esta falta de coincidencia también se aplica a los identificadores asociados a funcionalidades concretas (como los grupos de aplicaciones y el acceso a la cadena de claves). Por lo general, puede crear un nuevo perfil de aprovisionamiento que habilite las mismas funcionalidades que la aplicación. Cuando los identificadores entre el perfil y la aplicación no coinciden, el App Wrapping Tool reemplazará los identificadores si es posible. Si sigues teniendo este error después de crear un nuevo perfil de aprovisionamiento, puedes intentar quitar derechos de la aplicación mediante el parámetro –e (consulta Usar el parámetro –e para quitar derechos de una aplicación).

Búsqueda de los derechos existentes de una aplicación firmada

Para revisar los derechos existentes de una aplicación firmada y el perfil de aprovisionamiento:

  1. Busque el archivo .ipa y cambie su extensión a .zip.

  2. Expanda el archivo .zip. Esto generará una carpeta Payload que contiene el paquete .app.

  3. Use la herramienta codesign para comprobar los derechos en el paquete .app, donde YourApp.app es el nombre real del paquete .app:

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Use la herramienta de seguridad para comprobar los derechos del perfil de aprovisionamiento incrustado de la aplicación, donde YourApp.app es el nombre real de la agrupación .app.

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

Eliminación de derechos de una aplicación mediante el parámetro –e

Este comando quita las funcionalidades habilitadas en la aplicación que no están en el archivo de derechos. Si quitas las funcionalidades que usa la aplicación, puede interrumpir la aplicación. Un ejemplo de dónde puede quitar las funcionalidades que faltan es en una aplicación producida por el proveedor que tiene todas las funcionalidades de forma predeterminada.

./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

Seguridad y privacidad para el App Wrapping Tool

Use los siguientes procedimientos recomendados de seguridad y privacidad al usar el App Wrapping Tool.

  • El certificado de firma, el perfil de aprovisionamiento y la aplicación de línea de negocio que especifique deben estar en la misma máquina macOS que se usa para ejecutar la herramienta de ajuste de aplicaciones. Si los archivos están en una ruta de acceso UNC, asegúrese de que son accesibles desde el equipo macOS. La ruta de acceso debe protegerse a través de la firma IPsec o SMB.

    La aplicación encapsulada importada en el centro de administración debe estar en el mismo equipo en el que se ejecuta la herramienta. Si el archivo está en una ruta de acceso UNC, asegúrese de que es accesible en el equipo que ejecuta el centro de administración. La ruta de acceso debe protegerse a través de la firma IPsec o SMB.

  • El entorno donde se descarga el App Wrapping Tool del repositorio de GitHub debe protegerse mediante la firma IPsec o SMB.

  • La aplicación que procesa debe provenir de un origen de confianza para garantizar la protección contra ataques.

  • Asegúrese de que la carpeta de salida especificada en el App Wrapping Tool está protegida, especialmente si se trata de una carpeta remota.

  • Las aplicaciones iOS que incluyen un cuadro de diálogo de carga de archivos pueden permitir a los usuarios eludir, cortar, copiar y pegar las restricciones aplicadas a la aplicación. Por ejemplo, un usuario podría usar el cuadro de diálogo carga de archivos para cargar una captura de pantalla de los datos de la aplicación.

  • Al supervisar la carpeta de documentos en el dispositivo desde dentro de una aplicación encapsulada, es posible que vea una carpeta denominada .msftintuneapplauncher. Si cambia o elimina este archivo, podría afectar al funcionamiento correcto de las aplicaciones restringidas.

  • El registro de esquemas de direcciones URL personalizados permite que direcciones URL específicas se redirijan a la aplicación. iOS e iPadOS permiten que varias aplicaciones registren el mismo esquema de dirección URL personalizada y el sistema operativo determina qué aplicación se invoca. Consulte la documentación de Apple Definición de un esquema de direcciones URL personalizado para la aplicación para obtener recomendaciones que ayuden a evitar colisiones de esquemas de direcciones URL personalizadas y directrices de seguridad para controlar direcciones URL con formato incorrecto.

Consulte también