NS_BLOCK_ASSERTIONS是否同时禁用NSAssert和assert()调用?

时间:2013-08-20 16:06:19

标签: iphone ios objective-c

NS_BLOCK_ASSERTIONS仅关闭NSAssert来电还是assert()来电。我的应用程序在发布模式下使用assert(...)语句崩溃。

documentation仅表示NSAssert并且不会告知assert()来电是否被禁用。

有几个与我有关的问题没有回答。我在这里链接他们:

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?

1 个答案:

答案 0 :(得分:7)

不,assert()NDEBUG符号控制:

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

(如果您安装了Xcode命令行工具,或者Xcode.app包中的其他地方,请参阅/usr/include/assert.h,如果没有)。