Estou trabalhando em um aplicativo iOS universal e gostaria de ver o SQL bruto nos logs quando estou depurando. Há algumas informações nesta postagem do blog sobre como habilitar o log de SQL bruto para o desenvolvimento de dados principais do iOS. O exemplo fornecido é para o Xcode 3 e não está claro para mim como habilitar isso no Xcode 4.
Eu tentei "Product" -> "Edit Scheme" e adicionei " -com.apple.CoreData.SQLDebug 1 " a "Arguments Passed on Launch", mas ainda não estou vendo nenhuma saída nos logs. Não tenho certeza se estou procurando no lugar errado ou apenas passando os argumentos incorretamente.
Respostas:
Você deveria estar olhando para o mesmo lugar onde obteve NSLOGS
E você deve ir para Produto -> Editar esquema -> Em seguida, no painel esquerdo, selecione Executar YOURAPP.app e vá para a guia Argumentos do painel principal.
Lá você pode adicionar um argumento transmitido no lançamento.
Você deve adicionar
-com.apple.CoreData.SQLDebug 4
(número entre 1 e 4, número maior torna mais detalhado)Pressione OK e está tudo pronto.
A chave aqui é editar o esquema que você usará para o teste.
fonte
UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ?
e não é muito útil para ver realmente quais são os dados sendo enviadosXCode 4
Está no mesmo lugar que gerencio meu NSZombieEnabled
Produto -> Editar Esquema -> Executar YouApp.app Debug
Em "Argumentos passados no lançamento", cole exatamente:
-com.apple.CoreData.SQLDebug 1
Aviso - essas coisas são muito prolixas, se você estiver tendo problemas com Core Data, pode valer a pena dar uma olhada, mas também pode ser mais informações do que você precisa sobre a coisa errada.
fonte
Eu estava tendo um problema com isso e então percebi que era uma omissão boba, que suponho ser um erro recente para alguns de vocês. Quando entrei na discussão
Xcode (4.3.1)
, deixei de fora o hífen inicial. Eu não teria feito isso se estivesse inserindo em uma linha de comando, mas na GUI eu o omiti. Eu não encontrei nenhuma diferença entre entrar em 2 args separados ou um (como alguns posts sugeriram). Então use:-com.apple.CoreData.SQLDebug 1
e não simplesmente:
com.apple.CoreData.SQLDebug 1
que funcionou para mim tanto no simulador quanto no dispositivo real
fonte
Observe que você pode colocar diferentes níveis do valor passado. Que fornecem mais e mais verbosidade.
fonte