Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 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 de la Intune App Wrapping Tool 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 16.0 o posterior.
Su empresa o un proveedor de software independiente (ISV) debe desarrollar y firmar la aplicación de 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 funcionalidades que los permisos 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
Registrar la aplicación con Microsoft Entra ID
- 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.
- 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.
- Proporcione 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.
- 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 Intune App Wrapping Tool. 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 necesita un conjunto único de estos parámetros.
-aa solo es necesario para aplicaciones de inquilino único.
- 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.
Necesita 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.
- Necesita el hash SHA1 del certificado de firma como parámetro para el Intune App Wrapping Tool.
Perfil de aprovisionamiento de distribución interno.
Creación de una cuenta de Apple Developer Enterprise
En la parte superior derecha de la página, seleccione Inscribir.
Lea la lista de comprobación de lo que necesita inscribir. Seleccione Iniciar la inscripción en la parte inferior de la página.
Inicie sesión con la cuenta de Apple de su organización. Si no tiene ninguna, seleccione Crear cuenta de Apple.
Seleccione el tipo de entidad y seleccione Continuar.
Rellene el formulario con la información de su organización. Seleccione Continuar. En este momento, Apple se pone en contacto con usted para comprobar que está autorizado para inscribir su organización.
Después de la comprobación, seleccione Aceptar licencia.
Después de aceptar la licencia, termine comprando y activando el programa.
Si eres el agente del equipo (la persona que se une al Programa Apple Developer Enterprise para tu organización), invita a los miembros del equipo y asigna roles para crear tu equipo. 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.
Creación de un certificado de firma de Apple
Vaya al portal para desarrolladores de Apple.
En la parte superior derecha de la página, seleccione Cuenta.
Inicie sesión con su cuenta de Apple de la organización.
Seleccione Certificados, identificadores & perfiles.
Seleccione el
en la esquina superior derecha. Esta acción agrega un certificado iOS.Elija crear un certificado interno y ad hoc en Producción.
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 incluye los dispositivos en los que planea instalar la aplicación.
Seleccione Siguiente en la parte inferior de la página.
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.
Siga las instrucciones anteriores para crear una solicitud de firma de certificado. En el equipo macOS, inicie la aplicación Acceso a llaveros .
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).
Siga las instrucciones del sitio para desarrolladores de Apple para crear un archivo de solicitud de firma de certificado (CSR). Guarde el archivo CSR en el equipo macOS.
Vuelva al sitio para desarrolladores de Apple. Seleccione Continuar. A continuación, cargue el archivo CSR.
Apple genera el certificado de firma. Descárguelo y guárdelo en una ubicación memorable en el equipo macOS.
Haga doble clic en el archivo de certificado que descargó para agregar el certificado a una cadena de claves.
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 seleccione Obtener información. En las pantallas de ejemplo, se usa un certificado de desarrollo en lugar de un certificado de producción.
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.
Creación de un perfil de aprovisionamiento de distribución de In-House
Volver al portal de la cuenta de desarrollador de Apple e inicie sesión con la cuenta de Apple de la organización.
Seleccione Certificados, identificadores & perfiles.
Seleccione el
en la esquina superior derecha. Esta acción agrega un perfil de aprovisionamiento de iOS.Elija crear un perfil de aprovisionamiento interno en Distribución.
Seleccione Continuar. Asegúrese de vincular el certificado de firma generado anteriormente al perfil de aprovisionamiento.
Siga los pasos para descargar el perfil (con la extensión
.mobileprovision) en el equipo macOS.Guarde el archivo en una ubicación memorable. Este archivo se usa para el parámetro -p mientras se usa el App Wrapping Tool.
Descargue el App Wrapping Tool
Descargue los archivos de la App Wrapping Tool de GitHub en un equipo macOS.
Haga doble clic en Microsoft Intune Paqueter de restricciones de aplicación para iOS.dmg. Aparece una ventana con el Contrato de licencia de usuario final (CLUF). Lea detenidamente el documento.
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 Intune App Wrapping Tool. Compruebe periódicamente el Intune App Wrapping Tool de iOS para ver si hay actualizaciones e incorpore en el ciclo de lanzamiento de desarrollo de software para asegurarse de que las aplicaciones admiten la configuración de directiva de protección de aplicaciones más reciente.
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> -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 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" -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 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
| 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. |
-ac |
<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 El registro de la aplicación. |
-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> Es decir, https://login.microsoftonline.com/<tenantID>/ |
-v |
(Opcional) Genera mensajes detallados en la consola. Use 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. Para obtener más información, consulte Configuración de derechos de aplicación. |
-xe |
(Opcional) Imprime información sobre las extensiones de iOS en la aplicación y qué derechos se necesitan 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>. Use esta propiedad 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. |
-dt |
(Opcional) Deshabilite la recopilación de Microsoft Intune datos de cliente. |
-dl |
(Opcional) Deshabilite los registros de MSAL de 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. |
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 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 tendría que volver a encapsular las aplicaciones son los siguientes:
- La propia aplicación lanzó una nueva versión. La versión anterior de la aplicación se envolvió 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 Intune directivas de protección de aplicaciones. La versión de una nueva versión se produce cada 6 a 8 semanas a través del repositorio de GitHub para la Microsoft Intune App Wrapping Tool para iOS.
Para iOS/iPadOS, puede encapsular 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 los derechos especificados en la aplicación, se produce un error en el proceso de ajuste. Si usa la opción de línea de comandos "-e", que quita los derechos que faltan de la aplicación, 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 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. 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. | Compruebe 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 se incluya la –p opción de línea de comandos. |
| 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 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 .app y .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 descargó 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 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 iOS válida se compila como un .app archivo 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. Esta característica puede proporcionar ventajas de seguridad. Para obtener más información sobre las ventajas de seguridad, consulta la documentación para desarrolladores de Apple. |
| Se ajusta la aplicación de entrada que especificó. Especifique una aplicación desencapsada válida. | No se puede procesar una aplicación si la herramienta ya la ha procesado. 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 .app extensiones y .ipa . Asegúrese de que el archivo de entrada tiene una extensión válida y se cumple como un .app archivo o .ipa . |
| La aplicación de entrada especificada está ajustada y se encuentra en la versión más reciente de la plantilla de directiva. | El App Wrapping Tool no vuelve 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 –c de comandos. |
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.
- Vaya a la aplicación Configuración de iOS en el dispositivo y seleccione la aplicación LOB.
- Seleccione Microsoft Intune.
- Cambie la opción Mostrar consola de diagnóstico a Activado.
- Inicie la aplicación LOB.
- Seleccione el vínculo "Introducción".
- 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 a la versión 7.1.13 o posterior de Intune App Wrapping Tool.
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:
Reproduzca el problema mediante la ejecución de la aplicación.
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 especifica un perfil de aprovisionamiento expirado, la herramienta de ajuste de aplicaciones lo incluye. No verá 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 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 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 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 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 del sistema de nombres de dominio (DNS) inverso al configurar grupos de aplicaciones: 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 más contenido 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 | La habilitación de la configuración de accesorios inalámbricos agrega el marco de accesorios externos al proyecto y permite que la aplicación configure Los accesorios de Wi-Fi para iPhone (MFi). |
Pasos para habilitar derechos
Habilitación de funcionalidades en la aplicación:
a. En Xcode, vaya al destino de la aplicación y seleccione 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. Estos identificadores se pueden denominar valores
AppIdentifierPrefix.d. Compile y firme la aplicación para que se ajuste.
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 Cómo obtener los requisitos previos de la 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
AppIdentifierPrefixvalores) que especificó durante el desarrollo de la aplicación.d. Finalice el asistente para el perfil de aprovisionamiento y descargue el archivo.
Asegúrese de que cumple 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 reemplaza 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 –e parámetro (consulta la sección Uso del –e parámetro 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:
Busque el archivo .ipa y cambie su extensión a .zip.
Expanda el archivo .zip. Esta acción crea una carpeta Payload que contiene la agrupación de .app.
Use la herramienta codesign para comprobar los derechos de la agrupación de .app, donde
YourApp.appes el nombre real de la agrupación de .app.codesign -d --entitlements :- "Payload/YourApp.app"Use la herramienta de seguridad para comprobar los derechos del perfil de aprovisionamiento incrustado de la aplicación, donde
YourApp.appes el nombre real de la agrupación de .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> -ac <client ID of input app> -ar <redirect URI of input app> -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 el equipo macOS puede acceder a ellos. 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.