在 Xcode 5 之前,可以使用默认的build设置阻止发布构建包含 NSAssert
语句及其变体:
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
此设置可在 project.pbxproj
中找到,并在 Xcode 中设置:
(请注意,此抓取来自转换为 Xcode 5 的 Xcode 4 项目。)
每个目标将仅在发布版本中继承此设置。显然这是一件好事。该应用程序不会立即崩溃,而是无论如何都可能会遇到困难。而对于 Debug 构建,您希望在 NSAssert
失败时立即知道。
但是,我很难在 Xcode 5 中找到等价物。
使用默认模板创建新项目没有显示等效设置:
我的问题是,Xcode 5 中的等效设置是什么,或者是否必须手动将 NS_BLOCK_ASSERTIONS
添加到 Other C Flags
以用于发布版本?
最佳答案
它现在有了自己的设置字段! 启用基础断言。将您的调试设置为是,将您的发布设置为否,如下面的截屏所示。
注意:您需要在build设置选项卡的左上角单击“全部”才能看到它,您可以在我的屏幕中看到左上角的蓝色“全部”。
关于Xcode 5 相当于build设置中的 NS_BLOCK_ASSERTIONS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20377845/