Crashlytics kontrol panelinden okunabilir kilitlenme raporları alın


Varsayılan olarak Firebase Crashlytics, kod gösterme işlemi uygulanmış ve kullanıcılar tarafından okunabilir kilitlenme raporları sunmak için hata ayıklama sembolü (dSYM) dosyalarınızı otomatik olarak işler. Bu davranışı genellikle uygulamanızda Crashlytics'ün 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 dosyalarınıza neden olabilecek birkaç durum var. başarısız olur. Bu kılavuzda, Crashlytics uygulamanızın dSYM dosyalarını bulamadığı durumlarda sorun gidermeyle ilgili bazı yöntemler açıklanmaktadır.

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

Uygulamanızda Crashlytics'ü ayarlarken 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 şu koşulları karşıladığından emin olun: ve Xcode 15 ile başlayan yeni gereksinimlere uygun olmalıdır. Yapılandırmanız güncel değilse şu hatayı alabilirsiniz:
error: Info.plist Error Unable to process Info.plist at path ....

Özellikle, Xcode 15 ve sonraki sürümler için daha eksiksiz bir görebilirsiniz. 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ı Ç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ına sahip olduğunuzdan 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

dSYM dosyalarının eksik olmasının nedeni genellikle Xcode'un bunları oluşturmamasıdır. 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 oluşturduğundan 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 Derleme Ayarları sekmesini açın ve ardından Tümü'nü tıklayın.

  4. debug information format araması

  5. Hata Ayıklama Bilgi Biçimi'ni dSYM Dosyası ile DWARF olarak ayarlayın. en iyi uygulamaları paylaşacağız.

  6. Uygulamanızı yeniden oluşturun.

Kilitlenme raporlarınız artık Crashlytics kontrol panelinde görünür. Sorun devam ederse veya hatalarla karşılaşmamak için dSYM'lerinizi bulmayı ve bunları Crashlytics hizmetine manuel olarak yükleyebilirsiniz.

Yerel bir makinede dSYM'lerinizi bulma

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 hizmetine manuel olarak yükleyin. mdfind komutu herhangi bir sonuç döndürmezse .app öğenizin bulunduğu Products dizini (varsayılan olarak Products dizini Derived Data konumundadır). Uygulamanız üretim sürümüne yayınlanırsa dSYM'sini, diskteki .xcarchive dizininde de arayabilirsiniz:

  1. Xcode'da Düzenleyici penceresini açın, ardından menüden uygulamanızı seçin liste'ye dokunun. Xcode, projenizin arşivlerinin listesini gösterir.

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

  3. .xcarchive içinde, şu şekilde oluşturulmuş dSYM'leri içeren bir dSYMs dizini: bir parçasıdır.

dSYM'lerinizi yükleme

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

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

Crashlytics hizmetini ilk kez ayarlarken büyük olasılıkla bunu yapılandırmıştınız. en iyi uygulamaları paylaşacağız. Ancak, otomatik yüklemeler başarısız olursa yapılandırmanızın doğru olduğundan emin olun.

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: Çağrı yapabileceğiniz upload-symbols komut dosyasını kullanın dSYM dosyalarınızı manuel olarak yüklemenizi sağlar. upload-symbols komut dosyası için aşağıdaki seçeneklerden birini kullanın:

    • A seçeneği: 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 \{\}
    • 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 şu komutu çalıştırın: --help parametresiyle upload-symbols.