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:
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 .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.
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.
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
Quite las referencias de HockeySDK de
Cartfile
. ElimineCartfile.Resolved
del sistema de archivos.Elimine
HockeySDK.framework
yHockeySDK.framework.dSYM
del proyecto XCode y haga clic en el botón Mover a la papelera .Abra la pestaña Fases de compilación y busque la sección Ejecutar script . Quite HockeyApp de
input.xcfilelist
youtput.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
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
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]
.[Opcional] Modificar info.plist del proyecto
Si piensa usar Distribute, siga los pasos anteriores:
- Agregue una nueva clave para
URL types
oCFBundleURLTypes
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
oCFBundleURLSchemes
. - 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.
- Agregue una nueva clave para
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 | Sí | [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 | Sí | 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 |