在 Xcode 中,所有目标的构建设置都继承自项目的构建设置。项目的构建设置继承自“iOS Default”。下面显示了此继承,其中选择了Levels而不是Combined。
对于那些不知道的人,项目设置下的粗体条目表示覆盖。通过突出显示设置然后按 COMMAND-BACKSPACE 可以“清除”覆盖。
对于我创建的每个重要项目,不断改变这些价值观变得非常老旧。特别是像其他 C 标志这样的项目,我必须在其中添加-Wall -Wextra -Wconversion -wstrict-overflow
。预处理器宏是另一个必须始终修复以包含 Posix 的NDEBUG=1
. 我绝对认为缺少NDEBUG=1
发布版本是一个错误,因为 Posix 需要NDEBUG
删除abort()
由assert()
; 并且 Apple 的 UI 标准不允许abort()
. (DEBUG=1
对于 Debug 构建来说是类似的,因为尽管 Posix 只是标准化的,但仍有很多人NDEBUG
使用它)。
从下面的@Petesh,我知道我可以为每个项目使用一个配置(也许创建一次,然后重新使用它)。但这意味着我正在应用“正确”或“正确”设置来掩盖“IOS 默认”模板中的缺陷设置。我的目的是一劳永逸地解决问题的根源。
如何编辑默认设置模板?文件系统上是否有代表“iOS Default”的物理文件?如果是这样,可以编辑它(是 XML)吗?
更新:基于@Peresh 的回答(没有磁盘文件可以永久修复该问题):RADAR 12941954。它可能会在 Apple 的错误报告系统中未经确认、未答复和未修复多年,就像其他人喜欢的错误一样我和其他人花时间报告。