Funcionalidades de iOS
En iOS, las aplicaciones .NET Multi-platform App UI (.NET MAUI) se ejecutan en un espacio aislado que proporciona un conjunto de reglas que limitan el acceso entre la aplicación y los recursos del sistema o los datos de usuario. Apple proporciona funcionalidades (a veces denominadas app services) como método para extender la funcionalidad y ampliar el ámbito de lo que pueden hacer las aplicaciones de iOS. Las funcionalidades te permiten agregar una integración más profunda con las características de la plataforma a la aplicación, como la integración con Siri. Para obtener más información sobre las funcionalidades, consulta Capabilities en developer.apple.com.
Las funcionalidades se agregan al perfil de aprovisionamiento de la aplicación y se usan al firmar el código de la aplicación. El perfil de aprovisionamiento debe contener un identificador de aplicación, que coincida con el identificador del lote de la aplicación, con las funcionalidades necesarias habilitadas. El perfil de aprovisionamiento se puede crear automáticamente en Visual Studio, o bien manualmente desde tu cuenta de desarrollador de Apple.
Las funcionalidades están estrechamente relacionadas con el concepto de derechos. Ambos solicitan la expansión del espacio aislado en el que se ejecuta la aplicación, para proporcionar funcionalidades adicionales. Los derechos se agregan normalmente al desarrollar la aplicación, mientras que las funcionalidades se agregan normalmente al firmar el código de la aplicación para su distribución. Pero cuando el aprovisionamiento automático está habilitado, agregar determinados derechos a la aplicación también actualizará las funcionalidades de la aplicación en su perfil de aprovisionamiento. Para obtener más información sobre los derechos, consulta Derechos.
Adición de funcionalidades con Visual Studio
Las funcionalidades se pueden agregar a un perfil de aprovisionamiento en Visual Studio. Este enfoque requiere el uso del aprovisionamiento automático y solo funciona para un subconjunto de funcionalidades. Para obtener más información sobre el aprovisionamiento automático, consulta Aprovisionamiento automático para aplicaciones iOS.
En la lista siguiente, se muestran las funcionalidades que se pueden aprovisionar automáticamente mediante Visual Studio:
- HealthKit
- HomeKit
- Configuración de la zona activa
- Audio entre aplicaciones
- Múltiples rutas
- Extensiones de red
- Lector de etiquetas de comunicación de campo cercano
- VPN personal
- Siri
- Configuración inalámbrica de accesorios
En Visual Studio, todas las funcionalidades se agregan al archivo Entitlements.plist de tu aplicación. Las funcionalidades enumeradas anteriormente también se agregan a tu perfil de aprovisionamiento. Para obtener más información sobre los derechos, incluido cómo agregar un archivo de "entitlements" al proyecto, consulta Derechos.
Para agregar una funcionalidad en Visual Studio:
En Visual Studio, asegúrate de que IDE está emparejado con un host de compilación de Mac. Para obtener más información, consulta Emparejar con Mac para el desarrollo de iOS.
En Visual Studio, habilita el aprovisionamiento automático para tu proyecto. Para obtener más información, consulta Habilitar el aprovisionamiento automático.
En Visual Studio, agrega un archivo Entitlements.plist a tu proyecto. Para obtener más información, consulta Agregar un archivo Entitlements.plist.
En Explorador de soluciones, haz doble clic en el archivo Entitlements.plist de la carpeta Platforms > iOS del proyecto de la aplicación .NET MAUI para abrirlo en el editor de derechos.
En el editor de derechos, selecciona y configura los derechos necesarios para la aplicación:
Guarda los cambios en el archivo Entitlements.plist para agregar los pares clave-valor de derechos al archivo y agregar el servicio de aplicaciones a tu identificador de aplicación.
También puede ser necesario establecer claves de privacidad en Info.plist para determinadas funcionalidades.
Agregar funcionalidades en tu cuenta de desarrollador de Apple
Todas las funcionalidades se pueden agregar al perfil de aprovisionamiento de la aplicación en tu cuenta de desarrollador de Apple. Este enfoque requiere el uso del aprovisionamiento manual y funciona con todas las funcionalidades. Para obtener más información sobre el aprovisionamiento manual, consulta Aprovisionamiento manual para aplicaciones iOS.
Agregar una funcionalidad en la cuenta de desarrollador de Apple es un proceso de varios pasos que requiere la creación de un identificador de aplicación, la creación de un perfil de aprovisionamiento y la habilitación del aprovisionamiento manual.
Al agregar una nueva funcionalidad al perfil de aprovisionamiento, también debes agregar la misma funcionalidad al archivo Entitlements.plist de la aplicación y asegurarte de que la aplicación consume este archivo. Para obtener más información, consulta Derechos. También puede ser necesario establecer claves de privacidad en Info.plist para determinadas funcionalidades.
Creación de un identificador de aplicación con App Service
Un identificador de aplicación es similar a una cadena DNS inversa, que identifica de forma única una aplicación y es necesaria para identificar la aplicación que estás distribuyendo. El identificador de aplicación debe ser idéntico al identificador del lote de tu aplicación.
Importante
El identificador de agrupación de una aplicación .NET MAUI se almacena en el archivo de proyecto como la propiedad Identificador de aplicación. En Visual Studio, en Explorador de soluciones, haz clic con el botón derecho en el proyecto de tu aplicación .NET MAUI y selecciona Propiedades. Después, accede a la pestaña Configuración de MAUI Compartido> General. El identificador de aplicación muestra el identificador de agrupación.
Cuando se actualiza el valor del campo Id. de aplicación, el valor de Identificador de agrupación en el archivo Info.plist se actualizará automáticamente.
Hay dos tipos de identificador de aplicación: explícito y comodín. Un identificador de aplicación explícito es único para una sola aplicación y normalmente adopta el formato com.domainname.myid
. Un identificador de aplicación explícito permite instalar una aplicación, con un identificador del lote coincidente, en un dispositivo. Los identificadores de aplicación explícitos son necesarios para las aplicaciones que habilitan funcionalidades específicas de la aplicación.
Se puede crear un identificador de aplicación explícito con los pasos siguientes:
En un explorador web, ve a la sección Identifiers de tu cuenta de desarrollador de Apple y haz clic en el botón +.
En la página Register a new identifier, selecciona App IDs y selecciona Continue.
En la página Register a new identifier, selecciona el tipo de aplicación y haz clic en el botón Continue.
En la página Register an App ID, proporciona una Description y establece el Bundle ID en Explicit. Después, escribe un identificador de aplicación con el formato
com.domainname.myid
:En la página Register an App ID, habilita las funcionalidades necesarias en las pestañas Capabilities y App Services:
En la página Register an App ID, haz clic en el botón Continue.
En la página Confirm your App ID, revisa la información y, luego, haz clic en el botón Register. Siempre que tu identificador de aplicación se registre correctamente, volverás a la sección Identificadores de la cuenta de desarrollador de Apple.
En la página Identifiers, haz clic en el identificador de aplicación que acabas de crear.
En la página Edit your App ID Configuration, cualquiera de tus funcionalidades habilitadas que requieran configuración adicional tendrán un botón Configure:
Haz clic en los botones Configurar para configurar las funcionalidades habilitadas. Para obtener más información, consulta Configure app capabilities en developer.apple.com.
Creación de un perfil de aprovisionamiento
Una vez que hayas creado un identificador de aplicación, deberás crear un perfil de aprovisionamiento para el identificador de aplicación. Esto requiere que hayas creado previamente un certificado de firma y hayas agregado un dispositivo a tu cuenta de desarrollador de Apple. Para obtener más información, consulta Crear un certificado de firma y Agregar un dispositivo.
Se puede crear un perfil de aprovisionamiento realizando lo siguiente:
En un explorador web, ve a la sección Profiles de tu cuenta de desarrollador de Apple y haz clic en el botón +.
En la página Register a New Provisioning Profile, en la sección Development selecciona iOS App Development (o un tipo de perfil de distribución en la sección Distribution) y pulsa el botón Continue:
En la página Generate a Provisioning Profile, selecciona tu identificador de aplicación y haz clic en el botón Continue:
En la página Generate a Provisioning Profile, selecciona los certificados que quieres incluir en el perfil de aprovisionamiento y luego haz clic en el botón Continue:
En la página Generate a Provisioning Profile, selecciona los dispositivos en los que se instalará la aplicación y luego haz clic en el botón Continue:
En la página Generate a Provisioning Profile, proporciona un nombre de perfil de aprovisionamiento y luego haz clic en el botón Generate:
Habilitación del aprovisionamiento manual
Una vez que hayas creado un perfil de aprovisionamiento, Visual Studio debe descargarlo y establecerlo como el perfil de aprovisionamiento para tu proyecto:
- En Visual Studio, descarga el perfil de aprovisionamiento que acabas de crear para que esté disponible para firmar tu aplicación. Para obtener más información, consulte Descarga de perfiles de aprovisionamiento.
- En Visual Studio, habilita el aprovisionamiento manual para tu proyecto. Para obtener más información, consulta Habilitar aprovisionamiento manual.
Solución de problemas
En la lista siguiente, se detallan los problemas comunes que pueden obstaculizar el desarrollo de una aplicación .NET MAUI iOS que usa funcionalidades:
- Asegúrate de que se haya creado y registrado el identificador de aplicación correcto en la sección Identifiers de tu cuenta de desarrollador de Apple.
- Asegúrate de que la funcionalidad se ha agregado al identificador de aplicación y de que la funcionalidad está configurada con los valores correctos.
- Asegúrate de que el perfil de aprovisionamiento se ha instalado en la máquina de desarrollo y de que el archivo Info.plist de la aplicación usa un identificador de lote idéntico a tu identificador de aplicación.
- Asegúrate de que el archivo Entitlements.plist de la aplicación tenga habilitados los derechos correctos.
- Asegúrate de que las claves de privacidad necesarias estén establecidas en Info.plist.
- Asegúrate de que la aplicación consume el archivo Entitlements.plist.