Uygulama Çökme Toplayıcı
AIBudsCrashReporter, çökme raporlarını yerel olarak yakalar. Böylece ana uygulama raporları sonraki açılışta bulabilir, dahili tanılama akışında gösterebilir, kendi arka ucu üzerinden yükleyebilir ve işledikten sonra silebilir.
Modül ürün onayını, yükleme aktarımını, saklamayı veya destek erişimini tanımlamaz; bunlar ana uygulamanın sorumluluğundadır.
Crash report lifecycle across launches
Crash capture happens in the failing launch; report discovery and product-controlled handling happen after the app starts again.
Erken Kurun, Sonraki Açılışta İşleyin
CrashReporterSDK öğesini özellikler çalışmadan önce uygulama yaşam döngüsünden bir kez kurun. Varsayılan yolda raporlar uygulamanın Documents dizinindeki .aibuds/crash_logs altında saklanır. Uygulamanın belirli bir depolama politikası varsa özel kök yol kullanılabilir.
Önceki çalıştırma çöktüyse son çökme geri çağrısı kullanılabilir en yeni yolu bildirir. Rapor listesi geri çağrısı yerel listenin değiştiğini haber verir. İki geri çağrı da rapor yüklemez veya silmez.
- Swift
- Objective-C
CrashReporterSDK.install(
withLastCrashReportCallback: { path in
guard let path else { return }
// Enqueue consent-aware inspection or upload outside this callback.
},
reportListUpdateCallback: {
// Refresh internal diagnostic state.
}
)[AIBudsCrashReporterSDK
installWithLastCrashReportCallback:^(NSString *_Nullable path) {
if (path == nil) {
return;
}
// Enqueue consent-aware inspection or upload outside this callback.
}
reportListUpdateCallback:^{
// Refresh internal diagnostic state.
}];All-in-One modülü içerir ancak yine de açık bir installCrashReporter çağrısı gerekir.
AI desteğiyle uygulayın
Bu iş akışını AI ile uygulayın
Resmî “AIBuds Çökme Raporlarını Yönetme” becerisini kullanarak iş akışını uygulamanıza uyarlayın.
https://docs-aibuds.github.io/tr/skills/manage-aibuds-crash-reports adresini okuyup yönergeleri izleyin. Bu beceriyle “AIBuds Çökme Raporlarını Yönetme” iş akışını iOS projesinde uygulayıp doğrulayın.Rapor Sahipliği
allCrashReportPaths() rapor yollarını en yeniden eskiye sıralı döndürür. Raporu eşzamansız okuyun veya yükleyin, işlemin başarılı olduğunu doğrulayın ve ardından deleteCrashReport öğesini yalnızca bu listeden alınan yol için çağırın.
Silme işlemine rastgele dosya sistemi yolları vermeyin. Yeniden denemeleri yinelenebilir tutun; arka uç onaylayana veya saklama süresi dolana kadar raporu koruyun.
Kullanıcı Bilgileri
setUserInfo(_:forKey:); String, Int, UInt, Double, Bool ve Date kabul eder; değerler anahtarlarıyla kaldırılabilir. Yalnızca çökme raporunda güvenle saklanabilecek, düşük çeşitliliğe sahip tanılama bağlamı ekleyin.
Erişim belirteçlerinden, dökümlerden, sesten, e-posta adreslerinden, tam aygıt tanımlayıcılarından, kesin konumdan ve diğer kişisel verilerden kaçının. Eski bağlamın sonraki çökmeye eklenmemesi için oturum kapsamlı değerleri oturum bitince kaldırın.
Gizlilik ve İşletim
- Toplama ve yükleme için gereken onayları alın.
- Yüklemeleri şifreleyin ve destek arka ucunda kimlik doğrulayın.
- Yerel ve sunucu tarafındaki erişimi sınırlandırın.
- En uzun rapor saklama süresini ve disk kullanımını tanımlayın.
- Eşleşen derleme yapıtlarıyla güvenilir altyapıda sembolleştirin.
- Çökme raporu aktarım hatalarını uygulamanın başlatılmasından ayırın.
- Üretim doğrulama akışında asla kasıtlı çökme tetiklemeyin.
Doğrulama Kontrol Listesi
- Kurulum erken aşamada ve yalnızca bir kez yapılıyor.
- Önceki çalıştırmanın raporları kritik başlatma yolunun dışında işleniyor.
- Silme işleminden önce yükleme onayı alınıyor.
- Yalnızca listelenen rapor yolları siliniyor.
- Kullanıcı bilgileri sırları ve hassas içeriği kapsamıyor.
- Oturum kapsamlı meta veriler geçerliliğini yitirince kaldırılıyor.
- Saklama, onay, sembolleştirme ve arka uç erişimi belgeleniyor.
- Sürüm derlemesinde çökme yakalama, onaylı üretim dışı senaryoyla test ediliyor.