Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Crashlytics 구현 테스트

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

구현을 테스트하기 위해 강제 종료

  1. 테스트 충돌을 강제 실행하는 데 사용할 수 있는 코드를 앱에 추가합니다.

    다음 코드를 사용하여 눌렀을 때 충돌을 일으키는 버튼을 앱에 추가할 수 있습니다. 이 버튼은 "Test Crash"라는 레이블이 붙어 있습니다.

    스위프트UI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    빠른

    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]
      }
    }
    

    오브젝티브-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에서 앱을 빌드하고 실행합니다.

    1. 빌드를 클릭한 다음 현재 구성표를 실행하여 테스트 장치 또는 시뮬레이터에서 앱을 빌드합니다.

    2. 앱이 실행될 때까지 기다린 다음 를 클릭하여 앱의 초기 인스턴스를 닫습니다. 이 초기 인스턴스에는 Crashlytics를 방해하는 디버거가 포함되었습니다.

  3. 앱의 첫 번째 충돌 보고서를 보내기 위해 테스트 충돌을 강제 실행합니다.

    1. 테스트 장치 또는 시뮬레이터의 홈 화면에서 앱을 엽니다.

    2. 앱에서 위의 코드를 사용하여 추가한 "Test Crash" 버튼을 누릅니다.

    3. 앱이 충돌한 후 Xcode에서 다시 실행하여 앱이 Firebase에 충돌 보고서를 보낼 수 있도록 합니다.

  4. Firebase 콘솔의 Crashlytics 대시보드 로 이동하여 테스트 충돌을 확인하세요.

콘솔을 새로고침했는데 5분이 지나도 테스트 충돌이 표시되지 않으면 디버그 로깅을 활성화해 보십시오(다음 섹션).

Crashlytics에 대한 디버그 로깅 활성화

Crashlytics 대시보드에 테스트 충돌이 표시되지 않으면 Crashlytics에 대한 디버그 로깅을 사용하여 문제를 추적할 수 있습니다.

  1. 디버그 로깅 활성화:

    1. Xcode에서 제품 > 구성표 > 구성표 편집 을 선택합니다.

    2. 왼쪽 메뉴에서 실행 을 선택한 다음 인수 탭을 선택합니다.

    3. 실행 시 전달된 인수 섹션에서 -FIRDebugEnabled 를 추가하십시오.

  2. 테스트 충돌을 강제 실행합니다. 이 페이지의 첫 번째 섹션에서는 이 작업을 수행하는 방법을 설명합니다.

  3. 로그 내에서 다음 문자열이 포함된 Crashlytics의 로그 메시지를 검색합니다. 이 메시지는 앱이 Firebase로 충돌을 보내고 있음을 확인합니다.

    Completed report submission

5분 후에도 Firebase 콘솔의 Crashlytics 대시보드에 이 로그나 테스트 충돌이 표시되지 않으면 로그 출력 사본을 가지고 Firebase 지원 에 연락하여 추가 문제 해결을 도와드릴 수 있습니다.

다음 단계