디버그 빌드에 대한 일부 이벤트를 기록하려고합니다. 디버그에만 DLog()
을 사용하여 로그에 .pch 파일 아래에 코드를 추가했습니다. 빌드 설정에서 IS_DEBUG
매크로를 추가했습니다. 작동하는지 전처리 매크로를 사용하여 앱 빌드가 디버그 또는 릴리스인지 결정
#ifdef IS_DEBUG
#define DLog(...) NSLog(__VA_ARGS__)
#else
#define DLog(...)
#endif
는 테스트하려면 여부, 나는 빌드 설정에서
IS_DEBUG
을 제거하고 응용 프로그램을 실행했습니다. 문제는 디버그/릴리스 앱과 관계없이 항상 로그한다는 점입니다.
DLog
메서드와 전처리 매크로의 이름을 변경하여 동일한 매크로 나 메서드가 다른 곳에서 정의 된 것을 확인했습니다. 그러나 여전히 동일한 문제를 제공합니다. 동일한 매크로 또는 방법이 다른 곳에서는 사용되지 않습니다.
그러나 매크로를 제거하면 값을 기록해서는 안됩니다. 디버그 나 릴리스와 관계 없습니다. – Geek
먼저 NSLog에 대한 직접 호출이 없는지 확인합니다. 그렇지 않으면 IS_DEBUG를 다른 어딘가에 설정해야합니다. –
@Brayn DLog()를 사용했습니다. 질문에서 언급했듯이 매크로 이름과 메소드 이름을 모두 변경하려고했습니다. 따라서 IS_DEBUG가 정의 된 경우 다른 곳에서는 매크로의 이름을 변경해야합니다. 그러나 그렇지 않습니다. – Geek