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 kurulumu için hem Firebase konsolunda hem de IDE'nizde görevler (Firebase yapılandırma dosyası ve Crashlytics SDK ekleme gibi) 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.
Önerilir: Kilitlenme, ölümcül olmayan veya ANR etkinliğine yol açan kullanıcı işlemlerini anlamak için ekmek kırıntıları günlüklerini otomatik olarak almak istiyorsanız Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.
Mevcut Firebase projenizde Google Analytics etkin değilse Firebase konsolunda
bölümündeki > Proje ayarlarıEntegrasyonlar sekmesinden Google Analytics'ü etkinleştirebilirsiniz. Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics politikasını etkinleştirin.
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ılarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.
Firebase SDK'larını Apple projenize eklemenin farklı yolları (ör. doğrudan çerçeveleri içe aktarma ve CocoaPods kullanma) hakkında bilgi edinmek için- Xcode'da, uygulamanız açıkken File > Add Packages'a (Dosya > Paket Ekle) gidin.
- İstendiğinde Firebase Apple platformlar SDK deposunu ekleyin:
- Crashlytics kitaplığını seçin.
- İçerik haritası günlüklerinden yararlanmak amacıyla Google Analytics için Firebase SDK'sını da uygulamanıza ekleyin. Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun.
-ObjC
işaretini, hedefinizin derleme ayarlarının Diğer Bağlantı Oluşturucu İşaretleri bölümüne ekleyin.- (Yalnızca macOS)
Info.plist
dosyanızaNSApplicationCrashOnExceptions
anahtarını ekleyin veYES
olarak ayarlayın. - İş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şturmak için projenizin hata ayıklama sembolü (dSYM) dosyalarına ihtiyacı vardır. Aşağıdaki adımlarda, dSYM'lerinizi otomatik olarak üretmek, işlemek ve uygulamanızı her derlediğinizde dosyaları yüklemek için Xcode'u nasıl yapılandıracağınız açıklanmaktadır.
Projenizin Xcode çalışma alanını açın, ardından soldaki gezinme bölmesinde projenin proje dosyasını seçin.
HEDEFLER listesinden ana derleme hedefinizi seçin.
Derleme Ayarları sekmesini tıklayın ve Xcode'un derlemeleriniz için dSYM'ler oluşturması amacıyla aşağıdaki adımları tamamlayın.
Tümü'nü tıklayın, ardından
debug information format
için arama yapın.Tüm derleme türleriniz için Hata Ayıklama Bilgisi Biçimi'ni
DWARF with dSYM File
olarak ayarlayın.
Build Aşama (Derleme Aşamaları) sekmesini tıklayın ve ardından Xcode'un dSYM'lerinizi işleyip dosyaları yükleyebilmesi için aşağıdaki adımları tamamlayın.
> Yeni Komut Dosyası Çalıştırma Aşaması'nı tıklayın.
Bu yeni Komut Dosyası Çalıştır aşamasının projenizin son derleme aşaması olduğundan emin olun. 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, aşağıdaki dosyaların konumlarının yollarını ekleyin:
${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 kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorunlu kılmanız gerekiyor.
Uygulamanıza, test kilitlenmesini zorlamak için kullanabileceğiniz kod ekleyin.
Uygulamanıza, basıldığında kilitlenme oluşturan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğmenin etiketi "Test Kilitlenmesi"dir.
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.
Uygulamanızı bir test cihazında veya simülatörde oluşturmak için
Mevcut şemayı oluştur ve çalıştır'ı tıklayın.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, yukarıdaki kodu kullanarak eklediğiniz "Kilitlenmeyi Test Et" düğmesine basın.
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 önemli olmayan hataların izlenmesini ekleyerek kilitlenme raporu ayarlarınızı özelleştirin.