پیاده‌سازی Crashlytics خود را آزمایش کنید (پلاتفرم‌های Apple)

انتخاب پلاتفرم: iOS+ Android Flutter Unity


اگر راهنمای شروع به کار را دنبال کرده‌اید و هنوز خرابی‌ها را در داشبورد Crashlytics نمی‌بینید، از این راهنما استفاده کنید.

اجبار به ازکارافتادن برای آزمایش پیاده‌سازی

  1. کدی را به برنامه‌تان اضافه کنید که بتوانید از آن برای ایجاد خرابی آزمایشی استفاده کنید.

    می‌توانید از کد زیر برای افزودن دکمه‌ای به برنامه‌تان استفاده کنید که وقتی فشرده می‌شود، باعث ازکارافتادن برنامه می‌شود. این دکمه «آزمایش خرابی» نام دارد.

    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. برنامه‌تان را در Xcode بسازید و اجرا کنید، درحالی‌که اشکال‌زدای Xcode قطع شده است.

    1. روی ساختن و سپس اجرای طرح فعلی کلیک کنید تا برنامه‌تان را در دستگاه آزمایشی یا شبیه‌ساز بسازید.

    2. صبر کنید تا برنامه‌تان اجرا شود، سپس روی توقف اجرای طرح یا کنش کلیک کنید تا نمونه اولیه برنامه‌تان بسته شود. این نمونه اولیه شامل اشکال‌زدایی است که با Crashlytics تداخل دارد.

  3. برای ارسال اولین گزارش خرابی برنامه‌تان، خرابی آزمایشی را اجباری کنید:

    1. برنامه‌تان را از صفحه اصلی دستگاه آزمایشی یا شبیه‌ساز باز کنید.

    2. در برنامه‌تان، دکمه «آزمایش خرابی» را که بااستفاده از کد بالا اضافه کردید فشار دهید.

    3. پس‌از خرابی برنامه، آن را دوباره از Xcode اجرا کنید تا برنامه بتواند گزارش خرابی را به Firebase ارسال کند.

  4. در کنسول Firebase، به داشبورد DevOps و تعامل > Crashlytics بروید تا گزارش خرابی آزمایشی را بررسی کنید.

    اگر کنسول را بازآوری کرده‌اید و هنوز خرابی آزمایشی را بعداز پنج دقیقه نمی‌بینید، گزارش اشکال‌زدایی را فعال کنید (بخش بعدی).

فعال کردن گزارش اشکال‌زدایی برای Crashlytics

اگر خرابی آزمایشی را در داشبورد Crashlytics نمی‌بینید، می‌توانید از گزارش اشکال‌زدایی برای Crashlytics استفاده کنید تا به ردیابی مشکل کمک کند.

  1. فعال کردن گزارش‌گیری اشکال‌زدایی:

    1. در Xcode، Product > Scheme > Edit scheme را انتخاب کنید.

    2. اجرا را از منوِ سمت راست انتخاب کنید، سپس زبانه آرگومان‌ها را انتخاب کنید.

    3. در بخش Arguments Passed on Launch،‏ -FIRDebugEnabled را اضافه کنید.

  2. اجبار به ازکارافتادن آزمایشی. بخش اول این صفحه نحوه انجام این کار را شرح می‌دهد.

  3. در گزارش‌هایتان، پیام گزارشی از Crashlytics را جستجو کنید که حاوی رشته زیر باشد، که تأیید می‌کند برنامه‌تان خرابی‌ها را به Firebase ارسال می‌کند.

    Completed report submission

اگر پس‌از پنج دقیقه هنوز این گزارش یا خرابی آزمایشی را در داشبورد DevOps و تعامل > Crashlytics در کنسول Firebase نمی‌بینید، با پشتیبانی Firebase تماس بگیرید و نسخه‌ای از خروجی گزارش را ارسال کنید تا بتوانیم در عیب‌یابی بیشتر به شما کمک کنیم.

مراحل بعدی