Firebase Crashlytics'i kullanmaya başlayın

Bu hızlı başlangıç kılavuzunda, Firebase konsolunda kapsamlı kilitlenme raporları alabilmeniz için uygulamanızda Firebase Crashlytics SDK'yı kullanarak Firebase Crashlytics'i nasıl kuracağınız açıklanmaktadır.

Crashlytics'i kurmak hem Firebase konsolunda hem de IDE'nizde görevler (Firebase yapılandırma dosyası ve Crashlytics SDK eklemek gibi) gerektirir. Kurulumu tamamlamak için bir kilitlenme testi uygulayarak ilk kilitlenme raporunuzu Firebase'e göndermeniz gerekir.

Başlamadan önce

  1. Henüz yapmadıysanız Apple projenize Firebase'i ekleyin. Apple uygulamanız yoksa örnek uygulama indirebilirsiniz.

  2. Önerilen: Kilitlenme, önemli olmayan hata veya ANR etkinliğine neden olan kullanıcı işlemlerini anlamak amacıyla içerik haritası günlüklerini otomatik olarak almak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics etkin değilse Firebase konsolundaki > Proje ayarları'nda yer alan Entegrasyonlar sekmesinden Google Analytics'i etkinleştirebilirsiniz.

    • Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics'i etkinleştirin.

    İçerik haritası günlüklerinin, watchOS hariç Crashlytics tarafından desteklenen tüm Apple platformlarında kullanılabildiğini unutmayın.

1. Adım: Crashlytics SDK'yı uygulamanıza ekleyin

Firebase bağımlılıklarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.

  1. Xcode'da, uygulama projeniz açıkken File > Add Packages'a (Dosya > Paket Ekle) gidin.
  2. İstendiğinde Firebase Apple platform SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Crashlytics kitaplığını seçin.
  5. İç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.
  6. -ObjC işaretini hedefinizin derleme ayarlarındaki Diğer Bağlayıcı İşaretleri bölümüne ekleyin.
  7. (Yalnızca macOS) Info.plist cihazınıza NSApplicationCrashOnExceptions anahtarını ekleyip YES olarak ayarlayın.
  8. İşlem tamamlandığında Xcode, arka planda bağımlılıklarınızı çözümlemeye ve indirmeye otomatik olarak başlar.

Ardından Firebase modülünü yapılandırın:

  1. Firebase modülünü App struct'ınıza veya UIApplicationDelegate'ye aktarın:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. FirebaseApp paylaşılan örneği yapılandırın (genellikle uygulama temsilcinizin application(_:didFinishLaunchingWithOptions:) yönteminde):

    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, okunabilir kilitlenme raporları oluşturmak için projenizin hata ayıklama simgesi (dSYM) dosyalarına ihtiyaç duyar. Aşağıdaki adımlarda, Xcode'un dSYM'lerinizi otomatik olarak oluşturmak, işlemek ve uygulamanızı her derlediğinizde dosya yüklemek için nasıl yapılandırılacağı açıklanmaktadır.

  1. Projenizin Xcode çalışma alanını açın ve sol geziniciden proje dosyasını seçin.

  2. HEDEFLER listesinden ana derleme hedefinizi seçin.

  3. Build Settings (Derleme Ayarları) sekmesini tıklayın ve Xcode'un derlemeleriniz için dSYM oluşturması amacıyla aşağıdaki adımları tamamlayın.

    1. Tümü'nü tıklayın ve debug information format araması yapın.

    2. Tüm derleme türleriniz için Hata Ayıklama Bilgi Biçimi'ni DWARF with dSYM File olarak ayarlayın.

  4. Build Stages (Derleme Aşamaları) sekmesini tıklayın, ardından Xcode'un dSYM'lerinizi işleyip dosyaları yükleyebilmesi için aşağıdaki adımları tamamlayın.

    1. > 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 derleme aşaması olduğundan emin olun. Aksi takdirde Crashlytics, dSYM'leri düzgün bir şekilde işleyemez.

    2. Yeni Komut Dosyası Çalıştır bölümünü genişletin.

    3. Komut dosyası alanına (Shell 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"
    4. 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 (dSYM dosyalarının manuel olarak nasıl yükleneceği de dahil) hakkında daha ayrıntılı bilgi için Kodu gösterilen kilitlenme raporlarını alma sayfasını ziyaret edin.

3. adım: Kurulumu tamamlamak için kilitlenme testini zorlayın

Crashlytics'in kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için bir kilitlenme testi uygulamanız gerekir.

  1. Uygulamanıza kilitlenme testi yapmak için kullanabileceğiniz bir kod ekleyin.

    Uygulamanıza basıldığında kilitlenmeye neden olan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğmede "Kilitlenme Testi" etiketi bulunur.

    Hızlı Kullanıcı Arayüzü

    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
    
  2. Xcode hata ayıklayıcı bağlantısı olmadan uygulamanızı Xcode'da derleyip çalıştırın.

    1. Uygulamanızı bir test cihazı veya simülatörde derlemek için Oluştur ve ardından geçerli şemayı çalıştır'ı tıklayın.

    2. Uygulamanız çalışana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için Şemayı veya işlemi çalıştırmayı durdur'u tıklayın. Bu ilk örnek, Crashlytics'i engelleyen hata ayıklayıcıyı içeriyordu.

  3. Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorlayın:

    1. Test cihazınızın veya simülatörünüzün ana ekranından uygulamanızı açın.

    2. Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz "Kilitlenme Testi" düğmesine basın.

    3. Kilitlenen uygulamanızın, kilitlenme raporunu Firebase'e gönderebilmesi için Xcode'dan tekrar çalıştırın.

  4. Test kilitlenmenizi görmek için Firebase konsolunun Crashlytics kontrol paneline gidin.

    Konsolu yenilediyseniz ve beş dakika geçmesine rağmen test kilitlenmesini hâlâ görmüyorsanız uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlük kaydını etkinleştirin.


Hepsi bu kadar! Crashlytics artık uygulamanızı kilitlenmelere karşı izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntüleyip incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar