0

Using a Custom Toolchain in Xcode

 2 years ago
source link: https://easeapi.com/blog/blog/153-xcode-toolchain.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Using a Custom Toolchain in Xcode

2021-06-17 22:50:12 / easeapi / 错误反馈

特殊情况下需要使用自定义的Toolchain,Xcode便捷支持选择不同的Toolchain。自定义的Toolchain在macOS和Xcode升级时可能需要做维护。

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

pod package的不足和改进
bitcode ITMS-90562: Invalid Bundle
iOS URLSession Authentication Challenge及SSL Pinning
NSUserDefaults的suitename
iOS 色温和白平衡设置



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK