20

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

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

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

Xcode 中的错误信息

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

项目的部署目标

由于这并没有解决问题,我已经完成了 Product -> Clean, Product -> Clean Build Folder,最后删除了“Derived Data”文件夹的内容。在所有这些步骤之后,我也重新启动了 Xcode,但错误仍然出现。

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

4

7 回答 7

55

同样,在我的情况下

已选中TARGETS

然后转到“ Build Settings

在中搜索“ iOS Deployment targetsearch bar

将其从 iOS 更改8.29.0 - 总之

描述

于 2016-01-11T18:15:20.753 回答
4

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

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

为我工作。显示来自 Xcode 的快照

于 2016-05-13T12:24:52.343 回答
3

对我来说,消除 DerivedData 解决了这个问题。似乎 clean 不会清除 swiftmodule 文件。

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

于 2017-10-11T22:03:06.850 回答
2

只需将“平台:ios,'8.0'”或您的 Podfile 中的任何版本都可以解决。

于 2016-06-22T21:41:03.807 回答
2

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

于 2016-09-20T11:57:19.550 回答
1

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

于 2018-01-15T09:54:56.500 回答
0

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

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

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

于 2017-12-22T20:11:30.170 回答