Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.
V hlášení o pádech systému macOS, tvOS a iOS se zobrazují trasování zásobníku pro všechna spuštěná vlákna vaší aplikace při pádu. Trasování zásobníku obsahuje pouze adresy paměti; neobsahuje názvy tříd, metody, názvy souborů ani čísla řádků, které jsou potřeba k pochopení chybových ukončení.
Abyste získali přeložené adresy paměti, musíte nahrát balíček dSYM do App Center, který obsahuje všechny informace potřebné pro symboliku. Další informace o symbolizaci najdete v oficiální dokumentaci apple pro vývojáře.
Služba Sestavení a distribuce App Center může automaticky vygenerovat platný soubor dSYM a soubor zdrojové mapy .zip a nahrát ho do diagnostické služby. Pokud k vytváření a automatické distribuci aplikace koncovým uživatelům používáte App Center, nemusíte soubory symbolů získávat a nahrávat ručně.
Nesymbolikované pády
Nesymbolikované pády jsou zobrazeny v sekci Diagnostika v App Center, takže můžete vidět některé podrobnosti, i když ještě nebyly nahrány symboly. Chybějící symboly z těchto chyb se zobrazí na kartě "Neznaménkované". Pokud se chybějící symboly nahrají, neskupinová skupina havárií bude nahrazena skupinou havárií, která je symbolikovaná.
Vyhledání .dSYM sady
- V Xcode otevřete nabídku Okno a pak vyberte Organizátor.
- Vyberte kartu Archivy .
- Vyberte aplikaci na levém bočním panelu.
- Klikněte pravým tlačítkem na nejnovější archiv a vyberte Zobrazit ve Finderu.
- Klikněte pravým tlačítkem myši na soubor ve Finderu
.xcarchivea vyberte Zobrazit obsah balíčku. - Měla by se zobrazit složka s názvem
dSYMs, která obsahuje sadu dSYM. - Vytvořte soubor ZIP sady dSYM.
Pokud používáte Visual Studio místo Xcode, podívejte se na Kde najdu soubor dSYM, abych mohl symbolikovat záznamy o pádech iOS? a vyhledejte soubor dSYM.
Nahrání symbolů
Portál centra aplikací
- Přihlaste se do App Center a vyberte svou aplikaci.
- V nabídce vlevo přejděte do části Diagnostika a vyberte Symboly.
- V pravém horním rohu klikněte na Nahrát symboly a nahrajte soubor.
- Jakmile jsou symboly indexovány App Centerem, chybová hlášení budou pro vás symbolizována.
Aplikace React Native pro iOS
Pokud chcete získat soubory symbolů pro soubory React Native pro iOS, vytvořte soubor ZIP s balíčkem dSYM na macu a na mapě zdroje JavaScriptu vaší aplikace. Zdrojová mapa by měla mít název index.ios.map. Následující příkazy vygenerují zdrojovou mapu pro sestavení finálních verzí.
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
Proces nahrávání symbolů prostřednictvím rozhraní API zahrnuje řadu tří volání rozhraní API: jedno pro přidělení místa na back-endu, jeden pro nahrání souboru a jeden pro aktualizaci stavu nahrávání. Tělo prvního volání rozhraní API by mělo být nastavené symbol_type na Apple.
- Aktivujte
POSTpožadavek na rozhraní API symbol_uploads. Toto volání přidělí místo na našem serverovém systému pro váš soubor a vrátísymbol_upload_idvlastnost aupload_urlvlastnost.
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}'
-
upload_urlPomocí vlastnosti vrácené z prvního kroku vytvořte požadavek s hlavičkouPUT:"x-ms-blob-type: BlockBlob"a zadejte umístění souboru na disku. Toto volání nahraje soubor do úložiště na našem backendu. Přečtěte si další informace o hlavičkách požadavku PUT Blob .
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- Vytvořte požadavek na API
PATCHpomocí vrácené vlastnosti z prvního kroku. V textu požadavku určete, jestli chcete nastavit stav nahrávání nacommittedproces nahrávání (úspěšně dokončeno), neboaborted(neúspěšně dokončeno).
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" }'
Poznámka:
Rozhraní API pro nahrávání symbolů nefunguje u souborů větších než 256 MB. K nahrání těchto souborů použijte rozhraní příkazového řádku App Center. Rozhraní příkazového řádku App Center můžete nainstalovat podle pokynů v úložišti rozhraní příkazového řádku App Center.
Rozhraní příkazového řádku App Center
Soubory symbolů můžete nahrát také pomocí rozhraní příkazového řádku:
appcenter crashes upload-symbols --symbol {symbol file}
Bitcode
Společnost Apple zavedla bitcode, aby umožnila, že aplikace odesílané do App Store může samotná přepracovat a aplikovat nejnovější optimalizaci. Pokud je povolen Bitcode, symboly vygenerované pro vaši aplikaci v obchodě se budou lišit od symbolů z vašeho vlastního systému sestavení.
Hlášení pádů v App Center zatím nepodporuje kompletní symbolizaci pádů z aplikací s podporou bitového kódu. Mezitím vám doporučujeme zakázat bitcode. Zakázání bitcode výrazně zjednodušuje správu symbolů a v současné době nemá žádné známé nevýhody pro aplikace pro iOS.
Zakázání bitového kódu pro vaši aplikaci
- V Xcode otevřete nastavení projektu kliknutím na prvek nejvyšší úrovně v Navigátoru projektu.
- Přejděte na stránku Nastavení sestavení
- Vyhledejte
bitcode. - Ve výsledku změňte hodnotu z Ano na Ne.
- Opětovné sestavení aplikace
S těmito jednoduchými kroky se hlášení chyb v App Center bude chovat obvyklým způsobem.
Načtení symbolů pro aplikace, které mají povolený bitcode
Pokud chcete zachovat povolený bitový kód, můžete stáhnout správné soubory dSYM pomocí následujícího postupu:
- Otevřete organizátor Xcode
- Vyberte konkrétní archiv aplikace, kterou jste nahráli do iTunes Connect.
- Klikněte na tlačítko Stáhnout dSYMs. Tento krok vloží zkompilované soubory dSYM Bitcode do původního archivu.
- Nahrajte symboly do odpovídající aplikace a verze do služby App Center
Pokud organizátor Xcode neposkytuje žádné nové symboly, musíte stáhnout soubory dSYM z portálu iTunes Connect pomocí následujícího postupu:
- Výběr aplikace na portálu iTunes Connect
- Vyberte záložku Aktivita nahoře
- Vyberte verzi buildu aplikace, která obsahuje chybějící symboly.
- Klikněte na odkaz Stáhnout dSYM.
- Nahrajte stažený soubor do App Center. Tento soubor obsahuje symboly potřebné k tomu, aby App Center symbolizoval vaše chybové ukončení.
Řešení potíží se symboly
Pokud se po nahrání symbolů a zakázání bitového kódu stále zobrazují chyby, může to být proto, že nahrané soubory dSYM neodpovídají souborům požadovaným službou App Center. Když nahrajete soubory dSYM, App Center je přiřazuje ke správné verzi aplikace na základě jejich identifikátorů UUID.
Při použití nástroje CLI nazvaného dwarfdump můžete znovu zkontrolovat, jestli mají vaše soubory dSYM správné identifikátory UUID.
- Vyhledejte UUID v souboru dSYM:
dwarfdump --u CrashProbeiOS.app.dSYM
- Výsledek by měl vypadat přibližně takto:
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
- Pečlivě zkontrolujte, jestli vrácený identifikátor UUID odpovídá identifikátorům UUID zobrazeným v dialogovém okně symbolů ladění:
Ignorování symbolů
Pokud App Center neobsahuje všechny soubory symbolů potřebné ke kompletní symbolizaci hlášení o chybách, jsou chyby uvedeny na kartě Nesymbolizované. Požadované symboly mohou být nahrány z této stránky, pokud k nim máte přístup.
Pokud symboly nemůžete nahrát, můžete je označit jako Ignorované tak, že vyberete řádky v tabulce a kliknete na tlačítko Ignorovat verze . Toto tlačítko instruuje App Center, aby zpracovával pády a symbolikoval je s využitím dostupných symbolů. Jakmile zpracování dokončí, zobrazí se na záložce Pády částečně symbolizováno. Nové chyby, které také závisejí na stejných ID symbolů označených jako ignorované, vynechají kartu Unsymbolicated, jakmile projdou systémem.