Compartir a través de


Funcionalidades de Mac Catalyst

En Mac Catalyst 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 los recursos del sistema y la aplicación o los datos del usuario. Apple proporciona funcionalidades (a veces llamadas App Services) como método para extender la funcionalidad y ampliar el alcance de lo que pueden hacer las aplicaciones de Mac Catalyst. 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 de agrupación de la aplicación, con las funcionalidades necesarias habilitadas. El perfil de aprovisionamiento debe crearse en la 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. Para obtener más información sobre los derechos, consulta Derechos.

Agregar funcionalidades en tu cuenta de desarrollador de Apple

Las funcionalidades se pueden agregar al perfil de aprovisionamiento de la aplicación en tu cuenta de desarrollador de Apple. Se trata de un proceso de varios pasos que requiere la creación de un certificado de firma, un identificador de aplicación y un perfil de aprovisionamiento.

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 certificado de firma

La creación de un perfil de aprovisionamiento requiere que hayas creado previamente un certificado de firma. El tipo de certificado de firma depende del canal de distribución previsto para tu aplicación:

Creación de una 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 del lote.

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:

  1. En un explorador web, ve a la sección Identifiers de tu cuenta de desarrollador de Apple y haz clic en el botón +.

  2. En la página Register a new identifier, selecciona App IDs y selecciona Continue.

  3. En la página Register a new identifier, selecciona el tipo de aplicación y haz clic en el botón Continue.

  4. 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:

    Captura de pantalla de la página de registro del nuevo identificador de aplicación con los campos obligatorios rellenados.

  5. En la página Register an App ID, habilita las funcionalidades necesarias en las pestañas Capabilities y App Services:

    Captura de pantalla de las funcionalidades habilitadas.

  6. En la página Register an App ID, haz clic en el botón Continue.

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

  8. En la página Identifiers, haz clic en el identificador de aplicación que acabas de crear.

  9. 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:

    Captura de pantalla de las funcionalidades de edición.

    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, debes crear un perfil de aprovisionamiento para este. El perfil de aprovisionamiento que crees también dependerá del canal de distribución previsto para la aplicación:

Descarga del perfil de aprovisionamiento en Xcode

Después de crear un perfil de aprovisionamiento en la cuenta de desarrollador de Apple, Xcode puede descargarlo para que esté disponible para firmar la aplicación:

  1. En el equipo Mac, inicia Xcode.

  2. En Xcode, selecciona el elemento de menú Xcode > Preferencias....

  3. En el cuadro de diálogo Preferencias, selecciona la pestaña Cuentas.

  4. En la pestaña Cuentas, haz clic en el botón + para agregar la cuenta de desarrollador de Apple a Xcode:

    Cuadro de diálogo Cuentas de Xcode en preferencias.

  5. En el menú emergente de tipo de cuenta, selecciona ID de Apple y después haz clic en el botón Continuar:

    Xcode selecciona el tipo de cuenta a la que quieres agregarle el elemento emergente.

  6. En el menú emergente de inicio de sesión, escribe el ID de Apple y haz clic en el botón Siguiente.

  7. En el menú emergente de inicio de sesión, escribe la contraseña de ID de Apple y haz clic en el botón Siguiente :

    Inicio de sesión de la cuenta de Apple de Xcode.

  8. En la pestaña Cuentas, haz clic en el botón Administrar certificados... para asegurarte de que se ha descargado el certificado de distribución.

  9. En la pestaña Cuentas, haz clic en el botónDescargar perfiles manuales para descargar los perfiles de aprovisionamiento:

    Detalles de la cuenta del Programa de desarrolladores de Apple de Xcode.

  10. Espera a que se complete la descarga y luego cierra Xcode.

Definición de propiedades de compilación en el archivo del proyecto

El archivo de proyecto de tu aplicación debe actualizarse para usar el certificado de firma, el perfil de aprovisionamiento y el archivo de derechos. Esto se puede lograr agregando las siguientes propiedades de compilación a un <PropertyGroup> en el archivo del proyecto:

Propiedad Valor
<CodesignKey> Nombre de la clave de firma de código. Establécelo en el nombre del certificado de distribución, tal como se muestra en Keychain Access.
<CodesignEntitlements> Ruta de acceso al archivo de derechos que especifica los derechos que requiere la aplicación. Establézcalo en Platforms\MacCatalyst\Entitlements.plist.
<CodesignProvision> Nombre del perfil de aprovisionamiento que se va a usar para firmar.
<EnableCodeSigning> Establécelo en true para que la firma de código esté habilitada.

En el ejemplo siguiente se muestra un grupo de propiedades típico para compilar y firmar la aplicación Mac Catalyst para la distribución de Mac App Store:

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
  <EnableCodeSigning>True</EnableCodeSigning>
  <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

Solución de problemas

En la lista siguiente se detallan los problemas comunes que pueden causar problemas al desarrollar una aplicación Mac Catalyst .NET MAUI que usa funcionalidades:

  • Asegúrate de que se ha creado y registrado el identificador de aplicación correcto en la sección Identificadores de la 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.