Apple platformları için Crashlytics'i kullanmaya başlama

Platform seçin: iOS+ Android Android NDK Flutter Unity


Bu kılavuzda, Apple platformları uygulamanızda (ör. iOS uygulaması) Firebase Crashlytics'yı kullanmaya nasıl başlayacağınız açıklanmaktadır.

Uygulamanızda Firebase Crashlytics SDK'sını kurduktan sonra Firebase konsolunda kapsamlı kilitlenme raporları alabilirsiniz. Apple platformları için Crashlytics ile kilitlenmeler ve önemli olmayan hatalarla ilgili raporlar alırsınız.

Yapay zeka yardımı için aşağıdaki istemi yapay zeka destekli kodlama aracınıza (ör. Antigravity, Claude Code, Codex ve Cursor) kopyalayın. İstemi özelleştirebilir ve temsilcinizle birlikte yineleme yapabilirsiniz. Ayrıntılı yükleme bilgileri için Firebase aracı becerileri sayfasını ziyaret edin.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.

Başlamadan önce

Crashlytics kurulumu için hem Firebase konsolunda hem de IDE'nizde (ör. Firebase yapılandırma dosyası ve Crashlytics SDK'sını ekleme) görevler yapmanız gerekir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermek üzere test kilitlenmesi zorlamanız gerekir.

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

  2. Önerilen: Kilitlenmeye veya ölümcül olmayan bir etkinliğe yol açan kullanıcı işlemlerini anlamak için iz günlüğü'nü otomatik olarak almak istiyorsanız Firebase projenizde Google Analytics seçeneğini etkinleştirmeniz gerekir.

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

    • Google Analytics'in etkinleştirilmediği mevcut bir Firebase projesi kullanıyorsanız Firebase konsolunun Ayarlar > Entegrasyonlar sayfasında etkinleştirebilirsiniz.

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

1. adım: Crashlytics SDK'sını 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 platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Crashlytics kitaplığını seçin.
  5. Ayrıntılı hata mesajı 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.
  6. -ObjC işaretini hedefinizin derleme ayarlarının Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne ekleyin.
  7. (Yalnızca macOS) Info.plist dosyanıza anahtarı ekleyin NSApplicationCrashOnExceptions ve YES olarak ayarlayın.
  8. İşlem tamamlandığında Xcode, bağımlılıklarınızı otomatik olarak çözümlemeye ve arka planda indirmeye başlar.

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

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

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. Genellikle uygulama temsilcinizin FirebaseApp yönteminde bir application(_:didFinishLaunchingWithOptions:) 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

İnsan tarafından okunabilir kilitlenme raporları oluşturmak için Crashlytics, projenizin hata ayıklama sembolü (dSYM) dosyalarına ihtiyaç duyar. Aşağıdaki adımlarda, Xcode'un uygulamanızı her oluşturduğunuzda dSYM'lerinizi otomatik olarak oluşturacak, işleyecek ve dosyaları yükleyecek şekilde nasıl yapılandırılacağı açıklanmaktadır.

  1. Projenizin Xcode çalışma alanını açın, ardından sol gezginde proje dosyasını seçin.

  2. HEDEFLER listesinden ana derleme hedefinizi seçin.

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

    1. Tümü'nü tıklayın ve debug information format simgesini arayın.

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

  4. Build Phases (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. > New Run Script Phase'i (Yeni Çalıştırma Komut Dosyası Aşaması) tıklayın.

      Bu yeni Run Script aşamasının projenizin son derleme aşaması olduğundan emin olun. Aksi takdirde Crashlytics, dSYM'leri düzgün şekilde işleyemez.

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

    3. Senaryo alanına (Shell etiketinin altında bulunur) aşağıdaki çalıştırma senaryosunu ekleyin.

      Bu komut dosyası, projenizin dSYM dosyalarını işler ve dosyaları Crashlytics'ya 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)
      Proje derleme ayarlarınızda ENABLE_USER_SCRIPT_SANDBOXING=YES ve ENABLE_DEBUG_DYLIB=YES varsa aşağıdakileri ekleyin:
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib

dSYM dosyaları ve Crashlytics hakkında daha ayrıntılı bilgi edinmek (dSYM dosyalarını manuel olarak yükleme dahil) için Kodları karartılmış çökme raporlarının kodunu gösterme başlıklı makaleyi inceleyin.

3. adım: Kurulumu tamamlamak için testin kilitlenmesini zorlayın

Crashlytics kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesi zorlamanız gerekir.

  1. Uygulamanıza, test sırasında kilitlenmeyi zorlamak için kullanabileceğiniz bir kod ekleyin.

    Aşağıdaki kodu kullanarak uygulamanıza, basıldığında kilitlenmeye neden olan bir düğme ekleyebilirsiniz. Düğme "Test Çökmesi" olarak etiketlenir.

    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
  2. Uygulamanızı Xcode'da Xcode hata ayıklayıcısı bağlantısı kesilmiş şekilde oluşturun ve çalıştırın.

    1. Uygulamanızı bir test cihazında veya simülatörde oluşturmak için Build and then run the current scheme'i (Oluştur ve ardından mevcut ş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 ile çakışan hata ayıklayıcıyı içeriyordu.

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

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

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

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

  4. Firebase konsolunda, test kilitlenme raporunuzu kontrol etmek için DevOps & Engagement > Crashlytics kontrol paneline gidin.

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


Hepsi bu kadar. Crashlytics artık uygulamanızdaki kilitlenmeleri izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar

  • Kilitlenme raporu kurulumunuzu özelleştirin (isteğe bağlı raporlama, günlükler, anahtarlar ve önemli olmayan hataların izlenmesi ekleyerek).

  • Verilerinizi sorgulama, özel kontrol panelleri oluşturma ve özel uyarılar ayarlama gibi gelişmiş analizler ve özellikler için verilerinizi BigQuery veya Cloud Logging'ya aktarın.