Crashlytics panosunda okunabilir kilitlenme raporları alın

Firebase Crashlytics, varsayılan olarak hata ayıklama sembolü (dSYM) dosyalarınızı otomatik olarak işler ve size kod gizliliği kaldırılmış ve insanlar tarafından okunabilir kilitlenme raporları sunar. Bu davranışı genellikle uygulamanızda Crashlytics'in ilk kurulumu sırasında, özellikle de uygulamanızın oluşturma aşamasında dSYM dosyalarını otomatik olarak yükleyen bir çalıştırma komut dosyası ekleyerek yapılandırırsınız.

Maalesef otomatik dSYM dosya yüklemenizin başarısız olmasına neden olabilecek birkaç durum vardır. Bu kılavuz, Crashlytics uygulamanızın dSYM dosyalarını bulamadığında sorun gidermeye yönelik bazı yollar sağlar.

Xcode'un dSYM'leri otomatik olarak işleyebildiğinden ve dosyaları yükleyebildiğinden emin olun

Uygulamanızda Crashlytics'i kurarken, dSYM'leri otomatik olarak işleyecek ve dosyaları yükleyecek bir çalıştırma komut dosyası yapılandırdınız .

Crashlytics çalıştırma komut dosyasına yönelik yapılandırmanızın, Xcode 15 ile başlayan yeni gereksinimlere göre güncel olduğundan emin olun. Yapılandırmanız güncel değilse aşağıdaki hatayı alıyor olabilirsiniz:
error: Info.plist Error Unable to process Info.plist at path ... .

Özellikle, Xcode 15 ve sonraki sürümler daha eksiksiz bir dosya konumları kümesi sağlamanızı gerektirir. Crashlytics çalıştırma komut dosyanız için ( firebase-ios-sdk/Crashlytics/run ), aşağıdaki kuruluma sahip olduğunuzdan emin olun:

  1. Oluşturma Aşamaları sekmesine tıklayın ve ardından Komut Dosyasını Çalıştır bölümünü genişletin.

  2. Giriş Dosyaları bölümünde, aşağıdaki dosyaların konumlarına ilişkin yolların bulunduğundan emin olun:

    ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
    ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
    ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
    $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
    $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)

Xcode'un dSYM üretip üretmediğini kontrol edin

Çoğu zaman, Xcode bunları üretmediği için dSYM dosyaları kayboluyor. Bir yükleme başarısız olduğunda Crashlytics, Firebase konsolunda "Eksik dSYM" uyarısını görüntüler. Bu uyarıyı alırsanız öncelikle Xcode'un her derleme için doğru dSYM'yi ürettiğini kontrol edin:

  1. Projenizi Xcode'da açın ve ardından Xcode Navigator'da proje dosyasını seçin.

  2. Ana derleme hedefinizi seçin.

  3. Hedefin Yapı Ayarları sekmesini açın ve ardından Tümü seçeneğine tıklayın.

  4. debug information format arayın.

  5. Tüm yapı türleriniz için Hata Ayıklama Bilgi Formatını dSYM Dosyası ile DWARF olarak ayarlayın.

  6. Uygulamanızı yeniden oluşturun.

Kilitlenme raporlarınız artık Crashlytics kontrol panelinde görünmelidir. Sorun devam ederse veya başka hatalarla karşılaşırsanız dSYM'lerinizi bulmayı ve bunları Crashlytics'e manuel olarak yüklemeyi deneyin.

DSYM'lerinizi yerel bir makinede bulun

Makinenizde tüm dSYM'lerinizin UUID'lerini görüntülemek ve eksik dSYM'yi aramak için aşağıdaki komutu çalıştırın:

mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

DSYM'yi bulduktan sonra bunu Crashlytics'e manuel olarak yükleyin . mdfind komutu herhangi bir sonuç döndürmezse, .app dosyanızın bulunduğu Products dizinine bakabilirsiniz (varsayılan olarak Products dizini Derived Data konumunda bulunur). Uygulamanız üretime sunulduysa dSYM'sini diskteki .xcarchive dizininde de arayabilirsiniz:

  1. Xcode'da Düzenleyici penceresini açın ve ardından listeden uygulamanızı seçin. Xcode, projeniz için arşivlerin bir listesini görüntüler.

  2. Finder'da görüntülemek için bir arşivi Kontrol tuşuna basarak tıklayın. Kontrol tuşuna basarak tekrar tıklayın ve ardından Paket İçeriğini Göster öğesine tıklayın.

  3. .xcarchive içinde, Xcode'un arşivleme sürecinin bir parçası olarak oluşturulan dSYM'leri içeren bir dSYMs dizini bulunur.

DSYM'lerinizi yükleyin

Crashlytics, dSYM dosyalarınızı otomatik veya manuel olarak yüklemenin birden fazla yolunu destekler.

(Önerilen) dSYM'lerinizi otomatik olarak işleyin ve dosyaları yükleyin

Crashlytics'i ilk kurduğunuzda büyük olasılıkla bu otomatik yükleme davranışını uygulamanız için yapılandırdınız. Ancak otomatik yüklemeler başarısız oluyorsa yapılandırmanızın doğru olup olmadığını kontrol edin .

DSYM dosyalarınızı manuel olarak yükleyin

Otomatik yüklemeler başarısız oluyorsa aşağıdaki seçeneklerden birini kullanarak dSYM dosyalarınızı manuel olarak yükleyebilirsiniz.

  • Seçenek 1 : dSYM dosyalarınızı içeren bir zip dosyasını yüklemek için konsol tabanlı "Sürükle ve Bırak" seçeneğini kullanın (Firebase konsolu > Crashlytics > dSYM'ler sekmesine gidin).

  • Seçenek 2 : dSYM dosyalarınızı manuel olarak yüklemek için derleme sürecinizin herhangi bir yerinden arayabileceğiniz upload-symbols komut dosyasını kullanın. upload-symbols komut dosyasını çalıştırmak için aşağıdaki seçeneklerden birini kullanın:

    • Seçenek A : Derleme sürecinize aşağıdaki satırı ekleyin:

      find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
    • Seçenek B : Komut dosyasını doğrudan terminalinizden çalıştırın:

      /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs

    Bu komut dosyasıyla ilgili kullanım notları ve ek talimatlar için upload-symbols --help parametresiyle çalıştırın.