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 kodu gösterilen ve kullanıcılar tarafından okunabilen kilitlenme raporları sunar. Bu davranışı genellikle uygulamanızda Crashlytics'in ilk kurulumu sırasında, özellikle de uygulamanızın derleme 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 dosyası yükleme işleminin 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 gidermeye yönelik 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şlemek ve 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 gereksinimleri karşılayacak şekilde güncel olduğundan emin olun. Yapılandırmanız güncel değilse şu 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 yaptığınızdan emin olun:

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

  2. Dosya Girdi bölümünde, aşağıdaki dosyaların konumlarına ait 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, dSYM dosyaları Xcode oluşturmadığı için bu dosyalar kaybolur. Yükleme başarısız olduğunda Crashlytics, Firebase konsolunda "Eksik dSYM" uyarısı gösterir. Bu uyarıyı alırsanız önce Xcode'un her derleme için doğru dSYM'yi ürettiğinden emin olun:

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

  2. Ana derleme hedefinizi seçin.

  3. Hedefin Build Settings (Derleme Ayarları) sekmesini açıp Tümü'nü tıklayın.

  4. debug information format araması

  5. Tüm derleme türleriniz için Hata Ayıklama Bilgi Biçimi'ni dSYM Dosyası ile DWARF 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 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 Crashlytics'e manuel olarak yükleyin. mdfind komutu herhangi bir sonuç döndürmezse .app öğenizin bulunduğu Products dizinine bakabilirsiniz (varsayılan olarak Products dizini Derived Data konumunda bulunur). Uygulamanız üretim sürümüne yayınlandıysa diskteki .xcarchive dizininde dSYM'sini de bulabilirsiniz:

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

  2. Finder'da görüntülemek istediğiniz arşivi Control tuşunu basılı tutarak tıklayın. Control tuşunu basılı tutarak tekrar tıklayın, ardından Paket İçeriğini Göster'i tıklayın.

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

dSYM'lerinizi yükleyin

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

(Önerilir) dSYM'lerinizi otomatik olarak işleyin ve 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ırmışsınızdır. Ancak otomatik yüklemeler başarısız olursa 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.

  • 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 sürecinizin 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

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