Estoy trabajando en una aplicación universal de iOS y me gustaría ver el SQL sin procesar en los registros cuando estoy depurando. Hay algo de información en esta publicación de blog sobre cómo habilitar el registro SQL sin procesar para el desarrollo de datos centrales de iOS. El ejemplo dado es para Xcode 3 y no tengo claro cómo habilitar esto en Xcode 4.
Probé "Producto" -> "Editar esquema" y agregué " -com.apple.CoreData.SQLDebug 1 " a "Argumentos pasados al iniciar", pero todavía no veo ningún resultado en los registros. No estoy seguro de si estoy buscando en el lugar equivocado o simplemente estoy pasando los argumentos incorrectamente.
Respuestas:
Debería buscar en el mismo lugar donde obtiene NSLOGS
Y debe ir a Producto -> Editar esquema -> Luego, desde el panel izquierdo, seleccione Ejecutar YOURAPP.app y vaya a la pestaña Argumentos del panel principal.
Allí puede agregar un argumento transmitido al inicio.
Debe sumar
-com.apple.CoreData.SQLDebug 4
(número entre 1 y 4, un número más alto lo hace más detallado)Presione OK y ya está todo listo.
La clave aquí es editar el esquema que usará para las pruebas.
fuente
UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ?
y no es muy útil para ver realmente cuáles son los datos que se envíanXCode 4
Está en el mismo lugar donde administro mi NSZombieEnabled
Producto -> Editar esquema -> Ejecutar depuración de YouApp.app
En "Argumentos transmitidos al iniciar", pegue exactamente:
-com.apple.CoreData.SQLDebug 1
Advertencia: esto es muy detallado, si tiene problemas con los datos centrales, vale la pena analizarlo, pero también puede ser más información de la que necesita sobre lo incorrecto.
fuente
Tenía un problema con esto y luego me di cuenta de que era una omisión tonta, que supongo que es un error de esquina para algunos de ustedes. Cuando entré en el argumento
Xcode (4.3.1)
, omití el guión inicial. No lo habría hecho si lo hubiera ingresado en una línea de comando, pero en la GUI lo había omitido. No encontré ninguna diferencia entre ingresar en 2 argumentos separados o uno (como sugirieron algunas publicaciones). Entonces usa:-com.apple.CoreData.SQLDebug 1
y no simplemente:
com.apple.CoreData.SQLDebug 1
que funcionó para mí tanto en el simulador como en el dispositivo real
fuente
Tenga en cuenta que puede poner diferentes niveles del valor pasado. Que aportan cada vez más verbosidad.
fuente