Merhabalar bu yazımda iOS uygulamalarınızda karşılaştığınız Thread SIGABRT çökmelerini nasıl kolay bir şekilde debug edebileceğinizi göstereceğim.
Bahsettiğim bu çökme olayını çoğunuz karşılaşmışsınızdır. Bu işlem genelde hatalı object yüklemeleri vs durumlarda Xcode AppDelegate sayfasına göndermesiyle gerçekleşir.
Bu olayı tetikleyen basit bir kod örneğide sizlerle paylaşayım.
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let usr = User(name: "Kenan", surname: "Atmaca") UserDefaults.standard.set(usr, forKey: "currentUser") // BUG } }
Burada sınıf nesnesini UserDefaults ile kaydetme işleminde bu çökme ile karşılaşırsınız. Bunun nedeni sınıf tipleri UserDefaults üzerine kaydedilemez Data nesnesine dönüştürülüp eklenebilir. Bu işlemi çözmek içinde daha önceden yazdığım bir yazıyı buraya bırakayım.
Gelelim bu hataları kolay bir şekilde debug işlemi gerçekleştirmeye. Bunun için bir önceki yazımda Symbolic Breakpoint eklediğimiz yerden Exception Breakpoint seçeneğini seçip ilerlemeniz yeterli olacaktır. Daha sonrasında çökme işlemi AppDelegate üzerine değilde direk oluştuğu kod satırını işaret edecektir.
İlk Yorumu Siz Yapın