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:
Derleme Aşamaları sekmesini tıklayın ve ardından Komut Dosyası Çalıştır bölümünü genişletin.
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:
Projenizi Xcode'da açın ve ardından Xcode Navigator'da proje dosyasını seçin.
Ana derleme hedefinizi seçin.
Hedefin Build Settings (Derleme Ayarları) sekmesini açın ve All (Tümü) seçeneğini tıklayın.
debug information format
aramasıTüm derleme türleriniz için Debug Information Format'ı (Hata Ayıklama Bilgi Biçimi) DWARF with dSYM File olarak ayarlayın.
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:
Xcode'da Organizer penceresini açın ve listeden uygulamanızı seçin. Xcode, projeniz için bir arşiv listesi görüntüler.
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.
.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
parametresiyleupload-symbols
komutunu çalıştırın.