Xcode 10如何通过obfuscator-llvm插件使用新的构建系统

时间:2018-09-14 09:46:12

标签: ios xcode llvm llvm-clang xcode10

我遵循integration-into-xcode中的教程,它适用于Xcode 9,在Xcode 10中,选择File-> Project / Workspace Setting,有一个Build System选项,默认选择新的生成系统,默认设置,clang路径始终设置为/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang,Obfuscator.xcspec文件中的ExecPath的值未得到尊重,如何使其与新的构建系统一起使用?

2 个答案:

答案 0 :(得分:0)

似乎XCode10不再处理ExecPath键。

一种可能的解决方案是覆盖CCLDAR ,以获得相似的结果。这可以通过两种不同的方式完成:

  • 在插件中,例如,通过创建名为CC的新编译器选项。
  • 在构建设置窗口或您的项目/目标中作为“用户定义的设置”。只需创建一个名为CC的设置并将其设置为您将在ExecPath键中输入的值即可。

两个解决方案都依赖相同的机制。如果已定义,这些变量将代替所选工具链使用。这些默认为空。但是,根据我的测试,这与以前版本的XCode稍有不同,前一个版本的变量首先由XCode解析(我相信使用 whereis )。例如定义CC=echo时,XCode9用/bin/echo编译,而XCode10用echo编译。如果XCode9无法找到可执行文件,则可能导致索引任务冻结。

答案 1 :(得分:-1)

从Xcode7开始,您可以直接使用工具链