Condividi tramite


Eseguire la migrazione da HockeySDK a App Center SDK per iOS

Importante

Visual Studio App Center è previsto per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Seguire questa documentazione se si vuole aggiornare l'applicazione per usare App Center SDK anziché HockeySDK.

1. Aggiornare le librerie

1.1 Rimuovere il vecchio hockeySDK

Manuale

Se l'SDK è stato aggiunto manualmente, seguire questa procedura:

  1. Rimuovere HockeySDK.embeddedframework riferimenti dal progetto XCode. Fare clic sul pulsante Rimuovi riferimento , non fare clic sul pulsante Sposta nel cestino .

  2. Aprire le impostazioni del progetto e nella scheda Impostazioni di compilazione nelle sezioni Percorsi di ricerca del framework di ricerca / intestazione rimuovere i percorsi per i file di intestazione correlati a HockeySDK.

  3. Aprire le impostazioni del progetto e nella scheda Fasi di compilazione nella sezione Collegamento binario con librerie rimuovere le voci di dipendenza correlate a HockeySDK.

  4. Eliminare HockeySDK.embeddedframework dal file system.

Podfile

Se è stato aggiunto l'SDK usando CocoaPods, rimuovere la pod "HockeySDK" riga dal podfile, quindi eseguire pod install.

Carthage

  1. Rimuovere riferimenti HockeySDK dall'oggetto Cartfile. Eliminare Cartfile.Resolved dal file system.

  2. Eliminare HockeySDK.framework e HockeySDK.framework.dSYM dal progetto XCode e fare clic sul pulsante Sposta nel cestino .

  3. Aprire la scheda Fasi di compilazione e individuare la sezione Esegui script . Rimuovere HockeyApp da input.xcfilelist e output.xcfilelist.

1.2 Aggiungere il nuovo SDK di App Center

App Center SDK supporta l'integrazione tramite Cocoapods, Carthage, Swift Package Manager e usando i Framework nel progetto Xcode. Leggere istruzioni dettagliate su come integrare App Center SDK nella documentazione di App Center SDK.

Nota

App Center SDK è progettato con un approccio modulare in modo da poter usare qualsiasi o tutti i servizi. Vedere le equivalenze nella tabella successiva:

Classe HockeyApp Modulo di App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Aggiornare il codice di installazione dell'SDK

2.1 Convertire l'identificatore dell'applicazione

App Center SDK usa gli identificatori dell'applicazione nel formato GUID (Global Unique Identifier). L'ID app HockeyApp può essere usato da App Center, ma è necessario convertirlo in un formato diverso. Per convertire l'identificatore è necessario aggiungere quattro trattini per ottenere una rappresentazione 8-4-4-4-12.

Prima (HockeyApp): 00112233445566778899aabbccddeeff

Dopo (App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 Sostituire l'inizializzazione SDK nel codice dell'applicazione

  1. Sostituire le importazioni seguenti nella classe AppDelegate .

    Prima di:

    @import HockeySDK;
    
    import HockeySDK
    

    Dopo:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    @import AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. Sostituire il codice di registrazione

    Trovare il metodo e sostituire occorrenze di didFinishLaunchingWithOptions codice HockeyApp.

    Prima di:

    [[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()
    

    Dopo:

    [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

    App Center SDK non ha equivalenti per [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate].

  3. [Facoltativo] Modificare l'info.plist del progetto

    Se si intende usare Distribute, seguire questa procedura:

    • Aggiungere una nuova chiave per URL types o CFBundleURLTypes nel file Info.plist (nel caso in cui XCode visualizzi info.plist come codice sorgente).
    • Modificare la chiave del primo elemento figlio in URL Schemes o CFBundleURLSchemes.
    • Immettere appcenter-${APP_SECRET} come schema URL e sostituire ${APP_SECRET} con il segreto app dell'app.

    Per altre informazioni su questo argomento, vedere la documentazione di Distribuzione di App Center.

  4. Sostituire le chiamate API HockeyApp in tutta l'applicazione. Di seguito sono riportate le tabelle di mapping delle API dettagliate.

3. Servizi e confronto delle funzionalità

Core

Funzionalità HockeyApp App Center
Regolare il livello di log [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
Identificare le installazioni [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
Identificare gli utenti [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

Analisi

HockeySDK abilita la raccolta delle metriche per impostazione predefinita. App Center SDK registra il servizio Analytics solo se si passa Analytics la classe al start metodo.

Funzionalità HockeyApp App Center
Tenere traccia automatica delle sessioni Non è possibile disabilitare Documentazione (non può essere disabilitata)
Eventi personalizzati con proprietà [MSACAnalytics trackEvent:withProperties:]
Disabilitare il servizio in fase di esecuzione [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Crashes

HockeySDK consente di segnalare l'arresto anomalo per impostazione predefinita. Gli arresti anomali verranno inviati immediatamente al server alla successiva avvio dell'app. App Center SDK registra arresti anomali solo se si passa Crashes la classe al start metodo.

Funzionalità HockeyApp App Center
Invia automaticamente arresti anomali [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] Documentazione (abilitata per impostazione predefinita)
Generare un arresto anomalo del test [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
Informazioni sull'arresto anomalo precedente [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Gestione delle eccezioni mach Disattivato per impostazione predefinita Documentazione (abilitata per impostazione predefinita)
Collegare metadati aggiuntivi Documentazione (può essere collegata dal delegato)
Personalizzare la finestra di dialogo utente setAlertViewHandler Documentazione (non fornita per impostazione predefinita)
Disabilitare il servizio in fase di esecuzione [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

Distribuzione

Nota

A differenza di HockeyApp, la funzionalità aggiornamenti in-app di App Center funzionerà SOLO con le compilazioni distribuite usando il servizio Distribuzione di App Center. La distribuzione non funzionerà quando il debugger è collegato. Se l'app usa un gruppo di distribuzione privato, dopo l'installazione e l'apertura dell'app per la prima volta dopo l'aggiunta di App Center Distribute SDK, verrà aperto un browser per autenticare l'utente e abilitare gli aggiornamenti in-app. Questo browser verrà aperto anche se si imposta la traccia di aggiornamento privato in-app in fase di esecuzione. Si tratta di un passaggio one-time che non si verificherà per le versioni successive dell'app. Per altre informazioni, vedere la documentazione di Distribuzione di App Center .

HockeySDK non abilita gli aggiornamenti in-app per impostazione predefinita. App Center SDK registra il servizio aggiornamenti in-app solo se si passa Distribute la classe al start metodo. Questo modulo è abilitato per impostazione predefinita, a differenza di HockeySDK.

Funzionalità HockeyApp App Center
Aggiornamenti in-app con restrizioni [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
Disabilitare il servizio in fase di esecuzione [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
Personalizzare la finestra di dialogo di aggiornamento shouldDisplayUpdateAlertForUpdateManager Documentazione