Bagikan melalui


Simbolikasi iOS

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Laporan crash macOS, tvOS, dan iOS menampilkan jejak tumpukan untuk semua utas aplikasi yang sedang berjalan pada saat crash terjadi. Jejak tumpukan hanya berisi alamat memori; bukan nama kelas, metode, nama file, atau nomor baris yang diperlukan untuk memahami crash.

Untuk mendapatkan alamat memori yang diterjemahkan, Anda perlu mengunggah paket dSYM ke App Center, yang berisi semua informasi yang diperlukan untuk simbolikasi. Anda dapat mempelajari lebih lanjut simbolikasi dari dokumentasi pengembang resmi Apple.

Layanan Build dan Distribusi App Center dapat secara otomatis menghasilkan file dSYM dan peta .zip sumber yang valid dan mengunggah file ke layanan Diagnostik. Jika Anda menggunakan App Center untuk membuat dan mendistribusikan aplikasi secara otomatis ke pengguna akhir, Anda tidak perlu mendapatkan dan mengunggah file simbol secara manual.

Crash yang tidak sinkmbolik

Crash yang tidak terimbolikasi ditampilkan di bagian Diagnostik App Center sehingga Anda dapat melihat beberapa detail bahkan sebelum mengunggah simbol. Simbol yang hilang dari crash ini akan ditampilkan di tab "tidak resymbolikasi". Jika simbol yang hilang diunggah, grup crash yang tidak resymbolikasi akan digantikan oleh grup crash simbolis.

Menemukan .dSYM bundel

  1. Di Xcode, buka menu Jendela , lalu pilih Pengatur.
  2. Pilih tab Arsip .
  3. Pilih aplikasi Anda di bilah sisi kiri.
  4. Klik kanan pada arsip terbaru dan pilih Tampilkan di Finder.
  5. .xcarchive Klik kanan file di Finder dan pilih Tampilkan Konten Paket.
  6. Anda akan melihat folder bernama dSYMs yang berisi bundel dSYM Anda.
  7. Buat file zip bundel dSYM.

Jika Anda menggunakan Visual Studio alih-alih Xcode, lihat Di mana saya dapat menemukan file dSYM untuk melambangkan log crash iOS? untuk menemukan file dSYM.

Mengunggah simbol

Portal Pusat Aplikasi

  1. Masuk ke App Center dan pilih aplikasi Anda.
  2. Di menu sebelah kiri, navigasikan ke bagian Diagnostik dan pilih Simbol.
  3. Di sudut kanan atas, klik Unggah simbol dan unggah file.
  4. Setelah simbol diindeks oleh App Center, crash akan dilambangkan untuk Anda.

React Native aplikasi iOS

Untuk mendapatkan file simbol untuk React Native file iOS, buat file ZIP dengan paket dSYM di Mac Anda dan peta sumber JavaScript aplikasi Anda. Peta sumber harus diberi nama index.ios.map. Perintah di bawah ini akan menghasilkan peta sumber untuk build rilis:

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

Proses untuk mengunggah simbol melalui API melibatkan serangkaian tiga panggilan API: satu untuk mengalokasikan ruang di backend kami, satu untuk mengunggah file, dan satu untuk memperbarui status unggahan. Isi panggilan API pertama harus diatur symbol_type ke Apple.

  1. POST Picu permintaan ke API symbol_uploads. Panggilan ini mengalokasikan ruang di backend kami untuk file Anda dan mengembalikan symbol_upload_id properti dan 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. Menggunakan properti yang upload_url dikembalikan dari langkah pertama, buat PUT permintaan dengan header : "x-ms-blob-type: BlockBlob" dan berikan lokasi file Anda di disk. Panggilan ini mengunggah file ke akun penyimpanan backend kami. Pelajari selengkapnya tentang header permintaan PUT Blob .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Buat PATCH permintaan ke API symbol_uploads menggunakan properti yang symbol_upload_id dikembalikan dari langkah pertama. Dalam isi permintaan, tentukan apakah Anda ingin mengatur status unggahan ke committed (berhasil diselesaikan) proses pengunggahan, atau aborted (tidak berhasil diselesaikan).
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" }'

Catatan

SIMBOL mengunggah API tidak berfungsi untuk file yang lebih besar dari 256MB. Gunakan App Center CLI untuk mengunggah file-file ini. Anda dapat menginstal App Center CLI dengan mengikuti instruksi di repositori CLI App Center kami.

App Center CLI

Anda juga dapat menggunakan CLI untuk mengunggah file simbol:

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

Kode bit

Bitcode diperkenalkan oleh Apple untuk memungkinkan aplikasi yang dikirim ke App Store dikompilasi ulang oleh Apple itu sendiri dan menerapkan pengoptimalan terbaru. Jika Bitcode diaktifkan, simbol yang dihasilkan untuk aplikasi Anda di toko akan berbeda dari yang dari sistem build Anda sendiri.

Pelaporan crash App Center belum sepenuhnya mendukung simbolis crash dari aplikasi yang mendukung bitcode. Sementara itu, kami menyarankan agar Anda menonaktifkan bitcode. Menonaktifkan bitcode secara signifikan menyederhanakan manajemen simbol dan saat ini tidak memiliki kelemahan yang diketahui untuk aplikasi iOS.

Menonaktifkan bitcode untuk aplikasi Anda

  1. Di Xcode, buka pengaturan proyek Anda dengan mengklik elemen tingkat atas di Navigator Proyek
  2. Masuk ke halaman Pengaturan Build
  3. Cari bitcode
  4. Dalam hasilnya, ubah nilai dari Ya ke Tidak
  5. Membangun kembali aplikasi Anda

Dengan langkah-langkah sederhana ini, pelaporan crash App Center akan ber perilaku seperti biasa.

Mengambil simbol untuk aplikasi yang diaktifkan bitcode

Jika Anda ingin mengaktifkan bitcode, Anda dapat mengunduh file dSYM yang tepat dengan mengikuti langkah-langkah berikut:

  1. Buka Pengelola Xcode
  2. Pilih arsip tertentu dari aplikasi yang Anda unggah ke iTunes Connect
  3. Klik tombol "Unduh dSYMs". Langkah ini akan menyisipkan file dSYM yang dikompilasi Bitcode ke dalam arsip asli.
  4. Mengunggah simbol ke aplikasi dan versi yang sesuai di App Center

Jika pengelola Xcode tidak menyediakan simbol baru, Anda harus mengunduh file dSYM dari portal iTunes Connect dengan mengikuti langkah-langkah berikut:

  1. Pilih aplikasi Anda di portal iTunes Connect
  2. Pilih tab Aktivitas di atas
  3. Pilih versi build aplikasi Anda yang memiliki simbol yang hilang
  4. Klik tautan Unduh dSYM
  5. Unggah file yang diunduh ke App Center. File ini berisi simbol yang diperlukan agar App Center melambangkan crash Anda.

Pemecahan masalah simbol

Jika crash Anda masih tampak tidak resymbolikasi setelah mengunggah simbol dan menonaktifkan bitcode, itu mungkin karena file dSYM yang diunggah tidak cocok dengan yang diperlukan oleh App Center. Saat Anda mengunggah file dSYM, App Center mencocokkannya dengan versi aplikasi yang tepat berdasarkan UUID-nya.

Anda dapat memeriksa kembali apakah file dSYM Anda memiliki UUID yang tepat dengan menggunakan alat CLI yang disebut dwarfdump.

  1. Temukan UUID dalam file dSYM:
dwarfdump --u CrashProbeiOS.app.dSYM
  1. Hasilnya harus terlihat seperti berikut ini:
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. Periksa kembali apakah UUID yang dikembalikan cocok dengan UUID yang diperlihatkan dalam dialog simbol debug:

App Center menampilkan UUID simbol yang diperlukan

Mengabaikan simbol

Saat App Center tidak memiliki semua file simbol untuk sepenuhnya melambangkan laporan crash, crash dicantumkan di tab Tidak symbolikat . Simbol yang diperlukan diunggah dari halaman ini jika Anda memiliki akses ke simbol tersebut.

Jika Anda tidak dapat mengunggah simbol, Anda bisa menandainya sebagai Diabaikan dengan memilih baris dalam tabel dan mengklik tombol Abaikan versi . Tombol ini memberi tahu App Center untuk memproses crash dan melambangkannya sepenuhnya dengan simbol pada file. Setelah selesai diproses, mereka akan muncul di tab Crash yang sebagian dilambangkan. Crash baru yang juga bergantung pada ID simbol yang sama yang ditandai sebagai diabaikan akan melewati tab Tidak Terimbolikasi saat masuk dan mengalir melalui sistem.