我按照integration-into-xcode的教程,它适用于Xcode 9,在Xcode 10中,选择文件 - >项目/工作区设置,有一个Build System选项,新的构建系统被选为默认设置,使用此默认设置,clang路径为总是设置为/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
,来自Obfuscator.xcspec文件的ExecPath
的值不受尊重,我怎样才能使它适用于新的构建系统?
似乎XCode10不再处理ExecPath
键了。
一种可能的解决方案是覆盖CC
,LD
和AR
以获得类似的结果。这可以通过两种不同的方式完成:
CC
的新编译器选项。CC
的设置,并将其设置为您在ExecPath
键中放置的值。两种解决方案都依赖于相同的机制。如果已定义,则使用这些变量代替所选的工具链。默认情况下这些是空的。但是,根据我的测试,这在以前版本的XCode中有点不同,其中变量首先由XCode解析(我相信使用whereis)。例如定义CC=echo
,XCode9用/bin/echo
编译,而XCode10用echo
编译。如果XCode9无法找到可执行文件,则可能导致索引任务冻结。
从Xcode7-ish开始,您可以直接使用工具链