Bu hızlı başlangıç kılavuzunda, Firebase konsolunda kapsamlı kilitlenme raporları alabilmek için uygulamanızda Firebase Crashlytics SDK'sı ile Firebase Crashlytics'ü nasıl ayarlayacağınız açıklanmaktadır.
Crashlytics'ü ayarlamak için hem Firebase konsolunda hem de IDE'nizde (ör. Firebase yapılandırma dosyası ve Crashlytics SDK'sı ekleme) görevler yapmanız gerekir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermek üzere test kilitlenmesini zorlamanız gerekir.
Başlamadan önce
Henüz yapmadıysanız Apple projenize Firebase'i ekleyin. Apple uygulamanız yoksa örnek uygulama indirebilirsiniz.
Önerilen: Otomatik içerik haritası günlükleri Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerini anlamak için Firebase projenizde Google Analytics modunu etkinleştirmeniz gerekir.
Mevcut Firebase projenizde Google Analytics yoksa Google Analytics öğesini şuradan etkinleştirebilirsiniz: hesabınızın Entegrasyonlar
> Proje ayarlarıFirebase konsolunda kontrol edebilirsiniz. Yeni bir Firebase projesi oluşturuyorsanız Google Analytics özelliğini etkinleştirin müzakere tekniği de eklediniz.
Breadcrumb günlüklerinin, watchOS hariç Crashlytics tarafından desteklenen tüm Apple platformlarında kullanılabileceğini unutmayın.
1. Adım: Crashlytics SDK'sını uygulamanıza ekleyin
Firebase bağımlılıklarını yükleyip yönetmek için Swift Package Manager'ı kullanın.
- Xcode'da, uygulama projeniz açıkken Dosya > Paket Ekle'yi tıklayın.
- İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
- Crashlytics kitaplığını seçin.
- Breadcrumb günlüklerinden yararlanmak için uygulamanıza Google Analytics için Firebase SDK'sını da ekleyin. Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun.
-ObjC
işaretini, hedefinizin derleme ayarlarındaki Diğer Bağlayıcı İşaretleri bölümüne ekleyin.- (yalnızca macOS)
Info.plist
cihazınıza anahtarı ekleyinNSApplicationCrashOnExceptions
ve şuna ayarla:YES
. - İşlem tamamlandığında Xcode, arka planda bağımlılarınızı otomatik olarak çözümlemeye ve indirmeye başlar.
https://github.com/firebase/firebase-ios-sdk.git
Ardından Firebase modülünü yapılandırın:
Firebase modülünü
App
yapınıza veyaUIApplicationDelegate
dosyanıza aktarın:Swift
import Firebase
Objective-C
@import Firebase;
Genellikle uygulama temsilcinizin
application(_:didFinishLaunchingWithOptions:)
yönteminde birFirebaseApp
paylaşılan örneği yapılandırın:Swift
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Objective-C
// Use the Firebase library to configure APIs. [FIRApp configure];
2. Adım: Xcode'u dSYM dosyalarını otomatik olarak yükleyecek şekilde ayarlayın.
Crashlytics uygulamasının, okunabilir kilitlenme raporları oluşturabilmek için projenizin hata ayıklama sembolü (dSYM) dosyaları. Aşağıdaki adımlarda, dSYM'lerinizi otomatik olarak oluşturması, işlemesi ve uygulamanızı derlediğinizde dosyaları yüklemesi için Xcode'un nasıl yapılandırılacağı açıklanmaktadır.
Projenizin Xcode çalışma alanını açın, ardından sol gezinme menüsünde proje dosyasını seçin.
HEDEFLER listesinden ana derleme hedefinizi seçin.
Build Settings (Derleme Ayarları) sekmesini tıklayın, ardından aşağıdaki adımları uygulayarak Xcode, derlemeleriniz için dSYM'ler üretir.
Tümü'nü tıklayın ve
debug information format
araması yapın.Tüm öğeleriniz için Hata Ayıklama Bilgi Biçimi'ni
DWARF with dSYM File
olarak ayarlayın derleme türleri.
Derleme Aşamaları sekmesini tıklayın ve ardından aşağıdaki adımları uygulayarak Xcode, dSYM'lerinizi işleyip dosyaları yükleyebilir.
> Yeni Komut Dosyası Çalıştırma Aşaması'nı tıklayın.
Bu yeni Komut Dosyası Çalıştırma aşamasının, projenizin son derlemesi olduğundan emin olun. aşama; Aksi takdirde, Crashlytics dSYM'leri düzgün şekilde işleyemez.
Yeni Komut Dosyası Çalıştır bölümünü genişletin.
Komut dosyası alanına (Kabuk etiketinin altında bulunur) aşağıdaki çalıştırma komut dosyasını ekleyin.
Bu komut dosyası, projenizin dSYM dosyalarını işler ve dosyaları Crashlytics'e yükler.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
Giriş Dosyaları bölümünde, şu dosyalarda kullanılabilir:
${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)
dSYM dosyaları ve Crashlytics hakkında daha ayrıntılı bilgi edinmek için (dSYM dosyalarının manuel olarak yüklenmesi dahil) Gizleme işlemi uygulanmış kilitlenme raporları alma başlıklı makaleyi inceleyin.
3. Adım: Kurulumu tamamlamak için test kilitlenmesini zorunlu kılın
Crashlytics'ü ayarlamayı tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorlamanız gerekir.
Uygulamanıza, test amaçlı kilitlenme yapmak için kullanabileceğiniz kod ekleyin.
Uygulamanıza basıldığında kilitlenmeye neden olur. Düğme, "Kilitlenmeyi Test Et" etiketini taşır.
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let button = UIButton(type: .roundedRect) button.frame = CGRect(x: 20, y: 50, width: 100, height: 30) button.setTitle("Test Crash", for: []) button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside) view.addSubview(button) } @IBAction func crashButtonTapped(_ sender: AnyObject) { let numbers = [0] let _ = numbers[1] } }
Objective-C
#import "ViewController.h" @implementation ViewController ‐ (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(20, 50, 100, 30); [button setTitle:@"Test Crash" forState:UIControlStateNormal]; [button addTarget:self action:@selector(crashButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } ‐ (IBAction)crashButtonTapped:(id)sender { @[][1]; } @end
Xcode hata ayıklayıcısının bağlantısı kesilmişken uygulamanızı Xcode'da derleyip çalıştırın.
Derle'yi tıklayın ve ardından Uygulamanızı bir test cihazında derlemek için mevcut şemayı çalıştırın veya simülatörüdür.
Uygulamanız çalıştırılana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için Crashlytics ile etkileşime geçen hata ayıklayıcıyı içeriyordu.
Dizeni veya işlemi çalıştırmayı durdur'u tıklayın. Bu ilk örnek,
Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorlama:
Uygulamanızı test cihazınızın veya simülatörünüzün ana ekranından açın.
Uygulamanızda "Kilitlenmeyi Test Et"e basın kodu kullanarak eklediğiniz düğme bölümünü ziyaret edin.
Uygulamanız kilitlendikten sonra, kilitlenme raporunu Firebase'e gönderebilmesi için Xcode'dan tekrar çalıştırın.
Test kilitlenmenizi görmek için Firebase konsolunun Crashlytics kontrol paneline gidin.
Konsolu yeniledikten sonra beş dakika geçmesine rağmen testin kilitlendiğini görmüyorsanız uygulamanızın kilitlenme raporu gönderip göndermediğini görmek için hata ayıklama günlük kaydını etkinleştirin.
Hepsi bu kadar. Crashlytics, uygulamanızı kilitlenmeler açısından izliyor. Tüm rapor ve istatistiklerinizi görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin.
Sonraki adımlar
- Etkinleştirme raporları, günlükler, anahtarlar ve ölümcül olmayan hataların izlenmesini ekleyerek kilitlenme raporu ayarlarınızı özelleştirin.