2012-08-01 2 views
3

어떤 트릭/도구로도 앱에서 NSLog 행을 삭제할 수 있습니까? 나는 보통 각각의 모든 메소드에서 NSLog's을 사용하여 컨트롤의 흐름을 이해하고 앱의 변수 값을 알아 낸다. 또한 메서드와 변수의 특성을 설명하기 위해 많은 주석 줄을 사용합니다.내 Xcode 응용 프로그램에서 NSLog의 모든 의견을 삭제하는 방법은 무엇입니까?

어느 시점에서이 NSLog과 주석 행은 프로그램을 이해하기 어렵게 만듭니다. 그래서 나는 그들을 지우고 재창조해야한다. Xcode에서 어떤 트릭으로 보이거나 숨길 수 있습니까?

+1

콘솔 출력을 무시하는 것은 어떻습니까? –

+0

Xcode에서 모두 바꾸기 ???? –

답변

11

=> 정규 표현식

에게
스타일을 바꾸기를 선택 찾기에

카릭을 (cmd를 교대-F, 또는 편집 찾기, 작업 영역에서 찾기) 도구를 대체 & 글로벌 연구에 사용 NSLogs를 들어

,

NSLog\(.*\).*$ 

가 스파에 의해 대체 검색 ce.

\/\/.*$ 

\/\*.*\*\/ 

공백에 의해 대체 comments, 검색하십시오

.

그리고 그 사람

/* fjeizghrij 
    eopgfjeipgez 
*/ 

내가 안전하게 잡아하는 방법을 모르기 때문에

수동 교체하여 마무리?

편집 : 당신이을 취소 할 수 없습니다 때문에 마침내

대체이 글로벌 조심! 예를 들어, 프로젝트를 복사/붙여 넣기하십시오. 전역 대체의 미리보기 기능을 사용하여 각 항목을 확인해야합니다.

+1

아래쪽 투표를 닫으십시오 ... 정규 표현식을 사용하여 코드를 수정하는 것은 상당히 허약합니다. 일반적으로 로그 라인의 하위 표현식이있는 경우에는 잘못된 작업을 수행합니다. 그리고 로그를 영구적으로 잃어 버립니다. – bbum

+0

네, 맞습니다.하지만 그 일을합니다. 아마도 글로벌 대체품의 미리보기 기능에 대해 이야기해야 할 것입니다. 편집을 위해 – Martin

+2

... 그리고 upvote! 해명 해줘서 고마워. 글로벌 찾기 및 파괴는 매우 유용하지만, 그것이 얼마나 파괴적인지를 아는 것이 중요합니다. 릴리즈 브랜치를 잘라 내고 모든 디버깅 힙을 찾아서 파괴 한 다음 제출을 위해 유용 할 수 있습니다! – bbum

4

정확한 이유가 무엇인지 확실하지 않아서 NSLog 행과 설명을 삭제하려고합니다. 당신이 주석을 제거하기 위해 하드 소스 코드를 읽을 수 있는지

, 는 배경으로 동일하게 Xcode의 기본 설정 에 코멘트를 색상를 설정하거나 1 자신의 글꼴 크기를 설정할 때 당신이 그들을 볼 수 없습니다 당신은 코드를 읽는다. :)

나는 NSLog에 대한 아이디어가 없지만 최종 릴리스에서 원하지 않는 로깅을 피하기 위해 다음과 같은 방법을 사용하고 있습니다.

이 간단한 매크로입니다 : 엑스 코드가DEBUG모드 만 로그인하는

#ifdef DEBUG 
#define DebugLog(...) NSLog(__VA_ARGS__) 
#else 
#define DebugLog(...) { } 
#endif 

나는 일반적으로 NSLog(...)를 사용 하듯이 나는 DebugLog(...)를 사용하고, 그리고 , 나는 필요가 없습니다 앱의 출시 버전을 만들 때 로그를 삭제할 수 있습니다.

관련 문제