Freigeben über


iOS-Symbolik

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.

In macOS-, tvOS- und iOS-Absturzberichten werden die Stapelüberwachungen für alle ausgeführten Threads Ihrer App zum Zeitpunkt des Absturzes angezeigt. Die Stapelüberwachungen enthalten nur Speicheradressen. keine Klassennamen, Methoden, Dateinamen oder Zeilennummern, die zum Verstehen der Abstürze erforderlich sind.

Um die Speicheradressen zu übersetzen, müssen Sie ein dSYM-Paket in App Center hochladen, das alle informationen enthält, die für die Symbolik erforderlich sind. Weitere Informationen zur Symbolik finden Sie in der offiziellen Entwicklerdokumentation von Apple.

Der App Center-Build- und Verteilungsdienst kann automatisch eine gültige dSYM- und Quellzuordnungsdatei .zip generieren und die Datei in den Diagnosedienst hochladen. Wenn Sie App Center verwenden, um Ihre App zu erstellen und automatisch an Ihre Endbenutzer zu verteilen, müssen Sie die Symboldateien nicht manuell abrufen und hochladen.

Nicht symbolische Abstürze

Nichtsymbolische Abstürze werden im Abschnitt App Center-Diagnose angezeigt, sodass Sie einige Details anzeigen können, bevor Sie Symbole hochladen. Die fehlenden Symbole aus diesen Abstürze werden auf der Registerkarte "unsymbolicated" angezeigt. Wenn die fehlenden Symbole hochgeladen werden, wird die nichtsymbolische Absturzgruppe durch eine symbolische Absturzgruppe ersetzt.

Suchen des Bundles .dSYM

  1. Öffnen Sie in Xcode das Menü Fenster , und wählen Sie dann Organisator aus.
  2. Wählen Sie die Registerkarte Archive aus.
  3. Wählen Sie Ihre App auf der linken Randleiste aus.
  4. Klicken Sie mit der rechten Maustaste auf das neueste Archiv, und wählen Sie Im Finder anzeigen aus.
  5. Klicken Sie im Finder mit der rechten Maustaste auf die .xcarchive Datei, und wählen Sie Paketinhalt anzeigen aus.
  6. Es sollte ein Ordner namens angezeigt dSYMs werden, der Ihr dSYM-Paket enthält.
  7. Erstellen Sie eine ZIP-Datei des dSYM-Pakets.

Wenn Sie Visual Studio anstelle von Xcode verwenden, finden Sie unter Wo finde ich die dSYM-Datei, um iOS-Absturzprotokolle zu symbolisch zu machen? die dSYM-Datei zu finden.

Hochladen von Symbolen

App Center-Portal

  1. Melden Sie sich App Center an, und wählen Sie Ihre App aus.
  2. Navigieren Sie im linken Menü zum Abschnitt Diagnose , und wählen Sie Symbole aus.
  3. Klicken Sie in der oberen rechten Ecke auf Symbole hochladen , und laden Sie die Datei hoch.
  4. Nachdem die Symbole von App Center indiziert wurden, werden Abstürze für Sie symbolisch dargestellt.

React Native iOS-Apps

Um Symboldateien für React Native iOS-Dateien abzurufen, erstellen Sie eine ZIP-Datei mit dem dSYM-Paket auf Ihrem Mac und der JavaScript-Quellzuordnung Ihrer App. Die Quellzuordnung sollte den Namen haben index.ios.map. Die folgenden Befehle generieren die Quellzuordnung für Releasebuilds:

react-native bundle --entry-file index.ios.js --platform ios --dev false --reset-cache --bundle-output unused.jsbundle --sourcemap-output index.ios.map

App Center-API

Der Prozess zum Hochladen von Symbolen über die API umfasst eine Reihe von drei API-Aufrufen: einer zum Zuweisen von Speicherplatz auf unserem Back-End, einer zum Hochladen der Datei und einer zum Aktualisieren der status des Uploads. Der Text des ersten API-Aufrufs sollte auf festgelegt symbol_type werden Apple.

  1. Lösen Sie eine POST Anforderung an die symbol_uploads-API aus. Dieser Aufruf ordnet Speicherplatz auf unserem Back-End für Ihre Datei zu und gibt eine symbol_upload_id - und eine -Eigenschaft zurück upload_url .
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{JSON BODY}'
  1. Erstellen Sie mithilfe der upload_url eigenschaft, die aus dem ersten Schritt zurückgegeben wurde, eine PUT Anforderung mit dem Header: "x-ms-blob-type: BlockBlob" und geben Sie den Speicherort Ihrer Datei auf dem Datenträger an. Dieser Aufruf lädt die Datei in unsere Back-End-Speicherkonten hoch. Erfahren Sie mehr über PUT-Blob-Anforderungsheader .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Senden Sie eine PATCH Anforderung an die symbol_uploads-API , indem Sie die symbol_upload_id Eigenschaft verwenden, die aus dem ersten Schritt zurückgegeben wurde. Geben Sie im Text der Anforderung an, ob Sie die status des Uploads auf committed den Uploadvorgang (erfolgreich abgeschlossen) oder aborted (nicht erfolgreich abgeschlossen) festlegen möchten.
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{ "status": "committed" }'

Hinweis

Die Symbolupload-API funktioniert nicht für Dateien, die größer als 256 MB sind. Verwenden Sie die App Center-Befehlszeilenschnittstelle, um diese Dateien hochzuladen. Sie können die App Center-CLI installieren, indem Sie die Anweisungen in unserem App Center-CLI-Repository befolgen.

App Center-CLI

Sie können auch die CLI verwenden, um Symboldateien hochzuladen:

appcenter crashes upload-symbols --symbol {symbol file}

Bitcode

Bitcode wurde von Apple eingeführt, damit Apps, die an die App Store gesendet werden, von Apple selbst neu kompiliert und die neueste Optimierung angewendet werden können. Wenn Bitcode aktiviert ist, unterscheiden sich die Symbole, die für Ihre App im Store generiert werden, von denen aus Ihrem eigenen Buildsystem.

App Center-Absturzberichte unterstützen die Symbolischen Abstürzen von Bitcode-fähigen Apps noch nicht vollständig. In der Zwischenzeit empfehlen wir Ihnen, bitcode zu deaktivieren. Das Deaktivieren von Bitcode vereinfacht die Symbolverwaltung erheblich und hat derzeit keine bekannten Nachteile für iOS-Apps.

Deaktivieren von Bitcode für Ihre App

  1. Öffnen Sie in Xcode Ihre Projekteinstellungen, indem Sie im Projektnavigator auf das Element der obersten Ebene klicken.
  2. Wechseln Zur Seite "Buildeinstellungen"
  3. Suchen Sie nach bitcode.
  4. Ändern Sie im Ergebnis den Wert von Ja in Nein.
  5. Neuerstellen Ihrer App

Mit diesen einfachen Schritten verhält sich die App Center-Absturzberichterstattung wie gewohnt.

Abrufen von Symbolen für Bitcode-aktivierte Apps

Wenn Sie Bitcode aktivieren möchten, können Sie die richtigen dSYM-Dateien herunterladen, indem Sie die folgenden Schritte ausführen:

  1. Öffnen des Xcode-Organisators
  2. Wählen Sie das spezifische Archiv Ihrer App aus, das Sie in iTunes Connect hochgeladen haben.
  3. Klicken Sie auf die Schaltfläche "Download dSYMs". In diesem Schritt werden die mit Bitcode kompilierten dSYM-Dateien in das originale Archiv eingefügt.
  4. Hochladen der Symbole in die entsprechende App und Version im App Center

Wenn der Xcode-Organizer keine neuen Symbole bereitstellt, müssen Sie die dSYM-Dateien aus dem iTunes Connect-Portal herunterladen, indem Sie die folgenden Schritte ausführen:

  1. Wählen Sie Ihre App im iTunes Connect-Portal aus.
  2. Wählen Sie oben die Registerkarte Aktivität aus.
  3. Wählen Sie die Buildversion Ihrer App mit den fehlenden Symbolen aus.
  4. Klicken Sie auf den Link dSYM herunterladen.
  5. Laden Sie die heruntergeladene Datei in App Center hoch. Diese Datei enthält die Symbole, die für App Center erforderlich sind, um Ihre Abstürze symbolisch zu machen.

Behandeln von Symbolproblemen

Wenn Ihre Abstürze nach dem Hochladen von Symbolen und dem Deaktivieren von Bitcode weiterhin unsymbolisch angezeigt werden, liegt dies möglicherweise daran, dass die hochgeladenen dSYM-Dateien nicht mit den für App Center erforderlichen Dateien übereinstimmen. Wenn Sie dSYM-Dateien hochladen, ordnet App Center sie basierend auf ihren UUIDs der richtigen App-Version zu.

Sie können überprüfen, ob Ihre dSYM-Dateien über die richtigen UUIDs verfügen, indem Sie ein CLI-Tool namens dwarfdump verwenden.

  1. Suchen Sie die UUID in der dSYM-Datei:
dwarfdump --u CrashProbeiOS.app.dSYM
  1. Das Ergebnis sollte in etwa wie folgt aussehen:
UUID:ADF53C85-4638-3EFF-A33C-42C13A18E915 (armv7)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
UUID:D449E33D-7E74-379D-8B79-15EE104ED1DF (arm64)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
  1. Überprüfen Sie, ob die zurückgegebene UUID mit den im Dialogfeld "Debugsymbolen" angezeigten UUIDs übereinstimmt:

App Center zeigt die UUID der erforderlichen Symbole an.

Ignorieren von Symbolen

Wenn App Center nicht über alle Symboldateien verfügt, um Absturzberichte vollständig zu symbolieren, werden die Abstürze auf der Registerkarte Unsymbolicated aufgeführt. Die erforderlichen Symbole werden von dieser Seite hochgeladen, wenn Sie Zugriff darauf haben.

Wenn Sie die Symbole nicht hochladen können, können Sie sie als Ignoriert markieren, indem Sie Zeilen in der Tabelle auswählen und auf die Schaltfläche Versionen ignorieren klicken. Diese Schaltfläche weist App Center an, die Abstürze zu verarbeiten und sie so vollständig wie möglich mit den in der Datei gespeicherten Symbolen zu symbolisieren. Nachdem sie die Verarbeitung abgeschlossen haben, werden sie auf der Registerkarte Abstürze teilweise symbolisch dargestellt angezeigt. Neue Abstürze, die auch von den gleichen Symbol-IDs abhängen, die als ignoriert markiert sind, umgehen die Registerkarte Unsymbolicated , wenn sie eintreffen und durch das System fließen.