2013-08-20 1 views
3

NS_BLOCK_ASSERTIONSNSAssert 호를 끄거나 assert() 호를 끕니다. 내 응용 프로그램이 assert(...) 문을 사용하여 줄의 릴리스 모드에서 충돌합니다. NS_BLOCK_ASSERTIONS는 NSAssert와 assert() 호출을 모두 비활성화합니까?

documentation

는 약 NSAssert enter code here을 말한다 및 어설() enter code here 전화를 사용할 수있는 경우 말하지 않습니다.

답변하지 않은 질문과 관련하여 몇 가지 질문이 있습니다. 나는 여기에 연결 해요 : 당신은 엑스 코드 명령 행 도구가있는 경우

#ifdef NDEBUG 
#define assert(e) ((void)0) 
#else 
... 

이 (/usr/include/assert.h를 참조하십시오

NS_BLOCK_ASSERTIONS in Objective-C
NSAssert vs. assert: Which do you use, and when?
How to know if NSAssert is disabled in release builds?

+0

모든 주장이 디버그 모드에서만 유효하므로 Swift에서 NS_BLOCK_ASSRETIONS가 필요하지 않습니다. –

답변

6

아니, assert()NDEBUG 기호 제어 Xcode.app 번들에 설치되어 있지 않은 경우).

관련 문제