| Platform seçin: | iOS+ Android Flutter Unity |
Firebase Crashlytics, varsayılan olarak hata ayıklama sembolü (dSYM) dosyalarınızı otomatik olarak işleyerek size kodu çözülmüş ve okunabilir kilitlenme raporları sunar. Bu davranışı genellikle uygulamanızda Crashlytics 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 neden olabilecek birkaç durum vardır. Bu kılavuzda, Crashlytics uygulamanızın dSYM dosyalarını bulamadığında sorunu gidermek için kullanabileceğiniz 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 kurulumu yaparken 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 ş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ümlerde daha eksiksiz bir dosya konumu grubu sağlamanız gerekir. Crashlytics çalıştırma komut dosyanız (firebase-ios-sdk/Crashlytics/run) için aşağıdaki kuruluma sahip olduğunuzdan emin olun:
Build Phases (Derleme Aşamaları) sekmesini tıklayın ve ardından Run Script (Komut Dosyasını Çalıştır) bölümünü genişletin.
Input Files (Giriş Dosyaları) bölümünde, aşağıdaki dosyaların konumlarının yollarını girdiğinizden 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
Projenizin derleme ayarlarında$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESveENABLE_DEBUG_DYLIB=YESvarsa aşağıdakileri ekleyin:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Xcode'un dSYM üretip üretmediğini kontrol etme
Çoğu zaman dSYM dosyaları, Xcode bunları üretmediği için kaybolur. Yükleme 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 oluşturup oluşturmadığını kontrol edin:
Projenizi Xcode'da açın ve Xcode Gezgini'nde proje dosyasını seçin.
Ana derleme hedefinizi seçin.
Hedefin Build Settings (Derleme Ayarları) sekmesini açın ve All'u (Tümü) tıklayın.
debug information formataraması.Tüm derleme türleriniz için Hata Ayıklama Bilgileri Biçimi'ni dSYM Dosyası ile DWARF olarak ayarlayın.
Uygulamanızı yeniden derleyin.
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 bulmayı ve Crashlytics'e manuel olarak yüklemeyi deneyin.
dSYM'lerinizi yerel bir makinede bulma
Makinenizdeki tüm dSYM'lerin 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ın bulunduğu Products dizinine bakabilirsiniz (varsayılan olarak Products dizini Derived Data konumunda bulunur). Uygulamanız üretim ortamında yayınlandıysa dSYM dosyasını diskteki .xcarchive dizininde de arayabilirsiniz:
Xcode'da Organizer (Düzenleyici) penceresini açın ve listeden uygulamanızı seçin. Xcode, projeniz için arşivlerin listesini gösterir.
Arşivi Finder'da görüntülemek için Control tuşunu basılı tutarak arşivi tıklayın. Tekrar Control tuşuna basarak tıklayın ve ardından Paket İçeriğini Göster'i tıklayın.
.xcarchiveiç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şleme ve dosyaları yükleme
Crashlytics hizmetini ilk kez kurduğunuzda uygulamanız için bu otomatik yükleme davranışını yapılandırmış olmanız muhtemeldir. 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 dSYM dosyalarınızı aşağıdaki seçeneklerden birini kullanarak manuel olarak yükleyebilirsiniz.
1. seçenek: dSYM dosyalarınızı içeren bir ZIP dosyasını yüklemek için Firebase konsolundaki "Sürükle ve Bırak" arayüzünü kullanın (DevOps ve Etkileşim > Crashlytics kontrol paneli > 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-symbolskomut dosyasını kullanın.upload-symbolskomut 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ıyla ilgili kullanım notları ve ek talimatlar için
upload-symbolskomutunu--helpparametresiyle çalıştırın.