ทดสอบการติดตั้งใช้งาน 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. คลิก สร้างแล้ว เรียกใช้ Scheme ปัจจุบัน เพื่อสร้างแอปในอุปกรณ์ทดสอบหรือ เครื่องจำลอง

    2. รอจนกว่าแอปจะทำงาน แล้วคลิก หยุดเรียกใช้ Scheme หรือ การดำเนินการ เพื่อปิดอินสแตนซ์เริ่มต้นของแอป อินสแตนซ์เริ่มต้นนี้มีดีบักเกอร์ที่รบกวน Crashlytics

  3. บังคับให้เกิดข้อขัดข้องเพื่อทดสอบเพื่อส่งรายงานข้อขัดข้องแรกของแอป โดยทำดังนี้

    1. เปิดแอปจากหน้าจอหลักของอุปกรณ์ทดสอบหรือเครื่องจำลอง

    2. ในแอป ให้กดปุ่ม "ทดสอบข้อขัดข้อง" ที่คุณเพิ่มโดยใช้โค้ดด้านบน

    3. หลังจากแอปขัดข้อง ให้เรียกใช้แอปอีกครั้งจาก Xcode เพื่อให้แอปส่งรายงานข้อขัดข้องไปยัง Firebase ได้

  4. ในคอนโซล Firebase ให้ไปที่แดชบอร์ด DevOps และการมีส่วนร่วม > Crashlytics เพื่อตรวจสอบรายงานข้อขัดข้องเพื่อทดสอบ

    หากรีเฟรชคอนโซลแล้ว แต่ยังไม่เห็นข้อขัดข้องเพื่อทดสอบหลังจากผ่านไป 5 นาที ให้ลองเปิดใช้การบันทึกการแก้ไขข้อบกพร่อง (ส่วนถัดไป)

เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ Crashlytics

หากไม่เห็นข้อขัดข้องเพื่อทดสอบในแดชบอร์ด Crashlytics คุณ สามารถใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ Crashlytics เพื่อช่วยติดตามปัญหาได้

  1. เปิดใช้การบันทึกการแก้ไขข้อบกพร่องโดยทำดังนี้

    1. ใน Xcode ให้เลือกผลิตภัณฑ์ > Scheme > แก้ไข Scheme

    2. เลือกเรียกใช้ จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์

    3. ในส่วน อาร์กิวเมนต์ที่ส่งเมื่อตอนเริ่ม ให้เพิ่ม -FIRDebugEnabled

  2. บังคับให้เกิดข้อขัดข้องเพื่อทดสอบ ส่วนแรกของหน้านี้อธิบายวิธีทำ

  3. ค้นหาข้อความในบันทึกจาก Crashlytics ในบันทึกของคุณที่ มีสตริงต่อไปนี้ ซึ่งจะยืนยันว่าแอปกำลังส่ง ข้อขัดข้องไปยัง Firebase

    Completed report submission

หลังจากผ่านไป 5 นาที หากยังไม่เห็นบันทึกนี้หรือข้อขัดข้องเพื่อทดสอบใน DevOps และการมีส่วนร่วม > Crashlytics แดชบอร์ด ของ Firebase คอนโซล โปรดติดต่อ ทีมสนับสนุนของ Firebase พร้อมสำเนา เอาต์พุตบันทึกเพื่อให้เราช่วยคุณแก้ปัญหาเพิ่มเติมได้

ขั้นตอนถัดไป