Introducción a iOS

Importante

Visual Studio App Center está programado para la retirada el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo de soporte técnico y las alternativas.

El SDK de App Center usa una arquitectura modular para que pueda usar cualquiera o todos los servicios.

Puede encontrar información sobre los datos recopilados por App Center sobre los datos recopilados por los SDK de App Center, el Reglamento general de protección de datos y las páginas de preguntas más frecuentes . Además, las preguntas más frecuentes contienen las respuestas que debe proporcionar para App Store configuración de privacidad.

Comencemos a configurar el SDK de iOS de App Center en la aplicación para usar App Center Analytics y Bloqueos de App Center. Para agregar App Center Distribute a la aplicación, consulte la documentación de App Center Distribute.

1. Prerrequisitos

Se deben cumplir los siguientes requisitos para usar el SDK de App Center:

  • El proyecto de iOS está configurado en Xcode 13 o posterior en macOS versión 10.14.4 o posterior.
  • Tiene como destino dispositivos que se ejecutan en ios 11.0 o posterior.
  • No usa ninguna otra biblioteca que proporcione funcionalidad de informes de bloqueos (solo para bloqueos de App Center).
  • Si usa CocoaPods para integrar App Center, necesita CocoaPods versión 1.10 o posterior.

Análisis y bloqueos del SDK de App Center son compatibles con Mac Catalyst a través de XCFramework o SwiftPM.

2. Creación de la aplicación en el portal de App Center para obtener el secreto de la aplicación

Si ya ha creado la aplicación en el portal de App Center, puede omitir este paso.

  1. Vaya a appcenter.ms.
  2. Regístrese o inicie sesión y presione el botón azul en la esquina superior derecha del portal que dice Agregar nuevo y seleccione Agregar nueva aplicación en el menú desplegable.
  3. Escriba un nombre y una descripción opcional para la aplicación.
  4. Seleccione iOS como sistema operativo y Objective-C/Swift como plataforma.
  5. Presione el botón situado en la parte inferior derecha que dice Agregar nueva aplicación.

Una vez que haya creado una aplicación, puede obtener su secreto de aplicación en la página Configuración del portal de App Center. En la esquina superior derecha de la página Configuración , haga clic en los puntos verticales triples y seleccione Copy app secret para obtener el secreto de la aplicación.

3. Adición de los módulos del SDK de App Center

El SDK de App Center para iOS se puede agregar a la aplicación a través de Cocoapods, Carthage, Swift Package Manager o agregando manualmente los archivos binarios al proyecto.

Nota

En la 4.0.0 versión de App Center se introdujeron cambios importantes. Siga la sección Migrar a App Center SDK 4.0.0 y versiones posteriores para migrar App Center desde versiones anteriores.

3.1 Integración a través de Cocoapods

Nota

Los simuladores ARM64 (cuando se inician desde Xcode que se ejecutan en Apple Silicon Mac) no se admiten a través de CocoaPods, considere la posibilidad de usar otros métodos de integración para que funcionen.

  1. Agregue las siguientes dependencias a podfile para incluir App Center Analytics y App Center Crashes en la aplicación. Esta acción extrae los siguientes marcos: AppCenter, AppCenterAnalytics y AppCenterCrashes. En su lugar, puede especificar los servicios que desee en la aplicación. Cada servicio tiene su propia subspección y todas dependen de AppCenter. Se extraerá automáticamente.

     # Use the following line to use App Center Analytics and Crashes.x
     pod 'AppCenter'
    
     # Use the following lines if you want to specify which service you want to use.
     pod 'AppCenter/Analytics'
     pod 'AppCenter/Crashes'
     pod 'AppCenter/Distribute'
    
  2. Ejecute pod install para instalar el pod recién definido y abrir el proyecto .xcworkspace.

Nota

Si ve un error como [!] Unable to find a specification for `AppCenter` al ejecutar pod install, ejecute pod repo update para obtener los pods más recientes del repositorio Cocoapods y, a continuación, ejecute pod install.

Ahora que ha integrado los marcos de trabajo en la aplicación, es el momento de iniciar el SDK y usar los servicios de App Center.

3.2 Integración a través de Carthage

A continuación se muestran los pasos para integrar el SDK de App Center en el proyecto de Xcode mediante Carthage versión 0.30 o posterior, un administrador de dependencias descentralizado que compila las dependencias y proporciona marcos binarios.

Nota

La integración de Carthage no funciona de forma predeterminada en Xcode 12. Para que funcione, consulte esta instrucción de Carthage.

  1. Agregue las siguientes dependencias a Cartfile para incluir App Center. Estas dependencias extraen todos los marcos de trabajo. A continuación, solo puede vincular esos marcos que quiera usar en la aplicación.

    # Use the following line to get the latest version of App Center
    github "microsoft/appcenter-sdk-apple"
    
    # Use the following line to get the specific version of App Center
    github "microsoft/appcenter-sdk-apple" ~> X.X.X
    
  2. Ejecute carthage update para capturar las dependencias en una carpeta Carthage/Checkouts . A continuación, compile cada marco de trabajo.

  3. Abra la pestaña Configuración general del destino de la aplicación. Arrastre y coloque los archivos AppCenter.framework, AppCenterAnalytics.framework y AppCenterCrashes.framework desde la carpeta Carthage/Build/iOS en Project Navigator de Xcode. El archivo AppCenter.framework es necesario para iniciar el SDK. Si no se agrega al proyecto, los demás módulos no funcionarán y la aplicación no se compilará.

  4. Aparecerá un cuadro de diálogo y asegúrese de que el destino de la aplicación esté activado. Haga clic en Finalizar.

    Nota

    Si usa carthage copy-frameworks en la fase de compilación , no debe agregar los SDK de App Center allí, ya que se envían como marcos estáticos.

Ahora que ha integrado los marcos de trabajo en la aplicación, es el momento de iniciar el SDK y usar los servicios de App Center.

3.3 Integración a través del Administrador de paquetes Swift

  1. En el menú Xcode, haga clic en File Swift Packages > Add Package Dependency (Agregar dependencia de paquetes swift de archivo>).
  2. En el cuadro de diálogo que aparece, escriba la dirección URL del repositorio: https://github.com/microsoft/appcenter-sdk-apple.git.
  3. En Versión, seleccione Hasta siguiente principal y tome la opción predeterminada.
  4. Elija los módulos que necesita en la columna Package Product (Producto de paquete ).

Ahora que ha integrado los marcos de trabajo en la aplicación, es el momento de iniciar el SDK y usar los servicios de App Center.

Nota

Si va a integrar App Center a través de SwiftPM y quiere usarlo también en el destino de la extensión de la aplicación, asegúrese de proporcionar DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC=YES en la configuración. Esto es necesario para evitar limitaciones de SwiftPM al vincular un módulo a varios destinos.

3.4 Integración mediante la copia de los archivos binarios en el proyecto

A continuación se muestran los pasos para integrar los archivos binarios compilados en el proyecto de Xcode para configurar App Center Analytics y App Center Crashes para la aplicación iOS.

Nota

El SDK de App Center admite el uso de XCframework. Si desea integrar XCframeworks en el proyecto, descargue el AppCenter-SDK-Apple-XCFramework.zip de la página de versiones y descomprímalo . El contenido de la carpeta resultante no es específico de la plataforma, sino que contiene XCframeworks para cada módulo. Se pueden integrar de la misma manera que los marcos habituales, como se describe a continuación.

  1. Descargue los marcos del SDK de App Center proporcionados como un archivo ZIP.

  2. Descomprima el archivo y verá una carpeta denominada AppCenter-SDK-Apple que contiene diferentes marcos para cada servicio de App Center en cada carpeta de la plataforma. El marco llamado AppCenter es necesario en el proyecto, ya que contiene código que se comparte entre los distintos módulos.

  3. [Opcional] Cree un subdirectorio para bibliotecas de terceros.

    • Como procedimiento recomendado, las bibliotecas de terceros suelen estar en un subdirectorio, a menudo denominada Vendor. Si el proyecto no está organizado con un subdirectorio para bibliotecas, cree un subdirectorio Vendor ahora.
    • Cree un grupo llamado Vendor dentro del proyecto de Xcode para imitar la estructura de archivos en el disco.
  4. Abra la carpeta AppCenter-SDK-Apple descomprimida en Finder y copie la carpeta en la carpeta del proyecto en la ubicación donde quiera. La carpeta contiene marcos en subcarpetas para otras plataformas que admite el SDK de App Center, por lo que es posible que tenga que eliminar subcarpetas que no necesite.

  5. Agregue los marcos del SDK al proyecto en Xcode:

    • Asegúrese de que project Navigator esté visible (⌘+1).
    • Ahora, arrastre & coloque AppCenter.framework, AppCenterAnalytics.framework y AppCenterCrashes.framework desde el Finder (en la ubicación del paso anterior) en project Navigator de Xcode. AppCenter.framework es necesario para iniciar el SDK. Si no se agrega al proyecto, los demás módulos no funcionarán y la aplicación no se compilará.
    • Aparecerá un cuadro de diálogo y asegúrese de que el destino de la aplicación esté activado. Haga clic en Finalizar.

Ahora que ha integrado los marcos en la aplicación, es el momento de iniciar el SDK y usar los servicios de App Center.

4. Iniciar el SDK

Para usar App Center, opte por los módulos que quiera usar. De forma predeterminada, no se inicia ningún módulo y debe llamar a cada uno al iniciar el SDK.

Las instrucciones siguientes son ligeramente diferentes en función del ciclo de vida que use. A partir de Xcode 12, puede seleccionar uno de los dos ciclos de vida: "Aplicación de interfaz de usuario swift" (seleccionada de forma predeterminada en Xcode 12) y "UI Kit AppDelegate". Si va a desarrollar para una extensión, consulte la página Introducción a la extensión.

4.1 Adición de las instrucciones import

Abra el archivo AppDelegate del proyecto (para el ciclo de vida de AppDelegate del kit de interfaz de usuario) o <el archivo App.swift projectName> (para el ciclo de vida de la aplicación de interfaz de usuario de Swift) y agregue las siguientes instrucciones de importación:

@import AppCenter;
@import AppCenterAnalytics;
@import AppCenterCrashes;
import AppCenter
import AppCenterAnalytics
import AppCenterCrashes

4.2 Agregar el start:withServices: método

AppDelegate del kit de interfaz de usuario

Agregue código de inicialización al didFinishLaunchingWithOptions método delegado:

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])

Ciclo de vida de la aplicación de interfaz de usuario de Swift

Para asegurarse de que el SDK de App Center funciona correctamente con la interfaz de usuario de Swift, inicialícelo una vez cargada la interfaz de usuario. La manera más sencilla de lograrlo es mediante uiApplicationDelegate:

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
          AppCenter.start(withAppSecret: "{Your App Secret}", services:[
            Crashes.self, Analytics.self, Distribute.self])
        return true
    }
}

Después, use UIApplicationDelegateAdaptor en struct:

@main
struct YourAppName: App {

  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

Si tiene una aplicación Catalyst, puede pasar secretos de aplicación para iOS y macOS al mismo tiempo:

AppCenter.start(withAppSecret:"ios={Your iOS App Secret};macos={Your macOS App Secret}", services: [Analytics.self, Crashes.self])

Advertencia

No se recomienda insertar el secreto de aplicación en el código fuente.

Si necesita iniciar los servicios de App Center por separado, debe hacer lo siguiente:

  1. Configure o inícielo con el secreto de aplicación.
  2. Si se puede llamar al código varias veces, compruebe si app Center ya está configurado.
  3. Inicie los servicios necesarios sin el secreto de la aplicación.
[MSACAppCenter configureWithAppSecret:@"{Your App Secret}"];
if ([MSACAppCenter isConfigured]) {
   [MSACAppCenter startService:[MSACAnalytics class]];
   [MSACAppCenter startService:[MSACCrashes class]];
}
AppCenter.configure(withAppSecret: "{Your App Secret}")
if AppCenter.isConfigured {
    AppCenter.startService(Analytics.self)
    AppCenter.startService(Crashes.self)
}

4.3 Reemplace el marcador de posición por el secreto de la aplicación

Asegúrese de reemplazar {Your App Secret} texto por el valor real de la aplicación. El secreto de aplicación se puede encontrar en la página Introducción o en la página Configuración del portal de App Center.

La página Introducción contiene el ejemplo de código anterior con el secreto de aplicación en ella, puede copiar y pegar todo el ejemplo.

En el ejemplo anterior se muestra cómo usar el start:withServices método (start(withAppSecret:services:) para Swift) e incluir app Center Analytics y Bloqueos de App Center.

Si no desea usar uno de los dos servicios, quite el parámetro correspondiente de la llamada al método anterior.

A menos que especifique explícitamente cada módulo como parámetro en el método start, no puede usar ese servicio de App Center. Además, la start:withServices API (start(withAppSecret:services:) para Swift) solo se puede usar una vez en el ciclo de vida de la aplicación; todas las demás llamadas registrarán una advertencia en la consola y solo estarán disponibles los módulos incluidos en la primera llamada.

Por ejemplo: si quiere incorporar a App Center Analytics, debe modificar la start:withServices llamada API (start(withAppSecret:services:) para Swift) como se indica a continuación:

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self])

Genial, todo está configurado para visualizar los datos de Análisis y Bloqueos en el portal que el SDK recopila automáticamente.

Consulte los documentos de Análisis de App Center y los documentos de Bloqueos de App Center para aprender a personalizar y usar funcionalidades más avanzadas de ambos servicios.

Para obtener información sobre cómo empezar a trabajar con las actualizaciones desde la aplicación, lea la documentación de App Center Distribute.