Migración de HockeySDK al SDK de App Center para 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.

Siga esta documentación si desea actualizar la aplicación para usar el SDK de App Center en lugar de HockeySDK.

1. Actualización de las bibliotecas

1.1 Quitar hockeySDK antiguo

Manual

Si ha agregado manualmente el SDK, siga estos pasos:

  1. Quite HockeySDK.embeddedframework la referencia del proyecto XCode. Haga clic en el botón Quitar referencia y no haga clic en el botón Mover a la papelera .

  2. Abra la configuración del proyecto y, en la pestaña Configuración de compilación, en las secciones Rutas de búsqueda del marco de búsqueda de encabezados / , quite las ubicaciones de los archivos de encabezado relacionados con HockeySDK.

  3. Abra la configuración del proyecto y, en la pestaña Fases de compilación, en la sección Vincular binario con bibliotecas , quite las entradas de dependencia relacionadas con HockeySDK.

  4. Elimine HockeySDK.embeddedframework del sistema de archivos.

Podfile

Si ha agregado el SDK mediante CocoaPods, quite la pod "HockeySDK" línea del podfile y, a continuación, ejecute pod install.

Carthage

  1. Quite las referencias de HockeySDK de Cartfile. Elimine Cartfile.Resolved del sistema de archivos.

  2. Elimine HockeySDK.framework y HockeySDK.framework.dSYM del proyecto XCode y haga clic en el botón Mover a la papelera .

  3. Abra la pestaña Fases de compilación y busque la sección Ejecutar script . Quite HockeyApp de input.xcfilelist y output.xcfilelist.

1.2 Incorporación del nuevo SDK de App Center

El SDK de App Center admite la integración a través de Cocoapods, Carthage, Swift Package Manager y mediante los marcos del proyecto de Xcode. Lea instrucciones detalladas sobre cómo integrar el SDK de App Center en la documentación del SDK de App Center.

Nota

El SDK de App Center está diseñado con un enfoque modular para que pueda usar cualquiera o todos los servicios. Vea las equivalencias en la tabla siguiente:

HockeyApp (clase) Módulo de App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Actualización del código de instalación del SDK

2.1 Convertir el identificador de aplicación

El SDK de App Center usa identificadores de aplicación en el formato de identificador único global (GUID). App Id. de HockeyApp se puede usar en App Center, pero debe convertirlo a un formato diferente. Para convertir el identificador, debe agregar cuatro guiones para obtener una representación 8-4-4-4-12.

Antes (HockeyApp): 00112233445566778899aabbccddeeff

Después (App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 Reemplazar la inicialización del SDK en el código de la aplicación

  1. Reemplace las siguientes importaciones en la clase AppDelegate .

    Antes:

    @import HockeySDK;
    
    import HockeySDK
    

    Después:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    @import AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. Reemplazar el código de registro

    Busque el didFinishLaunchingWithOptions método y reemplace las repeticiones de código de HockeyApp.

    Antes:

    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
    
    BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER")
    BITHockeyManager.shared().start()
    BITHockeyManager.shared().authenticator.authenticateInstallation()
    

    Después:

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

    Nota

    El SDK de App Center no tiene equivalentes para [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate].

  3. [Opcional] Modificar info.plist del proyecto

    Si piensa usar Distribute, siga los pasos anteriores:

    • Agregue una nueva clave para URL types o CFBundleURLTypes en el archivo Info.plist (en caso de que XCode muestre info.plist como código fuente).
    • Cambie la clave del primer elemento secundario a URL Schemes o CFBundleURLSchemes.
    • Escriba appcenter-${APP_SECRET} como esquema de dirección URL y reemplace por ${APP_SECRET} el secreto de aplicación de la aplicación.

    Para obtener más información sobre esto, consulte la documentación de Distribución de App Center.

  4. Reemplace las llamadas API de HockeyApp en toda la aplicación. A continuación se indican las tablas detalladas de asignación de API.

3. Comparación de servicios y características

Core

Característica HockeyApp App Center
Ajuste del nivel de registro [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
Identificación de instalaciones [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
Identificación de usuarios [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

Análisis

HockeySDK permite recopilar métricas por valor predeterminado. El SDK de App Center registra el servicio Analytics solo si pasa Analytics la clase al start método .

Característica HockeyApp App Center
Seguimiento automático de sesiones No se puede deshabilitar Documentación (no se puede deshabilitar)
Eventos personalizados con propiedades [MSACAnalytics trackEvent:withProperties:]
Deshabilitación del servicio en tiempo de ejecución [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Bloqueos

HockeySDK habilita los informes de bloqueos por valor predeterminado. Los bloqueos se enviarán inmediatamente al servidor la próxima vez que se inicie la aplicación. El SDK de App Center registra el servicio Bloqueos solo si pasa Crashes la clase al start método .

Característica HockeyApp App Center
Envío automático de bloqueos [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] Documentación (habilitada de forma predeterminada)
Generación de un bloqueo de prueba [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
Información sobre el bloqueo anterior [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Control de excepciones mach Deshabilitado de forma predeterminada Documentación (habilitada de forma predeterminada)
Adjuntar metadatos adicionales Documentación (se puede adjuntar desde el delegado)
Cuadro de diálogo Personalizar usuario setAlertViewHandler Documentación (no proporcionada de forma predeterminada)
Deshabilitación del servicio en tiempo de ejecución [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

Distribución

Nota

A diferencia de HockeyApp, la característica actualizaciones desde la aplicación de App Center solo funcionará con compilaciones que se distribuyen mediante el servicio App Center Distribute. Distribuir no funcionará cuando se adjunte el depurador. Si la aplicación usa un grupo de distribución privado, una vez instalada y abierta la aplicación por primera vez después de agregar el SDK de Distribución de App Center, se abrirá un explorador para autenticar al usuario y habilitar las actualizaciones desde la aplicación. Este explorador también se abrirá si establece la pista de actualización privada en la aplicación en tiempo de ejecución. Se trata de un paso único que no se producirá para las versiones posteriores de la aplicación. Consulte la documentación de Distribución de App Center para obtener más detalles.

HockeySDK no habilita las actualizaciones desde la aplicación de forma predeterminada. El SDK de App Center registra el servicio de actualizaciones en la aplicación solo si pasa Distribute la clase al start método . Este módulo está habilitado de forma predeterminada, a diferencia de hockeySDK.

Característica HockeyApp App Center
Actualizaciones restringidas en la aplicación [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
Deshabilitación del servicio en tiempo de ejecución [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
Personalización del cuadro de diálogo de actualización shouldDisplayUpdateAlertForUpdateManager Documentación