Preparar aplicaciones iOS para las directivas de protección de aplicaciones con el Intune App Wrapping Tool

Use el Microsoft Intune App Wrapping Tool para iOS para habilitar Intune directivas de protección de aplicaciones 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 su funcionalidad implementando directivas de protección de aplicaciones .

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

Nota:

Si tienes problemas con el uso del Intune App Wrapping Tool con tus aplicaciones, envía una solicitud de asistencia en GitHub.

Requisitos previos generales para la herramienta de ajuste de aplicaciones 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 tiene instalada la versión 16.0 o posterior del conjunto de herramientas Xcode.

  • Su empresa o un proveedor de software independiente (ISV) debe desarrollar y firmar la aplicación iOS de entrada.

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

    • Debe compilarse para iOS 16.0 o posterior.

    • No se puede cifrar.

    • No hay atributos de archivo extendidos.

    • Establezca los derechos antes de procesar la aplicación con el Intune App Wrapping Tool. Los derechos proporcionan a la aplicación más permisos y capacidades más allá de los permisos que normalmente se conceden. Consulte Configuración de derechos de aplicación para obtener instrucciones.

  • Asegúrese de que existen certificados de firma válidos en el almacén de claves del sistema. Si tienes problemas con la firma de código de la aplicación, sigue estos pasos para resolverlos:
    • Restablecer la configuración de confianza para todos los certificados relacionados
    • Instalar certificados intermedios en el almacén de claves del sistema y en el almacén de claves de inicio de sesión
    • Desinstale y vuelva a instalar todos los certificados relacionados

Registro de la aplicación con Microsoft Entra ID

  1. Registra tus aplicaciones con Microsoft Entra ID. Para obtener más información, consulte Registro de una aplicación con la Plataforma de identidad de Microsoft.
  2. Agrega la URL de redirección 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 Conceder acceso de la aplicación al servicio de administración de aplicaciones móviles de Intune.
  4. Una vez completados los cambios anteriores, ejecute la versión más reciente de la herramienta de ajuste de aplicaciones de Intune. Configuración de las aplicaciones para la biblioteca de autenticación de Microsoft (MSAL): agrega el id. de cliente de aplicación Microsoft Entra en los parámetros de línea de comandos con el Intune App Wrapping Tool. Para obtener más información, consulte Parámetros de línea de comandos.

Nota:

Los parámetros -ac y -ar son parámetros obligatorios. Cada aplicación necesita 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 la App Wrapping Tool

Para distribuir apps empaquetadas exclusivamente a los usuarios de tu organización, necesitas una cuenta con Apple Developer Enterprise Program y varias entidades para la firma de apps que estén vinculadas a tu cuenta de Apple Developer.

Para obtener más información sobre la distribución de aplicaciones iOS internamente a los usuarios de su organización, lea la guía oficial sobre la distribución de aplicaciones del Programa Enterprise para desarrolladores de Apple.

Necesita lo siguiente para distribuir aplicaciones encapsuladas por Intune:

  • Una cuenta de desarrollador con el Programa Enterprise para desarrolladores de Apple.

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

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

Crear una cuenta de desarrollador Enterprise de Apple

  1. Vaya al sitio del Programa Apple Developer Enterprise.

  2. En la parte superior derecha de la página, seleccione Inscribirse.

  3. Lea la lista de verificación de lo que necesita inscribirse. Seleccione Iniciar su inscripción en la parte inferior de la página.

  4. Inicie sesión con la cuenta de Apple de su organización. Si no tienes una, selecciona Crear cuenta 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. Seleccione Continuar. En este momento, Apple se pondrá en contacto contigo para verificar que tienes autorización para inscribir a tu organización.

  7. Después de la comprobación, seleccione Aceptar licencia.

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

  9. Si eres el agente del equipo (la persona que se une al Apple Developer Enterprise Program de tu organización), invita a los miembros del equipo y asigna roles para formar tu equipo. Para obtener información sobre cómo administrar su equipo, lea la documentación de Apple sobre cómo administrar su equipo de cuentas de desarrollador.

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, seleccione Cuenta.

  3. Inicia sesión con la cuenta de Apple de tu organización.

  4. Seleccione certificados, identificadores & perfiles.

    Portal para desarrolladores de Apple: certificados, identificadores & perfiles

  5. Seleccione el portal para desarrolladores de Apple signo más en la esquina superior derecha. Esta acción agrega un certificado iOS.

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

    Seleccione 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 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 incluya los dispositivos en los que planea instalar la aplicación.

  7. Seleccione Siguiente en la parte inferior de la página.

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

    Lea las instrucciones para crear una RSC

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

  10. En el menú macOS de la parte superior de la pantalla, vaya a Acceso a llaveros > Asistente > para certificados Solicitar un certificado a una entidad de certificación.

    Solicitar un certificado de una entidad de certificación en Acceso a Llaveros

  11. Siga las instrucciones del sitio para desarrolladores de Apple para crear un archivo de solicitud de firma de certificado (RSC). Guarde el archivo CSR en su equipo macOS.

    Especifique la información del certificado que solicita

  12. Vuelva al sitio para desarrolladores de Apple. Seleccione Continuar. Después, cargue el archivo RSC.

  13. Apple genera el certificado de firma. Descárguelo y guárdelo en un lugar memorable de su equipo macOS.

    Descargar el certificado de firma

  14. Haga doble clic en el archivo de certificado que ha descargado para agregar el certificado a un llavero.

  15. Abra Acceso a llaveros de nuevo. Busque su certificado buscando su nombre en la barra de búsqueda superior derecha. Haz clic con el botón derecho en el elemento para que aparezca el menú y selecciona Obtener información. En las pantallas de ejemplo, estamos usando un certificado de desarrollo en lugar de un certificado de producción.

    Agregar el certificado a una cadena de claves

  16. Aparecerá una ventana informativa. Desplázate hasta la parte inferior y mira debajo de la etiqueta Huellas dactilares . Copie la cadena SHA1 (difuminada) para usarla como argumento de "-c" en la App Wrapping Tool.

    Información de iPhone: huellas digitales Cadena SHA1

Crear un perfil de aprovisionamiento de distribución de In-House

  1. Volver al portal de la cuenta de desarrollador de Apple e inicia sesión con la cuenta de Apple de tu organización.

  2. Seleccione certificados, identificadores & perfiles.

  3. Seleccione el portal para desarrolladores de Apple signo más en la esquina superior derecha. Esta acción agrega un perfil de aprovisionamiento de iOS.

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

    Seleccionar perfil de aprovisionamiento interno

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

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

  7. Guarda el archivo en una ubicación fácil de recordar. Este archivo se utiliza para el parámetro -p mientras se utiliza el App Wrapping Tool.

Descargar la App Wrapping Tool

  1. Descargue los archivos de la herramienta de ajuste de aplicaciones App Wrapping Tool desde GitHub a un equipo macOS.

  2. Haga doble clic en Microsoft Intune Application Restrictions Packager for iOS.dmg. Aparece una ventana con el Contrato de licencia para el usuario final (CLUF). Lea el documento cuidadosamente.

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

Ejecutar la App Wrapping Tool

Importante

Intune publica periódicamente actualizaciones para el Intune App Wrapping Tool. Compruebe periódicamente si hay actualizaciones en el Intune App Wrapping Tool para iOS e incorpórelas a su ciclo de lanzamiento de desarrollo de software para asegurarse de que sus aplicaciones sean compatibles con la configuración más reciente de la Directiva de protección de aplicaciones.

Usar terminal

Abra la terminal 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> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]

Nota:

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

Ejemplo: El siguiente comando de ejemplo ejecuta la 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 envuelta. La aplicación de salida (MyApp_Wrapped.ipa) se crea y se 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" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v

Parámetros de línea de comandos

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

Ejemplo: En el siguiente comando de ejemplo se ejecuta la App Wrapping Tool e incorpora los comandos necesarios al encapsular una aplicación para su uso en 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
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 detallada sobre el uso de las propiedades de línea de comandos disponibles para la App Wrapping Tool.
-ac <Client ID of the input app if the app uses the Biblioteca de autenticación de Microsoft> Este es el GUID en el campo de Id. de cliente de la lista de la aplicación en el Registro de aplicaciones.
-ar <Redirect/Reply URI of the input app if the app uses the Biblioteca de autenticación de Microsoft> Este es el URI de redireccionamiento configurado en el registro de aplicaciones. Normalmente, sería el protocolo de dirección URL de la aplicación al que volvería la aplicación Microsoft Authenticator después de la autenticación asincrónica.
-aa (Necesario para aplicaciones de inquilino único) <Authority URI of the input app> es decir, https://login.microsoftonline.com/<tenantID>/
-v (Opcional) Envía mensajes detallados a la consola. Use esta marca para depurar los errores.
-e (Opcional) Use esta marca para que el App Wrapping Tool quite las autorizaciones que faltan mientras procesa la aplicación. Para obtener más información, consulte Configuración de derechos de aplicación.
-xe (Opcional) Imprime información acerca de las extensiones de iOS en la aplicación y de los derechos necesarios para usarlas. Para obtener más información, consulte Configuración de derechos de aplicación.
-x (Opcional) <An array of paths to extension provisioning profiles>. Usa esta propiedad si tu aplicación necesita perfiles de aprovisionamiento de extensiones.
-b (Opcional) Usa -b sin un argumento si quieres que la aplicación de salida envuelta tenga la misma versión de paquete que la aplicación de entrada (no recomendado).

Úsela -b <custom bundle version> si desea que la aplicación ajustada tenga un CFBundleVersion personalizado. Si elige especificar un CFBundleVersion personalizado, es una buena idea incrementar el 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 de IntuneMAMPackager, como -i, -o y -p. Consulta Usar un plist para introducir argumentos.
-dt (Opcional) Deshabilitar la recopilación de datos de cliente de Microsoft Intune.
-dl (Opcional) Deshabilite los registros de MSAL desde los registros de Intune para las aplicaciones que se integran con MSAL e implemente su propia devolución de llamada de registro de MSAL.
-ds (Opcional) Deshabilite las protecciones de Intune para SFSafariViewController, SFAuthSession y ASWebAuthenticationSession.
-mp (Opcional) <Path to a plist file containing MAM settings to merge into the wrapped app>. Use esta propiedad para proporcionar una configuración personalizada del SDK MAM de Intune de Intune que se combinará en el diccionario IntuneMAMSettings de la aplicación durante el proceso de ajuste. Nota: La configuración MultiIdentity, MAMPolicyRequired, AutoEnrollOnLaunchy ContainingAppBundleId no se admiten a través de -mp, ya que son configuradas automáticamente por la App Wrapping Tool. La configuración de autenticación (ADALAuthority, ADALClientId, ADALRedirectUri) tampoco se admite a través de -mp y debe configurarse mediante los parámetros de línea de comandos -aa, -ac y -ar.

Usar un plist para introducir argumentos

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

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

Tecla 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
Evitar actualización de compilación predeterminada Booleano false Equivale a usar -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 del 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
Deshabilitar invalidación de registro de MSAL Booleano false Igual que -dl
Configuración de MAM Ruta de acceso de Plist Cadena vacío Igual que -mp

Ejecute IntuneMAMPackager con el plist como único argumento:

./IntuneMAMPackager –f Parameters.plist

Ajuste posterior

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

La aplicación empaquetada se guarda en la carpeta de salida que especificó 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 implementó una versión anterior (encapsulada o nativa) en Intune. Si se produce un error, cargue la aplicación como una aplicación nueva y elimine la versión anterior.

Ahora puede implementar la aplicación en sus grupos de usuarios y dirigir las directivas de protección de aplicaciones a la aplicación. La aplicación se ejecuta 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 Intune App Wrapping Tool?

Los escenarios principales en los que necesitaría volver a envolver las aplicaciones son los siguientes:

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

Para iOS/iPadOS, puede ajustar la aplicación con un certificado o perfil de aprovisionamiento diferente al que se usó originalmente para firmar la aplicación. Sin embargo, si el nuevo perfil de aprovisionamiento no incluye las autorizaciones especificadas en la aplicación, se produce un error en el proceso de ajuste. Si usas la opción de línea de comandos "-e", que quita cualquier derecho que falte en la aplicación, para forzar el ajuste para que no falle en este escenario, se puede producir una funcionalidad rota en la aplicación.

Entre las prácticas recomendadas para volver a encapsular se incluyen:

  • Asegurarse de que un perfil de aprovisionamiento diferente tiene todas las autorizaciones necesarias que cualquier perfil de aprovisionamiento anterior.

Mensajes de error y archivos de registro

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

Mensajes de error

Si la herramienta de ajuste de aplicaciones no finaliza correctamente, se muestra 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. Compruebe que tiene los permisos correctos para los dispositivos y que su perfil está correctamente destinado al desarrollo o la distribución. Es posible que también haya expirado su perfil de aprovisionamiento.
Especifique un nombre de aplicación de entrada válido. Compruebe que el nombre de 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 al perfil de aprovisionamiento le falten derechos o que no se incluya la opción de línea –p de comandos.
No se encontró la aplicación de entrada especificada. Especifique una ruta de acceso y un nombre de aplicación de entrada 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 especificada. Especifique una ruta de acceso válida a la aplicación de salida. Asegúrese de que la ruta de salida es válida y existe.
La aplicación de salida no tiene la extensión .ipa . Solo las aplicaciones con las extensiones .app y .ipa son aceptadas por el App Wrapping Tool. Asegúrese de que el archivo de salida tenga una extensión válida.
Se especificó un certificado de firma no válido. Especifica un certificado de firma de Apple válido. Asegúrese de haber descargado el certificado de firma correcto del 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, entonces son válidos para la App Wrapping Tool. Además, compruebe que el certificado de firma tenga un nombre único en el almacén de claves del equipo macOS host. Si existen varias versiones del mismo certificado en la cadena de claves, la herramienta devuelve este error.
La aplicación de entrada especificada no es válida. Especifique una aplicación válida. Asegúrese de que la aplicación de iOS válida se compile como un .app archivo OR .ipa .
La aplicación de entrada especificada está cifrada. Especifique una aplicación válida sin cifrar. La herramienta App Wrapping Tool no admite aplicaciones cifradas. Proporcione una aplicación sin cifrar.
La aplicación de entrada especificada no tiene un formato de ejecutable independiente de la posición (PIE). Especifique una aplicación válida en formato PIE. Las aplicaciones ejecutables independientes de la posición (PIE) se pueden cargar en una dirección de memoria aleatoria cuando se ejecutan. Esta característica puede proporcionar ventajas de seguridad. Para obtener más información sobre las ventajas de seguridad, consulte la documentación para desarrolladores de Apple.
La aplicación de entrada especificada está ajustada. Especifique una aplicación sin contenedor válida. No puedes procesar una aplicación si la herramienta ya la ha procesado. Si deseas volver a procesar una aplicación, ejecuta 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 estén firmadas. Consulta la documentación del desarrollador para obtener información sobre cómo firmar una aplicación ajustada.
La aplicación de entrada especificada debe tener el formato .ipa o .app. La herramienta de ajuste de aplicaciones solo acepta .app y .ipa extensiones. Asegúrese de que el archivo de entrada tenga una extensión válida y se cumpla como un .app archivo O .ipa .
La aplicación de entrada especificada está ajustada y tiene la versión de plantilla de directiva más reciente. La herramienta App Wrapping no vuelve a ajustar una aplicación existente con la última versión de plantilla de directiva.
ADVERTENCIA: No especificó un hash de certificado SHA1. Asegúrese de que la aplicación ajustada esté firmada antes de implementar. Asegúrese de especificar un hash SHA1 válido después del marcador de la línea de –c comandos.

Recopilar registros para las aplicaciones encapsuladas desde el dispositivo

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

  1. Vaya a la aplicación de configuración de iOS en el dispositivo y seleccione la aplicación de LOB.
  2. Seleccione Microsoft Intune.
  3. Cambie la configuración de la consola de diagnóstico de pantalla a Activado.
  4. Inicie la aplicación de LOB.
  5. Selecciona el vínculo "Comenzar".
  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 ajustan con la versión Intune App Wrapping Tool 7.1.13 o superior.

Collecting crash logs from the system (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 de iOS. Esta información es útil cuando tiene problemas con la aplicación y necesita determinar si el problema está relacionado con la App Wrapping Tool o con la propia aplicación. Para recuperar esta información, siga estos pasos:

  1. Reproduzca el problema ejecutando la aplicación.

  2. Para recopilar la salida de la consola, siga las instrucciones de Apple para depurar aplicaciones iOS implementadas.

Las aplicaciones envolventes 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.

Certificado, perfil de aprovisionamiento y requisitos de autenticación

La herramienta App Wrapping Tool para iOS tiene algunos requisitos que deben cumplirse para garantizar su funcionalidad total.

Requisito Detalles
Perfil de aprovisionamiento de iOS Asegúrese de que el perfil de aprovisionamiento es válido antes de incluirlo. La herramienta de App Wrapping Tool no comprueba si el perfil de aprovisionamiento ha expirado al procesar una aplicación iOS. Si especifica un perfil de aprovisionamiento expirado, la herramienta de ajuste de aplicaciones lo incluye. No verás ningún 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 procesa y firma la aplicación, pero no se puede instalar en dispositivos.

Asegúrese de que el certificado proporcionado para firmar la aplicación ajustada tenga una coincidencia en el perfil de aprovisionamiento. La herramienta no valida si el perfil de aprovisionamiento coincide con el certificado proporcionado para firmar la aplicación encapsulada.
Autenticación Un dispositivo debe tener un PIN para que funcione el cifrado. En los dispositivos en los que implementó una aplicación encapsulada, tocar la barra de estado del dispositivo requiere que el usuario vuelva a iniciar sesión con una cuenta profesional o educativa. La directiva predeterminada en 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 volver a iniciarla.

Configuración de derechos de aplicación

Antes de encapsular 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. Un archivo de derechos se usa durante la firma de código para especificar permisos especiales dentro de la aplicación (por ejemplo, acceso a un llavero compartido). Los servicios de aplicaciones específicos denominados funcionalidades se habilitan en Xcode durante el desarrollo de la aplicación. Una vez habilitadas, las funcionalidades se reflejan en el archivo de derechos. Para obtener más información acerca de los derechos y las funcionalidades, consulte Agregar capacidades en la Biblioteca para desarrolladores de iOS. Para obtener una lista completa de las funcionalidades admitidas, consulte Funcionalidades compatibles.

Funcionalidades admitidas para App Wrapping Tool para iOS

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

Para habilitar los grupos de aplicaciones, abra el panel Funcionalidades y seleccione Activado en Grupos de aplicaciones. Puede agregar grupos de aplicaciones o seleccionar los existentes.
Use la notación inversa del Sistema de nombres de dominio (DNS) al configurar los grupos de aplicaciones:

group.com.companyName.AppGroup
Modos en segundo plano Habilitar los modos en segundo plano permite que la aplicación iOS siga 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.
Comprar desde la aplicación La compra dentro de la aplicación inserta una tienda directamente en su aplicación, lo que le permite conectarse a la tienda y procesar de forma segura los pagos del usuario. Puedes usar la compra desde la aplicación para cobrar el pago por una funcionalidad mejorada o por más contenido que pueda utilizar tu aplicación.
Uso compartido de llaveros Habilitar el uso compartido de llaveros permite a su aplicación compartir contraseñas en el llavero con otras aplicaciones desarrolladas por su equipo. Al usar el uso compartido de llaves, 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 personalizada de VPN del sistema mediante el marco de extensión de red.
Notificaciones de inserción El servicio de notificaciones push de Apple (APNs) permite que una app 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 de accesorios inalámbricos Al habilitar la configuración de accesorios inalámbricos, se agrega el marco de accesorios externos al proyecto y permite que la aplicación configure accesorios Wi-Fi hechos para iPhone (MFi).

Pasos para habilitar los derechos

  1. Habilite las funcionalidades en la aplicación:

    a. En Xcode, vaya al destino de la aplicación y seleccione Capacidades.

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

    c. Anote cualquier identificador que haya creado durante el proceso. Estos identificadores se pueden denominar AppIdentifierPrefix valores.

    d. Cree y firme la aplicación que se va a ajustar.

  2. Habilite los derechos en su perfil de aprovisionamiento:

    a. Inicia 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 Cómo obtener los requisitos previos para el Intune App Wrapping Tool para iOS.

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

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

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

Solucionar errores comunes con los derechos

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

Incidencia Causa Solución
No se han podido analizar los derechos generados desde la aplicación de entrada. La App Wrapping Tool no puede leer el archivo de derechos que se extrajo de la aplicación. Es posible que el archivo de derechos tenga un formato incorrecto. Inspeccione el archivo de derechos de la aplicación. Las siguientes instrucciones explican cómo hacerlo. Al inspeccionar el archivo de autorizaciones, compruebe si hay sintaxis incorrecta. 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 un error de coincidencia entre los derechos habilitados en el perfil de aprovisionamiento y las funcionalidades habilitadas en la aplicación. Esta discrepancia también se aplica a los identificadores asociados a funcionalidades concretas (como grupos de aplicaciones y acceso a llaveros). 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 reemplaza los identificadores si puede hacerlo. Si sigue recibiendo este error después de crear un nuevo perfil de aprovisionamiento, puede intentar quitar derechos de la aplicación mediante el –e parámetro (consulte Uso del –e parámetro para quitar derechos de una aplicación).

Buscar los derechos existentes de una aplicación firmada

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

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

  2. Expanda el archivo .zip. Esta acción crea una carpeta que contiene tu paquete .app.

  3. Usa la herramienta de codiseño para comprobar los derechos en el paquete de .app, donde YourApp.app está el nombre real de tu paquete .app.

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Usa la herramienta de seguridad para comprobar los derechos del perfil de aprovisionamiento insertado de la aplicación, donde YourApp.app está el nombre real del paquete de .app.

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

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

Este comando quita las funcionalidades habilitadas de la aplicación que no están en el archivo de derechos. Si quita las funcionalidades que usa la aplicación, puede romper su aplicación. Un ejemplo en el que podría 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> -ac <client ID of input app> -ar <redirect URI of input app> -e

Seguridad y privacidad de App Wrapping Tool

Use los siguientes procedimientos recomendados de seguridad y privacidad cuando use 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 el mismo equipo macOS que usa para ejecutar la herramienta de ajuste de aplicaciones. Si los archivos están en una ruta UNC, asegúrese de que la máquina macOS pueda acceder a ellos. La ruta de acceso se debe proteger mediante la firma IPsec o SMB.

    La aplicación ajustada importada en el centro de administración debe estar en el mismo equipo en el que ejecuta la herramienta. Si el archivo está en una ruta de acceso UNC, asegúrese de que sea accesible en el equipo que ejecuta el centro de administración. La ruta de acceso se debe proteger mediante la firma IPsec o SMB.

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

  • La aplicación que procese debe proceder de una fuente de confianza para garantizar la protección contra ataques.

  • Asegúrese de que la carpeta de salida que especifica en la App Wrapping Tool está protegida, especialmente si es una carpeta remota.

  • Las aplicaciones de 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 de carga de archivos para cargar una captura de pantalla de los datos de la aplicación.

  • Al supervisar la carpeta documentos del dispositivo desde 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 personalizadas permite que direcciones URL específicas se redirijan a la aplicación. iOS y iPadOS permiten que varias aplicaciones registren el mismo esquema de dirección URL personalizado y el sistema operativo determina qué aplicación se invoca. Consulta la documentación de Apple Definir un esquema de URL personalizado para tu app para obtener recomendaciones que ayuden a evitar conflictos de esquemas de URL personalizados y directrices de seguridad para controlar URL con un formato incorrecto.

Recursos adicionales