设置iOS 11.0为部署目标仍遇AVCapture API版本兼容警告,求排查方案
嘿,我之前升级项目部署目标时也碰到过一模一样的情况,给你几个具体的排查方向,应该能解决问题:
检查CocoaPods依赖的部署目标
如果你的项目用了CocoaPods,很多第三方库默认可能设置了较低的部署目标(比如iOS 9.0),这会导致Xcode整体的最低版本检查被拉低。解决办法是在你的Podfile顶部明确指定:platform :ios, '11.0'然后执行
pod install重新安装依赖,之后再检查每个Pod Target的部署目标是否同步到了11.0。验证Info.plist中的最低版本配置
有时候手动修改Target的部署目标后,Info.plist里的MinimumOSVersion字段可能没有自动同步。右键项目中的Info.plist文件,选择"Open As > Source Code",查找以下字段并确认值为11.0:<key>MinimumOSVersion</key> <string>11.0</string>统一所有Build Configuration的部署目标
不要只看默认的Debug配置,要确保所有Build Configuration(包括Release、Ad Hoc等)下的iOS Deployment Target都设置为11.0:- 选中Target,进入"Build Settings"标签
- 搜索
iOS Deployment Target - 点击配置项旁边的箭头展开所有配置,逐一确认值为
11.0
检查项目级别的部署目标
除了Target的设置,还要确认Project本身的部署目标也设为11.0:- 选中Project(不是Target)
- 进入"Info"标签
- 在"Deployment Target"区域确认iOS版本为
11.0
清理Xcode深层缓存
除了删除Derived Data,还可以尝试:- 使用快捷键
Shift + Command + Option + K清空Xcode的构建缓存 - 完全退出Xcode,重新打开项目后再执行Clean + Build操作
- 使用快捷键
确认所有子Target的配置
如果项目包含Extension、Test Targets等子Target,一定要把它们的部署目标也统一设置为11.0,这些子Target的配置也会影响Xcode的版本警告检查。
内容的提问来源于stack exchange,提问作者LittlePeculiar

