Xcode无法自动补全无.h后缀的STL头文件如何解决
Xcode 12.5.1 C++ STL头文件自动补全失效问题解决方案
故障诱因
- 安装Xcode 13 Beta版本时,只要将安装包移入应用程序文件夹,系统会自动更新全局开发者工具路径注册信息与SDK头文件索引优先级,无需主动打开Beta版本就会触发该变更。
- Xcode 12.5.1的代码索引服务无法兼容Xcode 13 Beta携带的高版本STL头文件元数据,导致无.h后缀的C++ STL头文件索引失效,而兼容性更强的带.h后缀C标准头不受影响。
- 常规重装Xcode 12.5.1、删除项目级Derived Data的操作不会修改系统级的开发者工具配置,因此无法解决问题。
可行解决方法
按优先级依次尝试以下操作即可:
- 重置系统默认开发者工具路径
打开终端执行命令:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
输入开机密码确认后,关闭所有Xcode进程再重启,等待索引重建完成后测试补全功能。 - 清除全局Xcode索引与配置缓存
若上一步操作无效,关闭所有Xcode进程后终端依次执行以下命令:
重启Xcode等待全局索引重新构建完成即可。rm -rf ~/Library/Developer/Xcode/Index defaults delete com.apple.dt.Xcode - 重置系统开发者工具配置
若你已经删除Xcode 13 Beta安装包,可先执行sudo xcode-select --reset重置系统级开发者工具默认配置,重启设备后再重新执行第一步的路径指定操作即可。
内容的提问来源于stack exchange,提问作者Picard
相关产品推荐
相关产品推荐

