Xcode13.4执行pod install提示SWIFT_INCLUDE_PATHS覆盖警告解决
配置项查找方法
Xcode 13.4的Build Settings面板默认使用Basic筛选模式,会隐藏SWIFT_INCLUDE_PATHS(显示名Swift Include Paths)这类非高频配置,直接搜显示名无法定位,可用以下两种方法找到:
- 方法一:打开对应Target的Build Settings面板,先选中顶部的「All」选项(不要选默认的Basic),再在搜索框直接输入配置的原始键名
SWIFT_INCLUDE_PATHS,即可找到对应配置项。 - 方法二:右键点击项目的
.xcodeproj文件,选择「显示包内容」,打开内部的project.pbxproj文件,全局搜索SWIFT_INCLUDE_PATHS,可直接定位到项目中自定义的该配置位置。
警告消除步骤
该警告的触发原因是旧项目从Carthage切换到CocoaPods时,Target中残留了之前手动配置的SWIFT_INCLUDE_PATHS值,覆盖了CocoaPods生成的xcconfig文件中的同名配置,按以下步骤操作即可消除:
- 找到Target下Debug、Release两个配置中自定义的
SWIFT_INCLUDE_PATHS值,先把内容复制备份,避免删除后丢失必要路径。 - 选中两个配置下的自定义
SWIFT_INCLUDE_PATHS值,按Delete键删除,让该配置回退为继承上层配置的默认状态。 - 如果备份的路径中存在项目必须保留的自定义路径(比如项目内私有Swift模块的映射路径),不要直接写回Target的Build Settings,而是打开Podfile,在文件末尾添加如下post_install钩子,将自定义路径追加到配置中:
post_install do |installer| installer.pods_project.targets.each do |target| # 替换为你自己的项目Target名 if target.name == "POS Pad" target.build_configurations.each do |config| # 括号内按格式追加你需要保留的自定义路径,多个路径用逗号分隔 config.build_settings['SWIFT_INCLUDE_PATHS'] = ['$(inherited)', '自定义路径1', '自定义路径2'] end end end end
- 关闭当前Xcode项目窗口,在项目目录下依次执行
pod deintegrate、pod install命令,重新打开生成的.xcworkspace文件即可,警告会完全消失。
补充说明:如果删除自定义配置后编译报错找不到Carthage相关模块,是项目中残留了Carthage的配置项,去Build Phases中删除Carthage相关的Run Script、清空Framework Search Paths里的Carthage路径即可,切换为CocoaPods管理后不需要保留Carthage相关配置。
内容的提问来源于stack exchange,提问作者Zek
相关产品推荐
相关产品推荐

