前言
如果你把项目的最低兼容性是从 iOS 9
升级到 iOS 10
,那么有可能你就会遇到下面的问题:
Compiling for iOS 9.0, but module 'Kingfisher' has a minimum deployment target of iOS 10.0
检查
为了确保问题得到解决,你得先检查下列列表项,并确保正确:
- TARGETS 包含的每个 target,根据路径 General -> Deployment Target,设置为 10.0;
- PROJECT 下的项目,根据路径 Info -> Deployment Target -> iOS Deployment Target,设置为 10.0;
找到 Pods 工程下的 Podfile,修改为
platform :ios, '10.0'
。然后命令行执行 pod 更新。pod update
问题
如果编译通过,那么恭喜你,下面的内容就不需要看了........
如果编译报错,那么你需要在访达
找到当前工程目录,用文本编辑器
打开 Podfile.lock
文件,查找 Kingfisher
关键字,找到两项关键信息:
Kingfisher
的版本号(当前最新 Kingfisher (5.7.0))- 依赖
Kingfisher
的第三方库名字,然后通过依赖库的名字继续在当前文件查找到它在SPEC REPOS:
下的地址。
在 Kingfisher @ Github ,我们能看到最低版本要求是 iOS 10.0+ 了。如果你 Podfile 里 Kingfisher
的版本号是 4.x 的话,那么建议你先更新到最新版本。
- iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
- Swift 4.0+
如果你需要继续兼容 iOS 9,则可以保持
Kingfisher
在 4.x 的版本。
解决
关键点,用浏览器打开上述第 2 点找到的地址,找到 <依赖库名称>.podspec 文件,查找 s.ios.deployment_target
配置。如果值不是 10.0
,则需要修改。
先本地克隆下来,然后修改后提交。更新依赖库版本号,打 tag,验证依赖库,推到索引库。这些操作就不细说了。
当然前提是你先确认你有这个依赖库的 Git 的权限
最后
在主工程更新修改过的依赖库即可。
pod update <依赖库名称>
本文由 Bill 创作。
最后编辑时间为: 2020.07.01 at 02:33 pm