·5 dk okuma

Mac'te Core Data SQLite Dosyaları Nasıl Taranır

Core Data verilerini SQLite dosyalarında saklar, ancak Apple bunları incelemek için görsel bir araç sunmaz. Kalıcı verileri hata ayıklamak, uygulama konteynerlerinde arama yapmak ve ham SQL çıktısını okumak anlamına gelir.

iOS veya macOS uygulamanızda bir Core Data sorununu hata ayıklıyorsunuz. Veri UI'da yanlış görünüyor ve altta yatan SQLite dosyasında gerçekte neyin saklandığını görmeniz gerekiyor. Xcode'un Core Data model düzenleyicisi şemanızı gösterir, ancak gerçek kalıcı verileri taramanıza izin vermez. Bu yüzden arama yapmaya gidiyorsunuz — uygulama konteynerini bulun, .sqlite dosyasını bulun, Terminal'i açın ve ZUSER ve ZPOST gibi adlara sahip tablolara karşı ham sorgular çalıştırmaya başlayın, burada her sütun Z ile öneklenmiştir ve hiçbir şey varlık adlarınızla sezgisel olarak eşleşmez.

Core Data'nın SQLite Dosyalarını İncelemek Zordur

Core Data, varsayılan kalıcı deposu olarak SQLite kullanır, ancak kendi kurallarını ekler. Varlık adları tablo adında Z öneki alır. Nitelikler Z öneki eklenmiş sütun adları alır. İlişkiler, hemen tanımayabileceğiniz sütunlarda tamsayı yabancı anahtarlar olarak saklanır. Core Data'nın dahili olarak yönettiği bir Z_METADATA tablosu ve bir Z_PRIMARYKEY tablosu vardır.

Bunların hiçbiri manuel incelemeyi kolaylaştıracak şekilde belgelenmemiştir. SELECT * FROM ZUSER; gibi sorgular çalıştırıp Z öneki eklenmiş sütunları yönetilen nesne modelinize geri eşleştirmeye çalışırsınız. Terminal'de, sözdizimi vurgulama ve görsel ızgara olmadan, bu sıkıcıdır.

Xcode burada yardımcı olmaz. Yerleşik bir SQLite tarayıcısı yoktur. Instruments aracı Core Data işlemlerini profilleyebilir, ancak size gerçek satır verisini göstermez. Ayrı bir araca ihtiyacınız var.

Tome ile Core Data SQLite Dosyalarını Tarayın

Tome, Core Data'nın SQLite dosyalarını başka herhangi bir veritabanı gibi açar. Uygulamanızın konteynerine gidin, .sqlite dosyasını bulun ve Tome'da açın. Z öneki eklenmiş her tablo kenar çubuğunda görünür. Tüm satırları ve değerlerini kaydırılabilir bir ızgarada görmek için birine tıklayın.

Tome, Z öneki eklenmiş tabloları gösteren bir Core Data SQLite dosyasını tarıyor

Gerçek Veriyi Görün

Uygulamanız yanlış değeri gösterdiğinde, SQLite dosyasını Tome'da açın ve gerçek saklanan veriyi kontrol edin. Değer veritabanında mı yanlış, yoksa bir alma/görüntüleme hatası mı? Ham veriye görsel erişime sahip olmak bu soruyu saniyeler içinde yanıtlar.

İlişkileri ve Meta Verileri İnceleyin

Core Data'nın varlık türlerini ve birincil anahtarları nasıl izlediğini görmek için Z_PRIMARYKEY tablosunu tarayın. İlişkilerin doğru şekilde saklandığını doğrulamak için yabancı anahtar sütunlarını kontrol edin. Model sürüm karmasını görmek için Z_METADATA'yı inceleyin.

Tanılama Sorguları Çalıştırın

Core Data'nın Z öneki eklenmiş tabloları arasında birleştirmeler yazmak, belirli kayıtları filtrelemek veya bir geçiş sorununu gösterebilecek yetim satırları kontrol etmek için Tome'un SQL sorgu düzenleyicisini kullanın. Sözdizimi vurgulama ve otomatik tamamlama, Terminal'de ham sorgular çalıştırmaktan daha kolay hale getirir.

İncelemek Güvenli, Bulmak Kolay

Simulator için, uygulamanızın SQLite dosyası ~/Library/Developer/CoreSimulator/ içinde derinlerde yaşar. Bir macOS uygulaması için, ~/Library/Containers/ veya ~/Library/Application Support/ kontrol edin. Dosyayı bulduktan sonra, Tome'un dock simgesine sürükleyin ve taramaya başlayın.

Tome'u Mac App Store'dan edinin

Sonraki Makale

Tome

Browse, query, and edit SQLite databases in a native Mac app.

Get Tome on the Mac App Store