【Objective-C】디버그 로그를 개발 환경에서만 표시한다
3059 단어 iOSMacOSXSwiftObjective-CXcode
소개
NSLog를 사용해 출력시킨 로그를 개발 환경에서만 출력시키는 방법을 비망록으로서 기입합니다.
1단계
우선, 적절한 Sample 프로젝트를 작성해, 「Supporting Files」안에 prefix.pch를 작성합니다. (어디라도 좋지만 Xcode6 이전에는 「Supporting Files」에 프로젝트 작성시부터 있었던 것 같기 때문에 이 중에)
이름은 프로젝트 이름 Prefix.pch입니다.
여기서 SamplePrefix.pch
2단계
Build Settings에서
Apple LLVM 7.1 - Language(본 환경은 7.1)의
Prefix Header에 경로를 추가합니다.
순서 1과 같은 장소에 추가했다면 패스는
「프로젝트명/파일명.pch」가 됩니다.
순서 3
1단계에서 만든 "SamplePrefix.pch"에 아래 코드 추가
#ifdef DEBUG
# define NSLog(...) NSLog(__VA_ARGS__)
#else
# define NSLog(...)
#endif
※prefix.pch에 쓴 내용은 import하지 않아도 모든 파일에 적용됩니다
시도해보기
아래와 같이 ViewController.m의 viewDidLoad 내에서 NSLog를 사용해보십시오.
보통 당연하지만 아래와 같이 로그가 출력됩니다.
Scheme의 설정을 아래의 순서로 변경
・Sample(프로젝트명)을 눌러
· Edit Scheme을 눌러
· Build Configuration을 Debug에서 Release로 변경
다시 빌드하면 아래와 같이 NSLog를 주석 처리하지 않았지만 로그가 출력되지 않습니다.
사이고에게
프로젝트 작성시에 이번 절차를 거치면, Release시 실수로 NSLog를 지워 잊고 있었다는 것에도 대응할 수 있다고 생각했습니다.
또한 프로덕션 환경과 개발 환경에서 APIKey와 URL 등이 다른 경우도 이번 macro를 사용하여 구분할 수 있습니다.
Reference
이 문제에 관하여(【Objective-C】디버그 로그를 개발 환경에서만 표시한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takanori_yamashita/items/aaf32fcf9ee59981fd73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)