Firebase Crashlytics, varsayılan olarak hata ayıklama sembolü (dSYM) dosyalarınızı otomatik olarak işler ve size kod gizliliği kaldırılmış ve insanlar tarafından okunabilir kilitlenme raporları sunar. Bu davranışı genellikle uygulamanızda Crashlytics'in ilk kurulumu sırasında, özellikle de uygulamanızın oluşturma 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 dosya yüklemenizin başarısız olmasına neden olabilecek birkaç durum vardır. Bu kılavuz, Crashlytics uygulamanızın dSYM dosyalarını bulamadığında sorun gidermeye yönelik bazı yollar sağlar.
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şleyecek ve dosyaları yükleyecek bir çalıştırma komut dosyası yapılandırdınız .
Crashlytics çalıştırma komut dosyasına yönelik yapılandırmanızın, Xcode 15 ile başlayan yeni gereksinimlere göre güncel 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ı kümesi sağlamanızı gerektirir. Crashlytics çalıştırma komut dosyanız için ( firebase-ios-sdk/Crashlytics/run
), aşağıdaki kuruluma sahip olduğunuzdan emin olun:
Oluşturma Aşamaları sekmesine tıklayın ve ardından Komut Dosyasını Çalıştır bölümünü genişletin.
Giriş Dosyaları bölümünde, aşağıdaki dosyaların konumlarına ilişkin 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, Xcode bunları üretmediği için dSYM dosyaları kayboluyor. Bir yükleme başarısız olduğunda Crashlytics, Firebase konsolunda "Eksik dSYM" uyarısını görüntüler. Bu uyarıyı alırsanız öncelikle Xcode'un her derleme için doğru dSYM'yi ürettiğini kontrol edin:
Projenizi Xcode'da açın ve ardından Xcode Navigator'da proje dosyasını seçin.
Ana derleme hedefinizi seçin.
Hedefin Yapı Ayarları sekmesini açın ve ardından Tümü seçeneğine tıklayın.
debug information format
arayın.Tüm yapı türleriniz için Hata Ayıklama Bilgi Formatını dSYM Dosyası ile DWARF olarak ayarlayın.
Uygulamanızı yeniden oluşturun.
Kilitlenme raporlarınız artık Crashlytics kontrol panelinde görünmelidir. Sorun devam ederse veya başka hatalarla karşılaşırsanız dSYM'lerinizi bulmayı ve bunları 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 bunu Crashlytics'e manuel olarak yükleyin . mdfind
komutu herhangi bir sonuç döndürmezse, .app
dosyanızın bulunduğu Products
dizinine bakabilirsiniz (varsayılan olarak Products
dizini Derived Data
konumunda bulunur). Uygulamanız üretime sunulduysa dSYM'sini diskteki .xcarchive
dizininde de arayabilirsiniz:
Xcode'da Düzenleyici penceresini açın ve ardından listeden uygulamanızı seçin. Xcode, projeniz için arşivlerin bir listesini görüntüler.
Finder'da görüntülemek için bir arşivi Kontrol tuşuna basarak tıklayın. Kontrol tuşuna basarak tekrar tıklayın ve ardından Paket İçeriğini Göster öğesine tıklayın.
.xcarchive
içinde, Xcode'un arşivleme sürecinin bir parçası olarak oluşturulan dSYM'leri içeren bir dSYMs dizini bulunur.
DSYM'lerinizi yükleyin
Crashlytics, dSYM dosyalarınızı otomatik veya manuel olarak yüklemenin birden fazla yolunu destekler.
(Önerilen) dSYM'lerinizi otomatik olarak işleyin ve dosyaları yükleyin
Crashlytics'i ilk kurduğunuzda 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 oluyorsa aşağıdaki seçeneklerden birini kullanarak dSYM dosyalarınızı manuel olarak yükleyebilirsiniz.
Seçenek 1 : dSYM dosyalarınızı içeren bir zip dosyasını yüklemek için konsol tabanlı "Sürükle ve Bırak" seçeneğini kullanın (Firebase konsolu > Crashlytics > dSYM'ler sekmesine gidin).
Seçenek 2 : dSYM dosyalarınızı manuel olarak yüklemek için derleme sürecinizin herhangi bir yerinden arayabileceğ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 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 \{\}
Seçenek B : 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
upload-symbols
--help
parametresiyle çalıştırın.