Migrieren vom HockeySDK zum App Center SDK für iOS

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie eine Migration in Betracht ziehen können.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Befolgen Sie diese Dokumentation, wenn Sie Ihre Anwendung aktualisieren möchten, um das App Center SDK anstelle von HockeySDK zu verwenden.

1. Aktualisieren der Bibliotheken

1.1 Altes HockeySDK entfernen

Manuell

Wenn Sie das SDK manuell hinzugefügt haben, führen Sie die folgenden Schritte aus:

  1. Entfernen Sie HockeySDK.embeddedframework den Verweis aus dem XCode-Projekt. Klicken Sie auf die Schaltfläche Verweis entfernen , und klicken Sie nicht auf in den Papierkorb verschieben .

  2. Öffnen Sie Ihre Projekteinstellungen, und entfernen Sie auf der Registerkarte Buildeinstellungen in den Abschnitten Headersuchpfade / Framework-Suchpfade die Speicherorte für Headerdateien im Zusammenhang mit HockeySDK.

  3. Öffnen Sie Ihre Projekteinstellungen, und entfernen Sie auf der Registerkarte Buildphasen im Abschnitt Binärdatei mit Bibliotheken verknüpfen die Abhängigkeitseinträge im Zusammenhang mit HockeySDK.

  4. Löschen Sie HockeySDK.embeddedframework aus dem Dateisystem.

Podfile

Wenn Sie das SDK mithilfe von CocoaPods hinzugefügt haben, entfernen Sie die pod "HockeySDK" Zeile aus der Podfile-Datei, und führen Sie dann aus pod install.

Carthage

  1. Entfernen Sie HockeySDK-Verweise aus dem Cartfile. Löschen Sie Cartfile.Resolved aus dem Dateisystem.

  2. Löschen Sie HockeySDK.framework und HockeySDK.framework.dSYM aus dem XCode-Projekt, und klicken Sie auf die Schaltfläche In Papierkorb verschieben .

  3. Öffnen Sie die Registerkarte Buildphasen, und suchen Sie den Abschnitt Skript ausführen . Entfernen Sie HockeyApp aus und input.xcfilelistoutput.xcfilelist.

1.2 Hinzufügen des neuen App Center SDK

Das App Center SDK unterstützt die Integration über Cocoapods, Carthage, Swift Package Manager und die Frameworks in Ihrem Xcode-Projekt. Ausführliche Anweisungen zum Integrieren des App Center SDK finden Sie in der App Center SDK-Dokumentation.

Hinweis

Das App Center SDK ist mit einem modularen Ansatz konzipiert, sodass Sie beliebige oder alle Dienste verwenden können. Sehen Sie sich die Äquivalenzen in der nächsten Tabelle an:

HockeyApp-Klasse App Center-Modul
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Aktualisieren des SDK-Setupcodes

2.1 Konvertieren des Anwendungsbezeichners

Das App Center SDK verwendet Anwendungsbezeichner im GUID-Format (Globally Unique Identifier). Ihre HockeyApp-App-ID kann von App Center verwendet werden, sie muss jedoch in ein anderes Format konvertiert werden. Um den Bezeichner zu konvertieren, müssen Sie vier Bindestriche hinzufügen, um eine 8-4-4-4-4-12-Darstellung zu erhalten.

Vor (HockeyApp): 00112233445566778899aabbccddeeff

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

2.2 Ersetzen der SDK-Initialisierung im Anwendungscode

  1. Ersetzen Sie die folgenden Importe in Ihrer AppDelegate-Klasse .

    Vorher:

    @import HockeySDK;
    
    import HockeySDK
    

    Nachher:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    @import AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. Ersetzen des Registrierungscodes

    Suchen Sie die didFinishLaunchingWithOptions -Methode, und ersetzen Sie HockeyApp-Codevorkommnisse.

    Vorher:

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

    Nachher:

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

    Hinweis

    App Center SDK verfügt nicht über Entsprechungen für [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate].

  3. [Optional] Ändern der Info.plist des Projekts

    Wenn Sie "Verteilen" verwenden möchten, führen Sie die oben genannten Schritte aus:

    • Fügen Sie einen neuen Schlüssel für URL types oder CFBundleURLTypes in Der Datei Info.plist hinzu (für den Fall, dass XCode Ihre Info.plist als Quellcode anzeigt).
    • Ändern Sie den Schlüssel des ersten untergeordneten Elements in URL Schemes oder CFBundleURLSchemes.
    • Geben Sie appcenter-${APP_SECRET} als URL-Schema ein, und ersetzen Sie durch ${APP_SECRET} das App-Geheimnis Ihrer App.

    Weitere Informationen hierzu finden Sie in der App Center-Dokumentation zum Verteilen.

  4. Ersetzen Sie HockeyApp-API-Aufrufe in der gesamten Anwendung. Die detaillierten API-Zuordnungstabellen sind unten aufgeführt.

3. Vergleich von Diensten und Features

Core

Funktion HockeyApp App Center
Anpassen der Protokollebene [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
Identifizieren von Installationen [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
Identifizieren von Benutzern [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

Analyse

Das HockeySDK ermöglicht standardmäßig die Erfassung von Metriken. Das App Center SDK registriert den Analytics-Dienst nur, wenn Sie die -Klasse an die start -Methode übergebenAnalytics.

Funktion HockeyApp App Center
Automatisches Nachverfolgen von Sitzungen Kann nicht deaktiviert werden Dokumentation (kann nicht deaktiviert werden)
Benutzerdefinierte Ereignisse mit Eigenschaften Yes [MSACAnalytics trackEvent:withProperties:]
Deaktivieren des Diensts zur Laufzeit [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Crashes

Das HockeySDK aktiviert standardmäßig die Absturzberichterstattung. Abstürze werden sofort an den Server gesendet, wenn die App das nächste Mal gestartet wird. App Center SDK registriert den Dienst "Absturz" nur, wenn Sie die -Klasse an die start -Methode übergebenCrashes.

Funktion HockeyApp App Center
Automatisches Senden von Abstürze [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] Dokumentation (standardmäßig aktiviert)
Generieren eines Testabsturzes [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
Informationen zum vorherigen Absturz [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Mach-Ausnahmebehandlung Standardmäßig deaktiviert Dokumentation (standardmäßig aktiviert)
Anfügen zusätzlicher Metadaten Yes Dokumentation (kann vom Delegaten angefügt werden)
Dialogfeld "Benutzer anpassen" setAlertViewHandler Dokumentation (standardmäßig nicht bereitgestellt)
Deaktivieren des Diensts zur Laufzeit [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

Verteilen

Hinweis

Im Gegensatz zu HockeyApp funktioniert das App Center-Feature für In-App-Updates NUR mit Builds, die mithilfe des App Center-Verteilungsdiensts verteilt werden. Verteilen funktioniert nicht, wenn der Debugger angefügt ist. Wenn die App eine private Verteilergruppe verwendet, wird nach der Installation und dem ersten Öffnen der App Center Distribution SDK ein Browser geöffnet, um den Benutzer zu authentifizieren und In-App-Updates zu aktivieren. Dieser Browser wird auch geöffnet, wenn Sie zur Laufzeit die private In-App-Updatespur festlegen. Dies ist ein einmaliger Schritt, der für nachfolgende Versionen Ihrer App nicht ausgeführt wird. Weitere Informationen finden Sie in der App Center-Dokumentation zum Verteilen .

Das HockeySDK aktiviert standardmäßig keine In-App-Updates. App Center SDK registriert den In-App-Updatedienst nur, wenn Sie die Klasse an die start -Methode übergebenDistribute. Dieses Modul ist im Gegensatz zum HockeySDK standardmäßig aktiviert.

Funktion HockeyApp App Center
Eingeschränkte In-App-Updates [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
Deaktivieren des Diensts zur Laufzeit [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
Anpassen des Aktualisierungsdialogfelds shouldDisplayUpdateAlertForUpdateManager Dokumentation