บังคับให้เกิดข้อขัดข้องเพื่อทดสอบการใช้งาน
เพิ่มโค้ดลงในแอปของคุณที่ใช้บังคับให้การทดสอบขัดข้องได้
คุณสามารถใช้โค้ดต่อไปนี้เพื่อเพิ่มปุ่มลงในแอป ซึ่ง หากกด จะเป็นการเกิดข้อขัดข้อง โดยปุ่มจะมีป้ายกำกับว่า "ทดสอบข้อขัดข้อง"
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
ชุดเครื่องมือ UI
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
สร้างและเรียกใช้แอปใน Xcode โดยยกเลิกการเชื่อมต่อโปรแกรมแก้ไขข้อบกพร่อง Xcode
คลิก
สร้าง จากนั้น เรียกใช้สคีมปัจจุบันเพื่อสร้างแอปในอุปกรณ์ทดสอบ หรือ เครื่องมือจำลองรอจนกว่าแอปจะทำงาน แล้วคลิก
หยุดเรียกใช้รูปแบบหรือ การดำเนินการเพื่อปิดอินสแตนซ์เริ่มต้นของแอป ชื่อย่อนี้ อินสแตนซ์มีโปรแกรมแก้ไขข้อบกพร่องที่รบกวน Crashlytics
บังคับใช้ข้อขัดข้องจากการทดสอบเพื่อส่งรายงานข้อขัดข้องครั้งแรกของแอป
เปิดแอปจากหน้าจอหลักของอุปกรณ์ทดสอบหรือเครื่องจำลอง
ในแอป ให้กด "ทดสอบข้อขัดข้อง" ที่คุณเพิ่มโดยใช้โค้ด ที่ด้านบน
หลังจากที่แอปขัดข้อง ให้เรียกใช้อีกครั้งจาก Xcode เพื่อให้แอปสามารถ ส่งรายงานข้อขัดข้องไปยัง Firebase
ไปที่แดชบอร์ดของ Crashlytics คอนโซล Firebase เพื่อดูข้อขัดข้องในการทดสอบ
หากรีเฟรชคอนโซลแล้ว แต่ยังไม่เห็นข้อขัดข้องจากการทดสอบ หลังจากผ่านไป 5 นาที ให้ลองเปิดใช้การบันทึกการแก้ไขข้อบกพร่อง (หัวข้อถัดไป)
เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ Crashlytics
หากไม่เห็นข้อขัดข้องจากการทดสอบในหน้าแดชบอร์ด Crashlytics ให้ทำดังนี้ ใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ Crashlytics เพื่อช่วยติดตามปัญหา
เปิดใช้การบันทึกการแก้ไขข้อบกพร่อง:
ใน Xcode ให้เลือก Product > รูปแบบ > แก้ไขรูปแบบ
เลือกเรียกใช้จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์
ในส่วนอาร์กิวเมนต์ที่ผ่านเมื่อเปิดตัว ให้เพิ่ม
-FIRDebugEnabled
บังคับให้ทดสอบข้อขัดข้อง ส่วนแรกในหน้านี้อธิบายถึงวิธีการ
ภายในบันทึก ให้ค้นหาข้อความบันทึกจาก Crashlytics ซึ่ง มีสตริงต่อไปนี้ ซึ่งยืนยันว่าแอปของคุณกำลังส่ง ขัดข้องไปยัง Firebase
Completed report submission
หากไม่เห็นบันทึกนี้หรือข้อขัดข้องในการทดสอบในหน้าแดชบอร์ด Crashlytics ในคอนโซล Firebase หลังจากผ่านไป 5 นาที โปรดติดต่อ ทีมสนับสนุน Firebase พร้อมสำเนาของ เอาต์พุตบันทึกของคุณเพื่อให้เราช่วยแก้ปัญหาเพิ่มเติมได้
ขั้นตอนถัดไป
- ปรับแต่งการตั้งค่ารายงานข้อขัดข้อง ด้วยการเพิ่มการรายงานการเลือกรับ บันทึก คีย์ และการติดตามข้อผิดพลาดที่ไม่ร้ายแรง