Delen via


iOS-symbolicatie

Belangrijk

Visual Studio App Center is op 31 maart 2025 buiten gebruik gesteld, met uitzondering van de functies analyse en diagnose, die tot 30 juni 2026 nog steeds worden ondersteund. Meer informatie.

macOS-, tvOS- en iOS-crashrapporten tonen de stacktraceringen voor alle actieve threads van uw app op het moment dat er een crash is opgetreden. De stacktraceringen bevatten alleen geheugenadressen; geen klassenamen, methoden, bestandsnamen of regelnummers die nodig zijn om de crashes te begrijpen.

Als u de vertaalde geheugenadressen wilt ophalen, moet u een dSYM-pakket uploaden naar App Center, dat alle informatie bevat die vereist is voor symbolische opmaak. Meer informatie over symbolische informatie vindt u in de officiële documentatie voor ontwikkelaars van Apple.

De App Center Build and Distribution-service kan automatisch een geldig dSYM- en brontoewijzingsbestand .zip genereren en het bestand uploaden naar de diagnostische service. Als u App Center gebruikt om uw app te bouwen en automatisch te distribueren naar uw eindgebruikers, hoeft u de symboolbestanden niet handmatig te verkrijgen en te uploaden.

Niet-symbolische crashes

Niet-symbolische crashes worden weergegeven in de sectie Diagnostische gegevens van App Center, zodat u bepaalde details zelfs kunt bekijken voordat u symbolen uploadt. De ontbrekende symbolen van deze crashes worden weergegeven op het tabblad 'niet-symbolisch'. Als de ontbrekende symbolen worden geüpload, wordt de niet-symbolische crashgroep vervangen door een symbolische crashgroep.

.dSYM De bundel zoeken

  1. Open in Xcode het menu Venster en selecteer Vervolgens Organizer.
  2. Selecteer het tabblad Archieven .
  3. Selecteer uw app in de linkerzijbalk.
  4. Klik met de rechtermuisknop op het meest recente archief en selecteer Weergeven in Finder.
  5. Klik met de rechtermuisknop op het .xcarchive bestand in Finder en selecteer Pakketinhoud weergeven.
  6. U ziet nu een map met de naam dSYMs die uw dSYM-bundel bevat.
  7. Maak een zip-bestand van de dSYM-bundel.

Als u Visual Studio gebruikt in plaats van Xcode, raadpleegt u Waar vind ik het dSYM-bestand om iOS-crashlogboeken symbolisch te maken? om het dSYM-bestand te vinden.

Symbolen uploaden

App Center-portal

  1. Meld u aan bij App Center en selecteer uw app.
  2. Navigeer in het linkermenu naar de sectie Diagnostische gegevens en selecteer Symbolen.
  3. Klik in de rechterbovenhoek op Symbolen uploaden en upload het bestand.
  4. Nadat de symbolen zijn geïndexeerd door App Center, worden crashes voor u gesymboleerd.

React Native iOS-apps

Als u symboolbestanden voor React Native iOS-bestanden wilt verkrijgen, maakt u een ZIP-bestand met het dSYM-pakket op uw Mac en de JavaScript-bronkaart van uw app. De bronkaart moet de naam index.ios.maphebben. Met de onderstaande opdrachten wordt de bronkaart voor release-builds gegenereerd.

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

Het proces voor het uploaden van symbolen via de API omvat een reeks van drie API-aanroepen: een om ruimte toe te wijzen aan onze back-end, één om het bestand te uploaden en één om de status van de upload bij te werken. De hoofdtekst van de eerste API-aanroep moet zijn ingesteld op symbol_typeApple.

  1. Activeer een POST verzoek aan de symbol_uploads-API. Met deze aanroep wordt ruimte toegewezen aan onze back-end voor uw bestand en wordt een symbol_upload_id en een upload_url eigenschap geretourneerd.
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. Gebruik de upload_url eigenschap die is geretourneerd uit de eerste stap en voer een PUT aanvraag in met de header: "x-ms-blob-type: BlockBlob" en geef de locatie van uw bestand op schijf op. Met deze aanroep wordt het bestand geüpload naar onze back-endopslagaccounts. Meer informatie over PUT Blob-aanvraagheaders .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Maak een PATCH verzoek aan de symbol_uploads-API met behulp van de symbol_upload_id eigenschap die in de eerste stap is geretourneerd. Geef in de hoofdtekst van de aanvraag op of u de status van de upload wilt instellen op committed (voltooid) het uploadproces of aborted (mislukt voltooid).
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" }'

Opmerking

De API voor het uploaden van symbolen werkt niet voor bestanden die groter zijn dan 256 MB. Gebruik de App Center CLI om deze bestanden te uploaden. U kunt de App Center CLI installeren door de instructies in de CLI-opslagplaats van App Center te volgen.

App Center CLI

U kunt de CLI ook gebruiken om symboolbestanden te uploaden:

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

Bitcode

Bitcode is geïntroduceerd door Apple om toe te staan dat apps die naar de App Store worden verzonden, opnieuw worden gecompileerd door Apple zelf en de meest recente optimalisatie toepassen. Als Bitcode is ingeschakeld, zijn de symbolen die zijn gegenereerd voor uw app in de Store anders dan die van uw eigen buildsysteem.

App Center-crashrapportage biedt nog geen volledige ondersteuning voor de symbolische symboliek van crashes van bitcode-apps. Ondertussen raden we u aan bitcode uit te schakelen. Het uitschakelen van bitcode vereenvoudigt het beheer van symbolen aanzienlijk en heeft momenteel geen bekende nadelen voor iOS-apps.

Bitcode voor uw app uitschakelen

  1. Open uw projectinstellingen in Xcode door te klikken op het element op het hoogste niveau in Project Navigator
  2. Ga naar de pagina Build-instellingen
  3. Zoeken naar bitcode
  4. Wijzig in het resultaat de waarde van Ja in Nee
  5. Uw app opnieuw bouwen

Met deze eenvoudige stappen gedraagt App Center-crashrapportage zich zoals gebruikelijk.

Symbolen ophalen voor apps met bitcode

Als u bitcode ingeschakeld wilt houden, kunt u de juiste dSYM-bestanden downloaden door de volgende stappen uit te voeren:

  1. Xcode-organizer openen
  2. Selecteer het specifieke archief van uw app die u hebt geüpload naar iTunes Connect
  3. Klik op de knop DSYM's downloaden. Met deze stap worden de Bitcode-gecompileerde dSYM-bestanden aan het oorspronkelijke archief toegevoegd.
  4. De symbolen uploaden naar de bijbehorende app en versie in App Center

Als de Xcode-organisator geen nieuwe symbolen biedt, moet u de dSYM-bestanden downloaden vanuit de iTunes Connect-portal door de volgende stappen uit te voeren:

  1. Selecteer uw app in de iTunes Connect-portal
  2. Selecteer het tabblad Activiteit bovenaan
  3. Selecteer de buildversie van uw app met de ontbrekende symbolen
  4. Klik op de koppeling dSYM downloaden
  5. Upload het gedownloade bestand naar App Center. Dit bestand bevat de symbolen die nodig zijn zodat App Center uw crashes kan symboliseren.

Problemen met symbolen oplossen

Als uw crashes nog steeds onsymbolisch worden weergegeven na het uploaden van symbolen en het uitschakelen van bitcode, komt dit mogelijk doordat de geüploade dSYM-bestanden niet overeenkomen met de bestanden die door App Center zijn vereist. Wanneer u dSYM-bestanden uploadt, combineert App Center ze met de juiste app-versie op basis van hun UUID's.

U kunt controleren of uw dSYM-bestanden de juiste UUID's hebben met behulp van een CLI-hulpprogramma genaamd dwergdump.

  1. Zoek de UUID in het dSYM-bestand:
dwarfdump --u CrashProbeiOS.app.dSYM
  1. Het resultaat ziet er ongeveer als volgt uit:
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. Controleer of de geretourneerde UUID overeenkomt met de UUID's die worden weergegeven in het dialoogvenster foutopsporingssymbolen:

In App Center wordt de UUID van de vereiste symbolen weergegeven

Symbolen negeren

Wanneer App Center niet alle symboolbestanden bevat om crashrapporten volledig symbolisch te maken, worden de crashes weergegeven op het tabblad Onsymbolisch. De vereiste symbolen worden vanaf deze pagina geüpload als u er toegang toe hebt.

Als u de symbolen niet kunt uploaden, kunt u deze markeren als Genegeerd door rijen in de tabel te selecteren en op de knop Versies negeren te klikken. Deze knop geeft App Center de opdracht om de crashes te verwerken en ze zo volledig mogelijk te symboliseren met de beschikbare symbolen in de database. Zodra de verwerking is voltooid, worden ze gedeeltelijk gesymboliseerd weergegeven op het tabblad Crashes. Nieuwe crashes die ook afhankelijk zijn van dezelfde symbool-id's die zijn gemarkeerd als genegeerd, omzeilen het tabblad Niet-symbolisch terwijl ze binnenkomen en door het systeem stromen.