[sql] Xcode 4 및 핵심 데이터 : SQL 디버깅을 활성화하는 방법

범용 iOS 앱에서 작업 중이며 디버깅 할 때 로그에서 원시 SQL을보고 싶습니다. 이 블로그 게시물 에는 iOS 코어 데이터 개발을 위해 원시 SQL 로깅을 활성화하는 방법에 대한 정보가 있습니다 . 주어진 예제는 Xcode 3에 대한 것이며 Xcode 4에서 이것을 활성화하는 방법이 명확하지 않습니다.

“Product”-> “Edit Scheme”을 시도 하고 “Arguments Passed on Launch”에 ” -com.apple.CoreData.SQLDebug 1 “을 추가 했지만 여전히 로그에 출력이 표시되지 않습니다. 내가 잘못된 곳을 찾고 있는지 아니면 단순히 인수를 잘못 전달하고 있는지 확실하지 않습니다.



답변

NSLOGS를받는 것과 같은 위치를보고 있어야합니다.

그리고 Product-> Edit Scheme-> 왼쪽 패널에서 Run YOURAPP.app를 선택하고 메인 패널의 Arguments 탭으로 이동해야합니다.

여기에서 Argument Passed On Launch를 추가 할 수 있습니다.

추가해야합니다 -com.apple.CoreData.SQLDebug 4(1에서 4 사이의 숫자, 숫자가 높을수록 더 상세 함)

확인을 누르면 모든 설정이 완료됩니다.

여기서 핵심은 테스트에 사용할 구성표를 편집하는 것입니다.


답변

XCode 4

NSZombieEnabled를 관리하는 동일한 장소에 있습니다.

제품-> 스키마 편집-> YouApp.app 디버그 실행

“실행시 전달 된 인수”아래에 정확히 다음을 붙여 넣습니다.

-com.apple.CoreData.SQLDebug 1

경고-이 항목은 매우 장황합니다. 핵심 데이터 문제가있는 경우 살펴볼 가치가 있지만 잘못된 항목에 대해 필요한 것보다 더 많은 정보를 제공 할 수도 있습니다.


답변

나는 이것에 문제가 있었는데 그것이 어리석은 누락이라는 것을 깨달았습니다. 에 인수를 입력 할 때 Xcode (4.3.1)선행 하이픈을 생략했습니다. 명령 줄에 입력했다면 그렇게하지 않았을 것입니다.하지만 GUI에서는 생략했습니다. 2 개의 개별 인수 또는 1 개 (일부 게시물에서 제안했듯이)를 입력하는 것 사이에 차이가 없습니다. 따라서 다음을 사용하십시오.

-com.apple.CoreData.SQLDebug 1

그리고 단순히 :

com.apple.CoreData.SQLDebug 1

시뮬레이터와 실제 장치 모두에서 저에게 효과적이었습니다.


답변

전달 된 값의 다른 수준을 입력 할 수 있습니다. 점점 더 자세한 정보를 제공합니다.

-com.apple.CoreData.SQLDebug 1
-com.apple.CoreData.SQLDebug 2
-com.apple.CoreData.SQLDebug 3
-com.apple.CoreData.SQLDebug 4 // This will actually show parameter binds ("?")


답변