Aracılığıyla paylaş


iOS Sembolikleştirmesi

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

macOS, tvOS ve iOS kilitlenme raporları, kilitlenme oluştuğu sırada uygulamanızın çalışan tüm iş parçacıkları için yığın izlemelerini gösterir. Yığın izlemeleri yalnızca bellek adreslerini içerir; kilitlenmeleri anlamak için gereken sınıf adları, yöntemler, dosya adları veya satır numaraları değildir.

Bellek adreslerinin çevrilmesi için simgeselleştirme için gereken tüm bilgileri içeren bir dSYM paketini App Center'a yüklemeniz gerekir. Apple'ın resmi geliştirici belgelerinden sembolikleştirme hakkında daha fazla bilgi edinebilirsiniz.

App Center Derleme ve Dağıtım hizmeti otomatik olarak geçerli bir dSYM ve kaynak eşleme .zip dosyası oluşturabilir ve dosyayı Tanılama hizmetine yükleyebilir. Uygulamanızı derlemek ve son kullanıcılarınıza otomatik olarak dağıtmak için App Center kullanıyorsanız, sembol dosyalarını el ile edinmeniz ve karşıya yüklemeniz gerekmez.

Tam olmayan kilitlenmeler

Simge yüklemeden önce bile bazı ayrıntıları görüntüleyebilmeniz için App Center Tanılama bölümünde simgelenmemiş kilitlenmeler görüntülenir. Bu kilitlenmelerin eksik simgeleri "simgelenmemiş" sekmesinde gösterilir. Eksik simgeler karşıya yüklenirse, simgeleştirilmiş kilitlenme grubu simgeleştirilmiş kilitlenme grubuyla değiştirilir.

.dSYM Paketi bulma

  1. Xcode'da Pencere menüsünü açın ve Düzenleyici'yi seçin.
  2. Arşivler sekmesini seçin.
  3. Sol kenar çubuğundan uygulamanızı seçin.
  4. En son arşive sağ tıklayın ve Bulucu'da Göster'i seçin.
  5. Bulucu'da dosyaya .xcarchive sağ tıklayın ve Paket İçeriğini Göster'i seçin.
  6. dSYM paketinizi içeren adlı dSYMs bir klasör görmeniz gerekir.
  7. dSYM paketinin zip dosyasını oluşturun.

Xcode yerine Visual Studio kullanıyorsanız, dSYM dosyasını bulmak için bkz. iOS kilitlenme günlüklerini simgeleştirmek için dSYM dosyasını nerede bulabilirim?

Sembolleri karşıya yükleme

App Center Portalı

  1. App Center'da oturum açın ve uygulamanızı seçin.
  2. Soldaki menüde Tanılama bölümüne gidin ve Simgeler'i seçin.
  3. Sağ üst köşede Simgeleri karşıya yükle'ye tıklayın ve dosyayı karşıya yükleyin.
  4. Simgeler App Center tarafından dizine alındıktan sonra kilitlenmeler sizin için sembolik hale gelir.

iOS uygulamalarını React Native

React Native iOS dosyalarının sembol dosyalarını almak için Mac bilgisayarınızda dSYM paketi ve uygulamanızın JavaScript kaynak haritası ile bir ZIP dosyası oluşturun. Kaynak eşleme olarak adlandırılmalıdır index.ios.map. Aşağıdaki komutlar yayın derlemeleri için kaynak haritayı oluşturur:

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'si

API aracılığıyla sembolleri karşıya yükleme işlemi üç API çağrısı serisini içerir: biri arka ucumuzda yer ayırmak için, biri dosyayı karşıya yüklemek için ve biri de karşıya yüklemenin durumunu güncelleştirmek için. İlk API çağrısının gövdesi olarak Appleayarlanmalıdırsymbol_type.

  1. symbol_uploads API'sine bir POST istek tetikleme. Bu çağrı, dosyanız için arka uçta yer ayırır ve bir symbol_upload_id ve upload_url özelliği döndürür.
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. upload_url İlk adımda döndürülen özelliğini kullanarak üst bilgiyle bir PUT istekte bulunun: "x-ms-blob-type: BlockBlob" ve disk üzerindeki dosyanızın konumunu sağlayın. Bu çağrı, dosyayı arka uç depolama hesaplarımıza yükler. PUT Blob isteği üst bilgileri hakkında daha fazla bilgi edinin.
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. İlk adımda döndürülen özelliğini kullanarak symbol_upload_idsymbol_uploads API'sine bir PATCH istek gönderin. İsteğin gövdesinde, karşıya yüklemenin durumunu karşıya yükleme committed işlemine (başarıyla tamamlandı) veya aborted (başarısız bir şekilde tamamlandı) olarak ayarlamak isteyip istemediğinizi belirtin.
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" }'

Not

Sembol karşıya yükleme API'si 256 MB'tan büyük dosyalar için çalışmaz. Bu dosyaları karşıya yüklemek için App Center CLI'sini kullanın. App Center CLI depomuzdaki yönergeleri izleyerek App Center CLI'yi yükleyebilirsiniz.

App Center CLI

Sembol dosyalarını karşıya yüklemek için CLI'yi de kullanabilirsiniz:

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

Bit kodu

Bitcode, App Store gönderilen uygulamaların Apple tarafından yeniden derlenip en son iyileştirmeyi uygulamasına izin vermek için Apple tarafından tanıtıldı. Bitcode etkinleştirilirse, mağazadaki uygulamanız için oluşturulan simgeler kendi derleme sisteminizden farklı olacaktır.

App Center kilitlenme raporlaması henüz bitcode özellikli uygulamalardan gelen kilitlenmelerin simgeselleştirmesini tam olarak desteklemez. Bu arada bit kodunu devre dışı bırakmanızı öneririz. Bit kodunun devre dışı bırakılması sembol yönetimini önemli ölçüde basitleştirir ve şu anda iOS uygulamaları için bilinen herhangi bir dezavantajı yoktur.

Uygulamanız için bit kodunu devre dışı bırakma

  1. Xcode'da Proje Gezgini'nde üst düzey öğeye tıklayarak proje ayarlarınızı açın
  2. Derleme Ayarları sayfasına gidin
  3. bitcode arayın.
  4. Sonuçta evet olan değeri Hayır olarak değiştirin
  5. Uygulamanızı yeniden oluşturma

Bu basit adımlarla App Center kilitlenme raporlaması her zamanki gibi davranır.

Bit kodu etkin uygulamalar için sembolleri alma

Bit kodunu etkin tutmak istiyorsanız, aşağıdaki adımları izleyerek uygun dSYM dosyalarını indirebilirsiniz:

  1. Xcode'un Düzenleyicisini açma
  2. Uygulamanızın iTunes Connect'e yüklediğiniz belirli arşivini seçin
  3. "dSYM'leri indir" düğmesine tıklayın. Bu adım, Bitcode derlenmiş dSYM dosyalarını özgün arşive ekler.
  4. Simgeleri App Center'da ilgili uygulamaya ve sürüme yükleme

Xcode düzenleyicisi yeni simge sağlamıyorsa, aşağıdaki adımları izleyerek iTunes Connect portalından dSYM dosyalarını indirmeniz gerekir:

  1. iTunes Connect portalında uygulamanızı seçin
  2. Üst kısımdaki Etkinlik sekmesini seçin
  3. Uygulamanızın eksik simgeleri içeren derleme sürümünü seçin
  4. dSYM'yi indir bağlantısına tıklayın
  5. İndirilen dosyayı App Center'a yükleyin. Bu dosya, App Center'ın kilitlenmelerinizi sembolikleştirmesi için gereken simgeleri içerir.

Sembol sorunlarını giderme

Sembolleri karşıya yükledikten ve bit kodunu devre dışı bırakdıktan sonra kilitlenmeleriniz hala simgelenmemiş olarak görünüyorsa, bunun nedeni karşıya yüklenen dSYM dosyalarının App Center'ın gerektirdiği dosyalarla eşleşmemiş olması olabilir. dSYM dosyalarını karşıya yüklediğinizde, App Center bunları UUID'lerine göre doğru uygulama sürümüyle eşleştirir.

cücedişim adlı bir CLI aracı kullanarak dSYM dosyalarınızın doğru UUID'lere sahip olup olmadığını bir kez daha kontrol edebilirsiniz.

  1. DSYM dosyasında UUID'yi bulun:
dwarfdump --u CrashProbeiOS.app.dSYM
  1. Sonuç şöyle görünmelidir:
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. Döndürülen UUID'nin hata ayıklama simgeleri iletişim kutusunda gösterilen UUID'lerle eşleşip eşleşmediğini bir kez daha denetleyin:

App Center gerekli simgelerin UUID'sini görüntüler

Sembolleri yoksayma

App Center kilitlenme raporlarını tamamen simgeleyen tüm sembol dosyalarına sahip olmadığında kilitlenmeler Simgelenmemiş sekmesinde listelenir. Gerekli simgelere erişiminiz varsa bu sayfadan karşıya yüklenir.

Simgeleri karşıya yükleyemiyorsanız, tabloda satırları seçip Sürümleri yoksay düğmesine tıklayarak bunları Yoksayıldı olarak işaretleyebilirsiniz. Bu düğme App Center'a kilitlenmeleri işlemesini ve dosyadaki sembollerle mümkün olduğunca simgelemesini söyler. İşlem tamamlandıktan sonra Kilitlenmeler sekmesinde kısmen simgelenmiş olarak görünürler. Yoksayıldı olarak işaretlenen aynı sembol kimliklerine de bağlı olan yeni kilitlenmeler, sistem içinde gelen ve sistemde akan Simgelenmemiş sekmesini atlar.