Varsayılan olarak Firebase Crashlytics, kod gösterme işlemi uygulanmış ve insan 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ızın yüklenmesinin başarısız olmasına neden olabilecek birkaç durum vardır. 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 dosyanız için yapılandırmanızın, Xcode 15 ile başlayan yeni şartlara uygun olduğundan emin olun. 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, daha kapsamlı bir dosya konumu grubu sağlamanız gerektiğini belirtir. Crashlytics çalıştırma komut dosyanız (firebase-ios-sdk/Crashlytics/run
) için aşağıdaki kurulumu yaptığı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ı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 oluşturup oluşturmadığını kontrol etme
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:
Projenizi Xcode'da açın ve ardından Xcode Navigator'da proje dosyasını seçin.
Ana derleme hedefinizi seçin.
Hedefin Derleme Ayarları sekmesini açın ve ardından Tümü'nü tıklayın.
debug information format
aramasıTüm derleme türleriniz için Hata Ayıklama Bilgisi Biçimi'ni dSYM Dosyası ile DWARF olarak ayarlayın.
Uygulamanızı yeniden oluşturun.
Kilitlenme raporlarınız artık Crashlytics kontrol panelinde görünür. Sorun devam ederse veya başka hatalarla karşılaşırsanız dSYM'lerinizi bulup Crashlytics'e manuel olarak yüklemeyi deneyin.
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'e manuel olarak yükleyin.
mdfind
komutu herhangi bir sonuç döndürmezse .app
dosyanızı içeren Products
dizinine bakabilirsiniz (Products
dizini varsayılan olarak Derived Data
içinde bulunur). Uygulamanız üretime yayınlandıysa dSYM'sini diskteki .xcarchive
dizininde de arayabilirsiniz:
Xcode'da Düzenleyici penceresini açın ve listeden uygulamanızı seçin. Xcode, projenizin arşivlerinin listesini gösterir.
Bir arşivi Finder'da görüntülemek için arşivi Kontrol tuşuna basarak tıklayın. Dosyayı tekrar Kontrol tuşuyla tıklayın ve ardından Paket İçeriğini Göster'i tıklayın.
.xcarchive
içinde, Xcode'un arşivleme sürecinin bir parçası olarak oluşturulan dSYM'leri içeren bir dSYM dizini bulunur.
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'ü ilk kez kurarken büyük olasılıkla uygulamanız için bu otomatik yükleme davranışını yapılandırmışsınızdır. 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ükleme
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 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: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ı ile ilgili kullanım notları ve ek talimatlar için
upload-symbols
dosyasını--help
parametresiyle çalıştırın.