Xcode会读取两个目录的Toolchain:
Xcode.app/Contents/Developer/Toolchains/
~/Library/Developer/Toolchains/
上面目录仅作用于当前路径的Xcode,下面目录作用于所有安装的Xcode。
笔者试验时,最新的Xcode为12.5,默认已经不再显示Toolchain的修改入口。
当向上述路径新增一个自定义的Toolchain时,Toolchain的入口才会显示。可以在两个地方修改Xcode默认使用的Toolchain:
- Xcode->Preferences->Components->Toolchains
- Xcode主菜单->Toolchains
可以以XcodeDefault.xctoolchain为基础修改一个自定义的Toolchain。新Toolchain的plist文件包含以下字段:
- CFBundleIdentifier:Toolchain包名,唯一标识;
- CompatibilityVersion:Xcode适配版本;
- DisplayName:显示的Toolchain名称(可选)
- ShortDisplayName(可选)
其中CompatibilityVersion在试验时发现必须填写2,否则会提示:
The toolchain is not compatible with this version of Xcode.
没有搜索到更多的关于CompatibilityVersion的信息,可以参考Support for generating Xcode 8 compatible toolchains 中的描述:
Xcode 8 requires CompatibilityVersion 2
Xcode 7.3 (the first version supporting external toolchains) requires
CompatibilityVersion 1
使用自定义的Toolchain,在macOS或XCode版本升级时,有可能会出现Toolchain中自定义库文件签名失效的问题,可以参考解决办法:xcodebuild:code signature invalid
留言板