Crashlytics kontrol panelinde okunabilir kilitlenme raporları alın

Firebase Crashlytics, varsayılan olarak hata ayıklama sembolü (dSYM) dosyalarınızı otomatik olarak işleyerek size gösterilen ve kullanıcılar tarafından okunabilir kilitlenme raporları sağlar. Bu davranışı genellikle uygulamanızdaki Crashlytics'in ilk kurulumu sırasında, özellikle de uygulamanızın derleme aşamasında otomatik olarak dSYM dosyalarını yükleyen bir çalıştırma komut dosyası ekleyerek yapılandırırsınız.

Maalesef otomatik dSYM dosyalarınızın yüklenmesinin başarısız olmasına yol açabilecek birkaç durum vardır. Bu kılavuzda, Crashlytics, uygulamanızın dSYM dosyalarını bulamadığında sorun gidermek için bazı yöntemler sunulmaktadır.

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şleyip dosyaları yüklemek için bir çalıştırma komut dosyası yapılandırdınız.

Crashlytics çalıştırma komut dosyası yapılandırmanızın, Xcode 15 ile başlayan yeni gereksinimlere uygun 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ı grubu sağlamanızı gerektirir. Crashlytics çalıştırma komut dosyanız (firebase-ios-sdk/Crashlytics/run) için aşağıdaki kurulumu kullandığınızdan emin olun:

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

  2. Giriş Dosyaları bölümünde, aşağıdaki dosyaların konumlarının yollarını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 oluşturup oluşturmadığını kontrol edin

dSYM dosyaları çoğunlukla Xcode bunları üretmediği için kaybolur. Yükleme işlemi başarısız olduğunda Crashlytics, Firebase konsolunda "Eksik dSYM" uyarısı gösterir. Bu uyarıyı alırsanız öncelikle Xcode'un her derleme için doğru dSYM'yi ürettiğinden emin olun:

  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 Build Settings (Derleme Ayarları) sekmesini açın ve All (Tümü) seçeneğini tıklayın.

  4. debug information format araması

  5. Tüm derleme türleriniz için Debug Information Format'ı (Hata Ayıklama Bilgi Biçimi) DWARF with dSYM File olarak ayarlayın.

  6. Uygulamanızı yeniden oluşturun.

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

dSYM'lerinizi yerel bir makinede bulma

Aşağıdaki komutu çalıştırarak tüm dSYM'lerinizin UUID'lerini makinenizde görüntüleyin ve eksik dSYM'yi arayın:

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

dSYM'yi bulduktan sonra manuel olarak Crashlytics'e yükleyin. mdfind komutu herhangi bir sonuç döndürmezse .app cihazınızın bulunduğu Products dizinine bakabilirsiniz (varsayılan olarak Products dizini Derived Data içindedir). Uygulamanız üretim kanalına yayınlandıysa dSYM'sini diskteki .xcarchive dizininde de arayabilirsiniz:

  1. Xcode'da Organizer penceresini açın ve listeden uygulamanızı seçin. Xcode, projeniz için bir arşiv listesi görüntüler.

  2. Finder'da görüntülemek için bir arşivi kontrol tuşunu basılı tutarak tıklayın. Tekrar Control tuşunu basılı tutarak tıklayın ve ardından Paket İçeriğini Göster'i tıklayın.

  3. .xcarchive içinde, Xcode'un arşivleme işlemi kapsamında oluşturulan dSYM'leri içeren bir dSYM dizini bulunur.

dSYM'lerinizi yükleyin

Crashlytics, dSYM dosyalarınızı otomatik olarak veya manuel olarak yüklemenin çeşitli yollarını destekler.

(Önerilir) dSYM'lerinizi otomatik olarak işleyip dosyaları yükleyin

Crashlytics'i ilk kez kurarken 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 olursa aşağıdaki seçeneklerden birini kullanarak dSYM dosyalarınızı manuel olarak yükleyebilirsiniz.

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

  • 2. Seçenek: dSYM dosyalarınızı manuel olarak yüklemek için derleme işleminizin herhangi bir yerinden çağırabileceğ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 işleminize 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 \{\}
    • B seçeneği: 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

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