【问题标题】:Xcode 5 equivalent of NS_BLOCK_ASSERTIONS in Build SettingsXcode 5 等效于构建设置中的 NS_BLOCK_ASSERTIONS
【发布时间】:2013-12-04 14:23:22
【问题描述】:

在 Xcode 5 之前,可以使用默认的构建设置阻止发布构建包含 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 才能发布版本?

【问题讨论】:

    标签: xcode compiler-construction build xcode5 compiler-flags


    【解决方案1】:

    它现在有了自己的设置字段! 启用基础断言。将您的调试设置为是,将您的发布设置为否,如下面的截屏所示。

    注意:您需要在构建设置选项卡的左上角单击“全部”才能看到它,您可以在我的屏幕中看到左上角的蓝色“全部”。

    【讨论】:

    • 情节变厚了。从实验来看,Xcode 5 中的新标志 - “启用基础断言”或 ENABLE_NS_ASSERTIONS - 似乎确实有效。但是,如果您检查 NSException.h,它仍然会检查先前的标志 NS_BLOCK_ASSERTIONS。参见#if !defined(NS_BLOCK_ASSERTIONS)(来自prod.lists.apple.com/archives/xcode-users/2013/Oct/…)。
    猜你喜欢
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    相关资源
    最近更新 更多