Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
Raporty awarii systemów macOS, tvOS i iOS pokazują ścieżki stosu dla wszystkich uruchomionych wątków aplikacji w momencie wystąpienia awarii. Ślady stosu zawierają tylko adresy pamięci; nie są to nazwy klas, metody, nazwy plików ani numery wierszy potrzebne do zrozumienia awarii.
Aby uzyskać przetłumaczone adresy pamięci, należy przekazać pakiet dSYM do usługi App Center, który zawiera wszystkie informacje wymagane do obsługi symbolicznej. Więcej informacji na temat symbolizacji można znaleźć w oficjalnej dokumentacji dewelopera firmy Apple.
Usługa kompilacji i dystrybucji centrum aplikacji może automatycznie wygenerować prawidłowy plik dSYM i plik mapy .zip źródłowej oraz przekazać go do usługi diagnostyki. Jeśli używasz usługi App Center do kompilowania i automatycznego dystrybuowania aplikacji do użytkowników końcowych, nie musisz ręcznie uzyskiwać i przekazywać plików symboli.
Niesymbolicowane awarie
Niezasymbolikowane awarie są wyświetlane w sekcji Diagnostyka App Center, dzięki czemu można zobaczyć pewne szczegóły jeszcze przed przesłaniem symboli. Brakujące symbole z tych awarii zostaną wyświetlone na karcie "niesymbolizowane". Jeśli brakujące symbole zostaną przesłane, grupa awarii niesymbolizowanych zostanie zastąpiona przez grupę awarii symbolizowanych.
Znajdowanie pakietu .dSYM
- W programie Xcode otwórz menu Okno , a następnie wybierz pozycję Organizator.
- Wybierz kartę Archiwa .
- Wybierz aplikację na lewym pasku bocznym.
- Kliknij prawym przyciskiem myszy najnowsze archiwum i wybierz polecenie Pokaż w programie Finder.
- Kliknij prawym przyciskiem
.xcarchivemyszy plik w programie Finder i wybierz polecenie Pokaż zawartość pakietu. - Powinien zostać wyświetlony folder o nazwie
dSYMszawierający pakiet dSYM. - Utwórz plik zip pakietu dSYM.
Jeśli używasz programu Visual Studio zamiast programu Xcode, zobacz Gdzie mogę znaleźć plik dSYM do symbolicznego tworzenia dzienników awarii systemu iOS? w celu znalezienia pliku dSYM.
Przesyłanie symboli
Portal Centrum aplikacji
- Zaloguj się do Centrum aplikacji i wybierz aplikację.
- W menu po lewej stronie przejdź do sekcji Diagnostyka i wybierz pozycję Symbole.
- W prawym górnym rogu kliknij pozycję Przekaż symbole i przekaż plik.
- Gdy symbole zostaną zaindeksowane przez App Center, awarie zostaną zsymbolizowane dla Ciebie.
Aplikacje React Native dla systemu iOS
Aby uzyskać pliki symboli dla plików React Native iOS, utwórz plik ZIP zawierający pakiet dSYM na komputerze Mac oraz mapę źródłową JavaScript swojej aplikacji. Mapa źródłowa powinna mieć nazwę index.ios.map. Poniższe polecenia wygenerują mapę źródłową kompilacji wydania:
react-native bundle --entry-file index.ios.js --platform ios --dev false --reset-cache --bundle-output unused.jsbundle --sourcemap-output index.ios.map
Centrum aplikacji API
Proces przekazywania symboli za pośrednictwem interfejsu API obejmuje serię trzech wywołań interfejsu API: jeden do przydzielenia miejsca na zapleczu, jeden do przekazania pliku i jeden w celu zaktualizowania stanu przekazywania. Treść pierwszego wywołania interfejsu API powinna ustawić symbol_type na Apple.
- Wyzwalanie
POSTżądania do interfejsu API symbol_uploads. To wywołanie przydziela miejsce na naszym zapleczu dla twojego pliku i zwraca właściwośćsymbol_upload_idoraz właściwość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}'
-
upload_urlUżywając właściwości zwróconej w pierwszym kroku, utwórzPUTżądanie z nagłówkiem :"x-ms-blob-type: BlockBlob"i podaj lokalizację pliku na dysku. To wywołanie przekazuje plik do kont magazynu zaplecza. Dowiedz się więcej o nagłówkach żądań PUT blob.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
-
PATCHPrześlij żądanie do interfejsu API symbol_uploads przy użyciusymbol_upload_idwłaściwości zwróconej w pierwszym kroku. W treści żądania określ, czy chcesz ustawić stan procesu przekazywania nacommitted(pomyślnie ukończony), czyaborted(zakończony niepowodzeniem).
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" }'
Uwaga / Notatka
Interfejs API przekazywania symboli nie działa w przypadku plików większych niż 256 MB. Użyj App Center CLI, aby przekazać te pliki. Interfejs wiersza polecenia centrum aplikacji można zainstalować, postępując zgodnie z instrukcjami w repozytorium interfejsu wiersza polecenia centrum aplikacji.
App Center CLI
Możesz również użyć interfejsu wiersza polecenia, aby przekazać pliki symboli:
appcenter crashes upload-symbols --symbol {symbol file}
Kod bitowy
Kod bitowy został wprowadzony przez firmę Apple, aby umożliwić aplikacjom wysyłanym do sklepu App Store ponowne skompilowanie przez firmę Apple i zastosowanie najnowszej optymalizacji. Jeśli kod bitowy jest włączony, symbole wygenerowane dla aplikacji w sklepie będą inne niż te z własnego systemu kompilacji.
Raportowanie awarii w usłudze App Center nie obsługuje jeszcze symboliczności awarii z aplikacji z obsługą kodu bitowego. W międzyczasie zalecamy wyłączenie kodu bitowego. Wyłączenie kodu bitowego znacznie upraszcza zarządzanie symbolami i obecnie nie ma żadnych znanych wad dla aplikacji systemu iOS.
Wyłączanie kodu bitowego dla aplikacji
- W programie Xcode otwórz ustawienia projektu, klikając element najwyższego poziomu w nawigatorze projektu
- Przejdź do strony Ustawienia kompilacji
- Wyszukaj
bitcode - W wyniku zmień wartość z Tak na Nie
- Ponowne kompilowanie aplikacji
W przypadku tych prostych kroków raportowanie awarii usługi App Center będzie zachowywać się jak zwykle.
Pobieranie symboli dla aplikacji z obsługą kodu bitowego
Jeśli chcesz zachować włączony kod bitowy, możesz pobrać odpowiednie pliki dSYM, wykonując następujące kroki:
- Otwórz organizatora programu Xcode
- Wybierz określone archiwum aplikacji przekazanej do programu iTunes Connect
- Kliknij przycisk "Pobierz dSYMs". Ten krok spowoduje wstawienie skompilowanych plików dSYM Bitcode do oryginalnego archiwum.
- Prześlij symbole do odpowiedniej aplikacji i wersji w Centrum App
Jeśli organizator Xcode nie udostępnia żadnych nowych symboli, musisz pobrać pliki dSYM z portalu iTunes Connect, wykonując następujące kroki:
- Wybieranie aplikacji w portalu iTunes Connect
- Wybierz kartę Działanie u góry
- Wybierz wersję kompilacji aplikacji z brakującymi symbolami
- Kliknij link Pobierz dSYM
- Przekaż pobrany plik do Centrum aplikacji. Ten plik zawiera symbole wymagane przez Centrum Aplikacji do zdesymbolizowania awarii.
Rozwiązywanie problemów z symbolami
Jeśli awarie nadal pojawiają się niesymbolicowane po przekazaniu symboli i wyłączeniu kodu bitowego, może to być spowodowane tym, że przekazane pliki dSYM nie są zgodne z tymi wymaganymi przez Centrum aplikacji. Po przekazaniu plików dSYM centrum aplikacji dopasuje je do odpowiedniej wersji aplikacji na podstawie ich identyfikatorów UUID.
Możesz dokładnie sprawdzić, czy pliki dSYM mają odpowiednie identyfikatory UUID, używając narzędzia interfejsu wiersza polecenia o nazwie dwarfdump.
- Znajdź identyfikator UUID w pliku dSYM:
dwarfdump --u CrashProbeiOS.app.dSYM
- Wynik powinien wyglądać mniej więcej tak:
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
- Sprawdź dokładnie, czy zwrócony identyfikator UUID jest zgodny z identyfikatorami UUID wyświetlanymi w oknie dialogowym symboli debugowania:
Ignorowanie symboli
Gdy App Center nie ma wszystkich plików symboli, aby całkowicie zsymbolizować raporty awarii, awarie są wyświetlane na karcie Unsymbolicated. Wymagane symbole są przesyłane z tej strony, jeśli masz do nich dostęp.
Jeśli nie możesz załadować symboli, możesz oznaczyć je jako ignorowane wybierając wiersze w tabeli i klikając przycisk Ignoruj wersje. Ten przycisk poleca App Center przetwarzanie awarii i jak najdokładniejsze symbolizowanie ich przy użyciu dostępnych symboli. Po zakończeniu przetwarzania zostaną one wyświetlone na karcie Awarie częściowo symboliczne. Nowe awarie, które również zależą od tych samych identyfikatorów symboli oznaczonych jako ignorowane, pominą kartę Unsymbolicated w miarę ich przetwarzania w systemie.