模块文件的部署目标是 ios9.0 v9.0 with Xcode 7 / Swift 2

Module file's deployment target is ios9.0 v9.0 with Xcode 7 / Swift 2

我有一个项目使用我通过 cocoapods 安装的一些模块。其中之一是 Charts。为了将我的项目从 Swift 1.2 迁移到 Swift 2,我已经完成了首次使用 Xcode 7 打开项目时出现的向导。图表模块已经可用于 Swift 2,为了升级到这个更新的、尚未正式发布的版本,我已经更改了我的 Podfile 以包含以下内容:

pod 'Charts', :git => 'https://github.com/danielgindi/ios-charts.git'

现在项目工作区在 Xcode 中打开正常,除了一条错误消息,我无法摆脱自己,而且我在网络上找不到任何有用的信息:

在我导入 "Charts" 模块的地方弹出上述错误消息。首先,我确保将整个项目设置为部署目标 IOS 9.0,因为它之前是 8.0。

由于这没有解决问题,我已经完成了产品 -> 清理、产品 -> 清理构建文件夹,最后删除了 "Derived Data" 文件夹的内容。在所有这些步骤之后,我也重新启动了 Xcode,但错误仍然出现。

有人知道我可能错过了什么吗?非常感谢!

我也是一样

已选择TARGETS

然后转到“Build Settings

search bar

中搜索“iOS Deployment target

将其从 iOS 8.2 更改为 9.0 - 总共

如果您必须支持旧版本并且您无法选择仅将项目的部署目标升级到所需版本,请尝试在 pod 本身中将其降级:

  1. Select Pods 项目导航器中的项目
  2. 遍历 TARGETS 列表中的每个 pod 并将其 Deployment Target 更改为您需要的版本
  3. 清理并构建您的项目

对我有用。 show snapshot from Xcode

只需将 "platform :ios, '8.0'" 或任何您的版本放入 Podfile 即可解决。

您必须将 podspec 文件更新为 s.ios.deployment_target = '9.0'

对我来说,清除 DerivedData 解决了这个问题。看起来 clean 并没有清除 swiftmodule 文件。

rm -rf ~/Library/Developer/Xcode/DerivedData

在我的例子中,Pod FOO 的导入模块失败,因为它需要版本 X:

  • main app/project/targets 都设置为最小部署目标 >= X [OK]
  • pod FOO 本身在其 podspec 中有正确的 >= X 最小部署目标 [OK]
  • 另一个 pod,BAR,正在使用 pod FOO,BAR 的最小部署目标 小于 X。[修复:编辑 BAR 的 podspec 并将最小部署目标增加到至少 X ]

tl;博士;可能是您正在使用 pod 1,而 pod 1 正在使用另一个 pod 2;问题出在 pod 1 的 podspec

您需要转到 Pods,并为其中的每个目标设置与主项目相同的开发目标,清理并重新构建。