xcodebuild 参数 -enableAddressSanitizer 等不尊重 NO

问题描述

我使用 xcodebuild 命令行工具构建了我的 macOS 应用程序,最近通过将它们包装到工作区中来对我的项目进行现代化改造。我在使用 xcodebuild 时遇到了问题,直到我在构建脚本中更改了它的调用以传递参数 -workspace-scheme 而不是 -project-target

我不喜欢这种变化——在我看来,这像是构建系统中的分层违规,因为我一直认为 Schemes 用于在 Xcode 中进行调试。我接受这是孩子们现在正在做的事情。

但是现在,我发现了另一个问题。在最近的调试中,在我的方案 > 诊断中,我打开了几个 Santizer。今天,我运行了我的运输构建脚本,该脚本通过将新包裹的内容与先前运输的包裹的内容进行比较来进行完整性检查。今天,它发现了一些名为 libclang_rt.tsan_osx_dynamic.dyliblibclang_rt.ubsan_osx_dynamic.dylib 的新文件,显然是由于这些消毒剂。在 xcodebuild 文档中,我看到有参数 -enableAddressSanitizer-enableThreadSanitizer-enableundefinedBehaviorSanitizer 可以切换到 NO。所以我将这些参数添加到我的脚本中,并做了一个 Clean Build Folder 但在随后的 xcodebuilds 之后,那些 sanitizer dylib 仍然出现在我的产品中。

这是 xcodebuild 中的错误还是我做错了?

这是我的脚本调用的典型 xcodebuild 命令:

xcodebuild -workspace "BkmkMgrs.xcworkspace" -scheme "BookMacster" -configuration Release -enableAddressSanitizer NO -enableThreadSanitizer NO -enableundefinedBehaviorSanitizer NO build

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)