Bu hızlı başlangıç, Firebase konsolunda kapsamlı kilitlenme raporları alabilmeniz için uygulamanızda Firebase Crashlytics SDK'sı ile Firebase Crashlytics'i nasıl kuracağınızı açıklar.
Crashlytics'i kurmak, hem Firebase konsolunda hem de IDE'nizde (Firebase yapılandırma dosyası ve Crashlytics SDK'sı eklemek gibi) görevler gerektirir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermek amacıyla bir test kilitlenmesini zorlamanız gerekir.
Sen başlamadan önce
Henüz yapmadıysanız Firebase'i Apple projenize ekleyin . Apple uygulamanız yoksa örnek bir uygulama indirebilirsiniz.
Önerilen : Kilitlenme sorunu yaşamayan kullanıcılar, içerik haritası günlükleri ve hız uyarıları gibi özelliklerden yararlanmak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.
Crashlytics tarafından desteklenen tüm Apple platformları (watchOS hariç) Google Analytics'in bu özelliklerinden yararlanabilir. MacOS ve tvOS uygulamaları için SDK v8.9.0+ sürümüne ihtiyacınız olduğunu unutmayın.
Mevcut Firebase projenizde Google Analytics etkin değilse Google Analytics'i projenizin Entegrasyonlar sekmesinden etkinleştirebilirsiniz.
Firebase konsolunda > Proje ayarları .Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics'i etkinleştirin.
1. Adım : Crashlytics SDK'sını uygulamanıza ekleyin
Firebase bağımlılıklarını yüklemek ve yönetmek için Swift Paket Yöneticisini kullanın.
- Xcode'da uygulama projeniz açıkken Dosya > Paket Ekle'ye gidin.
- İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
- Crashlytics kitaplığını seçin.
-
-ObjC
bayrağını hedefinizin derleme ayarlarının Diğer Bağlayıcı Bayrakları bölümüne ekleyin. - Optimum Crashlytics deneyimi için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'sını uygulamanıza eklemenizi öneririz. IDFA koleksiyonu olmayan veya IDFA koleksiyonu olan kütüphaneyi seçebilirsiniz.
- Bitirdiğinizde Xcode, bağımlılıklarınızı arka planda otomatik olarak çözmeye ve indirmeye başlayacaktır.
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
aktarın:Süratli
import Firebase
Amaç-C
@import Firebase;
Genellikle uygulama temsilcinizin
application(_:didFinishLaunchingWithOptions:)
yönteminde birFirebaseApp
paylaşılan örneği yapılandırın:Süratli
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Amaç-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
İnsanların okuyabileceği kilitlenme raporları oluşturmak için Crashlytics'in projenizin hata ayıklama sembolü (dSYM) dosyalarına ihtiyacı vardır. Aşağıdaki adımlarda, uygulamanızı her oluşturduğunuzda dSYM'lerinizi otomatik olarak oluşturacak, işleyecek ve dosyaları yükleyecek şekilde Xcode'un nasıl yapılandırılacağı açıklanmaktadır.
Projenizin Xcode çalışma alanını açın, ardından sol gezginde proje dosyasını seçin.
HEDEFLER listesinden ana yapı hedefinizi seçin.
Derleme Ayarları sekmesine tıklayın ve ardından Xcode'un derlemeleriniz için dSYM'ler üretmesi için aşağıdaki adımları tamamlayın.
Tümü'nü tıklayın, ardından
debug information format
arayın.Tüm yapı türleriniz için Hata Ayıklama Bilgi Formatını
DWARF with dSYM File
olarak ayarlayın.
Oluşturma Aşamaları sekmesine tıklayın ve ardından Xcode'un dSYM'lerinizi işleyebilmesi ve dosyaları yükleyebilmesi için aşağıdaki adımları tamamlayın.
Bu yeni Komut Dosyasını Çalıştırma aşamasının projenizin son oluşturma aşaması olduğundan emin olun; aksi takdirde Crashlytics dSYM'leri düzgün şekilde işleyemez.
Yeni Komut Dosyasını Ç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üne 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 için (dSYM dosyalarının manuel olarak nasıl yükleneceği dahil), Gizlemesi kaldırılmış kilitlenme raporlarını alın sayfasını ziyaret edin.
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 zorlamanız gerekir.
Test çökmesini zorlamak için kullanabileceğiniz kodu uygulamanıza ekleyin.
Uygulamanıza basıldığında çökmeye neden olan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğmenin etiketi "Çarpışmayı Test Et"tir.
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Süratli
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] } }
Amaç-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
Uygulamanızı Xcode hata ayıklayıcısının bağlantısı kesilmiş halde Xcode'da derleyin ve çalıştırın.
Uygulamanız çalışana kadar bekleyin ve ardından uygulamanızın ilk örneğini kapatmak için şemayı veya eylemi çalıştırmayı durdur'a
. Bu ilk örnek, Crashlytics'e müdahale eden hata ayıklayıcıyı içeriyordu.
Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorlayın:
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 "Test Crash" butonuna basın.
Uygulamanız kilitlendikten sonra, uygulamanızın 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 yenilediyseniz ve beş dakika sonra hâlâ test kilitlenmesini göremiyorsanız uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlüğünü etkinleştirin .
Ve bu kadar! Crashlytics artık uygulamanızda çökme olup olmadığını izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve araştırmak için Crashlytics kontrol panelini ziyaret edin.
Sonraki adımlar
- İsteğe bağlı raporlama, günlükler, anahtarlar ve önemli olmayan hataların takibini ekleyerek kilitlenme raporu kurulumunuzu özelleştirin .