如何将Swift编译器更新至5.1?Xcode 11.3.1安装后无显示问题咨询
解决Swift 5.1快照工具链在Xcode编译器选项中不显示的问题
我之前也碰到过一模一样的问题,折腾了好一会儿才搞定,给你分享几个靠谱的解决办法:
1. 先确认工具链的安装路径是否合规
Xcode只会自动识别放在特定目录下的工具链,你得检查下你装的那个快照有没有在正确的位置:
- 打开Finder,按
Cmd+Shift+G,分别输入~/Library/Developer/Toolchains/和/Library/Developer/Toolchains/这两个路径看看 - 如果工具链不在这两个地方,手动把它移过去就行(要是移到系统目录
/Library下提示权限不够,就用终端sudo mv命令来操作)
2. 彻底重启Xcode,重新选中工具链
有时候Xcode会“偷懒”不刷新工具链列表,这时候就得给它“重启一下脑子”:
- 完全退出Xcode,不光是点叉叉,最好打开Activity Monitor找到Xcode进程直接结束掉
- 重新打开Xcode后,先去
Xcode > Preferences > Components > Toolchains里,确认你的Swift 5.1快照工具链已经被勾选上 - 再回到项目的Build Settings里搜索
Swift Language Version,这时候应该就能看到对应的版本选项了
3. 手动指定工具链路径(终极办法)
要是上面两步都不管用,那就直接给项目“硬指定”工具链:
- 打开项目的Build Settings,点击左上角的
+号,选择Add User-Defined Setting - 把键设为
TOOLCHAINS,值填你那个工具链的标识符(这个标识符可以去工具链的Info.plist里找,路径大概是~/Library/Developer/Toolchains/swift-5.1-DEVELOPMENT-SNAPSHOT-2020-01-28-a.xctoolchain/Contents/Info.plist,里面的CFBundleIdentifier字段就是) - 设置完之后,Xcode就会强制使用这个工具链,Swift语言版本也会自动匹配上
4. 检查工具链和Xcode的兼容性
虽然你用的是Xcode 11.3.1,但有些快照工具链可能对Xcode版本有要求。你可以去这个快照的发布页面看看说明,确认它和Xcode 11.3.1是不是兼容的,如果不兼容,要么换个匹配的快照版本,要么调整下Xcode版本。
对了,如果你的项目是用CocoaPods管理的,记得设置完工具链后重新跑一遍pod install,不然Pods里的子项目可能还是不认这个工具链哦。
内容的提问来源于stack exchange,提问作者vijay
相关产品推荐
相关产品推荐

