Kiểm thử việc triển khai Crashlytics (nền tảng Apple)

Chọn nền tảng: iOS+ Android Flutter Unity


Hãy sử dụng hướng dẫn này nếu bạn đã làm theo hướng dẫn bắt đầu, và vẫn không thấy sự cố trong trang tổng quan Crashlytics.

Bắt buộc gây ra sự cố để kiểm thử quá trình triển khai

  1. Thêm mã vào ứng dụng mà bạn có thể dùng để bắt buộc gây ra sự cố thử nghiệm.

    Bạn có thể dùng mã sau đây để thêm một nút vào ứng dụng. Khi nhấn nút này, ứng dụng sẽ gặp sự cố. Nút này có nhãn "Test Crash" (Kiểm thử sự cố).

    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. Tạo và chạy ứng dụng trong Xcode khi trình gỡ lỗi Xcode bị ngắt kết nối.

    1. Nhấp vào Build and then run the current scheme (Tạo rồi chạy lược đồ hiện tại) để tạo ứng dụng trên thiết bị thử nghiệm hoặc trình mô phỏng.

    2. Đợi cho đến khi ứng dụng của bạn đang chạy, sau đó nhấp vào Dừng chạy lược đồ hoặc hành động để đóng thực thể ban đầu của ứng dụng. Thực thể ban đầu này bao gồm trình gỡ lỗi gây cản trở Crashlytics.

  3. Bắt buộc gây ra sự cố thử nghiệm để gửi báo cáo sự cố đầu tiên của ứng dụng:

    1. Mở ứng dụng trên màn hình chính của thiết bị thử nghiệm hoặc trình mô phỏng.

    2. Trong ứng dụng, hãy nhấn vào nút "Test Crash" (Kiểm thử sự cố) mà bạn đã thêm bằng mã ở trên.

    3. Sau khi ứng dụng của bạn gặp sự cố, hãy chạy lại ứng dụng đó trong Xcode để ứng dụng có thể gửi báo cáo sự cố đến Firebase.

  4. Trong bảng điều khiển Firebase, hãy chuyển đến trang tổng quan DevOps & Engagement > Crashlytics để kiểm tra báo cáo sự cố thử nghiệm .

    Nếu bạn đã làm mới bảng điều khiển và vẫn không thấy sự cố thử nghiệm sau 5 phút, hãy thử bật tính năng ghi nhật ký gỡ lỗi (phần tiếp theo).

Bật tính năng ghi nhật ký gỡ lỗi cho Crashlytics

Nếu không thấy sự cố thử nghiệm trong trang tổng quan Crashlytics, bạn có thể sử dụng tính năng ghi nhật ký gỡ lỗi cho Crashlytics để giúp theo dõi vấn đề.

  1. Bật tính năng ghi nhật ký gỡ lỗi:

    1. Trong Xcode, hãy chọn Product > Scheme > Edit scheme (Sản phẩm > Lược đồ > Chỉnh sửa lược đồ).

    2. Chọn Run (Chạy) trong trình đơn bên trái, sau đó chọn thẻ Arguments (Đối số).

    3. Trong phần Arguments Passed on Launch (Đối số được chuyển khi mở), hãy thêm -FIRDebugEnabled.

  2. Bắt buộc gây ra sự cố thử nghiệm. Phần đầu tiên trên trang này mô tả cách thực hiện việc này.

  3. Trong nhật ký, hãy tìm thông điệp nhật ký từ Crashlytics có chứa chuỗi sau đây. Chuỗi này xác minh rằng ứng dụng của bạn đang gửi sự cố đến Firebase.

    Completed report submission

Sau 5 phút, nếu bạn vẫn không thấy nhật ký này hoặc sự cố thử nghiệm trong trang tổng quan DevOps & Engagement > Crashlytics của Firebase, hãy liên hệ với Nhóm hỗ trợ Firebase và gửi bản sao đầu ra nhật ký để chúng tôi có thể giúp bạn khắc phục sự cố thêm.

Các bước tiếp theo