런타임에 을 실행하면 실행중인 응용 프로그램이 디버그 또는 배포판으로 컴파일되었는지 감지 할 수 있습니까?런타임에 iPhone이 디버그/배포 빌드를 실행하는지 감지합니다.
5
A
답변
13
프로젝트 정보에서 디버그 구성을 위해 "DEBUG"(GCC 4.2 - 전처리 섹션에 있음)의 프리 프로세서 매크로를 추가하십시오.
코드에서 #ifdef를 사용하여 디버그 빌드에 포함 할 코드를 포함 시키려면 DEBUG가 정의되어 있는지 확인할 수 있습니다. 아니면도 (당신이 원하는 것이 왜 상상할 수없는) 변수를 설정할 수 있습니다
#ifdef DEBUG
BOOL isBuiltDebug = YES;
#else
BOOL isBuiltDebug = NO;
#endif
편집 : 음, 또 다른 방법은 전 처리기 매크로, 즉에서 부울 값을 정의하는 것입니다 : "DEBUG_BUILD = 1 "및 릴리스 구성의 경우"DEBUG_BUILD = 0 "입니다. 때문에,
if (DEBUG_BUILD) {
....
}
그냥 코드에서 또는 당신이 중 하나를 포함 할 수있는 .H 파일에 이미있는 이름과 일치 할 수있는 매크로 이름을 사용하지 않도록주의 : 그럼 당신은 당신의 코드에서 그 값을 사용할 수 있습니다 전처리 기는 그것을 대체 할 것이고 그러한 종류의 버그를 찾는 것은 정말 고통 스럽습니다.
+ (BOOL) isInDebugMode
{
#ifndef __OPTIMIZE__ // Debug Mode
return YES;
#else
return NO;
#endif
}
하거나 그 문에서 인라인 코드를 작성 :
#ifndef __OPTIMIZE__ // Debug Mode
// Your debug mode code
#else
// Your release mode code
#endif
사용자 지정 처리기 매크로 정의에 대해 생각하지 않고
5
, 당신은 이와 같은 사용자 정의 방법을 쓸 수 있습니다 __OPTIMIZE__
프리 프로세서 설정은 프로젝트 설정과 관련하여 컴파일러가 자동으로 설정하므로 걱정할 필요가 없습니다.
관련 문제
- 1. iPhone이 화면을 잠글 때 감지합니다.
- 2. 프로그램 조건에 따라 런타임에 빌드를 쿼리하십시오.
- 3. 서비스 제어 관리자가 프로세스를 실행하는지 확인하는 방법
- 4. FinalBuilder에서 스크립트를 실행하는지 코드로 확인
- 5. iPhone이 이상한 동작을 UITableViewController
- 6. 광고가로드되는지 감지합니다.
- 7. 컴퓨터가 Active Directory를 실행하는지 확인하는 방법
- 8. iPhone이 XML-RPC를 지원합니까?
- 9. iPhone이 대기 모드가됩니다.
- 10. iPhone이 인터넷에 연결하려고하는지 확인하십시오.
- 11. iPhone - iPhone이 RTSP를 지원합니까?
- 12. iPhone이 중첩 된보기를 생성합니다.
- 13. iPhone이 SQL 서버에 연결
- 14. iPhone이 NSUserDefaults를 UITextField에 입력합니다.
- 15. iphone이 절전 모드가되지 않도록하십시오.
- 16. iphone이 백그라운드 앱을 죽임
- 17. pushViewController iphone이 작동하지 않습니다.
- 18. iPhone이 설정을 삭제하지 않음
- 19. iPhone이 일시 중지되었습니다.
- 20. 런타임에 안드로이드 런타임에 ListView 채우기
- 21. UITextView가 스크롤을 끝내면 감지합니다
- 22. 사용자가 메시지를 삭제했는지 감지합니다.
- 23. 파이썬에서 순환 종속성을 감지합니다.
- 24. XMLHttpRequest가 연결된 시점을 감지합니다.
- 25. jQuery는 양식 변경을 감지합니다.
- 26. 연결이 이루어 졌는지 감지합니다.
- 27. Citrix ICA 프로토콜을 감지합니다.
- 28. PDF를 변조 함을 감지합니다.
- 29. 요소에 오버플로가 발생하는지 감지합니다.
- 30. UITabBarController가 탭 클릭을 감지합니다.
왜이 작업을 원하십니까? – progrmr