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?
答案 0 :(得分:7)
不,assert()
由NDEBUG
符号控制:
#ifdef NDEBUG
#define assert(e) ((void)0)
#else
...
(如果您安装了Xcode命令行工具,或者Xcode.app包中的其他地方,请参阅/usr/include/assert.h
,如果没有)。