Saya sedang mengerjakan aplikasi iOS universal dan saya ingin melihat SQL mentah di log saat saya melakukan debug. Ada beberapa info di posting blog ini tentang cara mengaktifkan pencatatan SQL mentah untuk pengembangan Data Inti iOS. Contoh yang diberikan adalah untuk Xcode 3 dan tidak jelas bagi saya bagaimana mengaktifkannya di Xcode 4.
Saya sudah mencoba "Product" -> "Edit Scheme" dan menambahkan " -com.apple.CoreData.SQLDebug 1 " ke "Arguments Passed on Launch", tapi saya masih belum melihat output apa pun di log. Tidak yakin apakah saya mencari di tempat yang salah atau hanya menyampaikan argumen dengan tidak benar.
Jawaban:
Anda harus melihat di tempat yang sama Anda mendapatkan NSLOGS
Dan Anda harus Pergi ke Produk -> Edit Skema -> Kemudian dari panel kiri pilih Jalankan YOURAPP.app dan pergi ke Tab Argumen panel utama.
Di sana Anda bisa menambahkan Argument Passed On Launch.
Anda harus menambahkan
-com.apple.CoreData.SQLDebug 4
(angka antara 1 dan 4, angka yang lebih tinggi membuatnya lebih bertele-tele)Tekan OK dan Anda sudah siap.
Kuncinya di sini adalah mengedit skema yang akan Anda gunakan untuk pengujian.
sumber
UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ?
dan tidak terlalu berguna untuk benar-benar melihat apa data yang dikirimXCode 4
Itu di tempat yang sama saya mengelola NSZombieEnabled saya
Produk -> Edit Skema -> Jalankan YouApp.app Debug
Di bawah "Arguments Passed on Launch", tempel persis:
-com.apple.CoreData.SQLDebug 1
Peringatan - hal ini sangat bertele-tele, jika Anda mengalami masalah Data Inti, ini mungkin layak untuk dilihat, tetapi mungkin juga lebih banyak info daripada yang Anda butuhkan tentang hal yang salah.
sumber
Saya mengalami masalah dengan ini dan kemudian menyadari bahwa itu adalah kelalaian yang konyol, yang saya anggap sebagai kesalahan besar bagi sebagian dari Anda. Saat saya memasukkan argumen
Xcode (4.3.1)
, saya meninggalkan tanda hubung di depannya. Saya tidak akan melakukannya jika saya memasukkannya pada baris perintah, tetapi di GUI saya telah menghilangkannya. Saya tidak menemukan perbedaan apa pun antara memasukkan pada 2 argumen terpisah atau satu (seperti yang disarankan beberapa posting). Jadi gunakan:-com.apple.CoreData.SQLDebug 1
dan tidak hanya:
com.apple.CoreData.SQLDebug 1
yang berfungsi untuk saya di simulator dan perangkat nyata
sumber
Perhatikan bahwa Anda dapat memasukkan level berbeda dari nilai yang diteruskan. Yang memberikan lebih banyak verbositas.
sumber