Select Carthage 依赖项的部署目标

Select deployment target for Carthage dependency

我的 iOS 应用程序通过 Carthage(AudioKit、PromiseKit、Dollar 等)使用某些框架,我现在正尝试更改我们之前使用的 10.x 应用程序的部署目标,到 9.3。由于框架是由 Carthage 构建的,而不是从 Xcode 内部构建的,新的部署目标不会渗透到框架中,至少在没有一些特殊操作的情况下是这样,我在几个框架中遇到了这个错误:

Module file's minimum deployment target is ios10.1 v10.1:

我是否需要手动进入 Carthage 项目并更改它,或者有更好的方法吗?我注意到一些框架的项目甚至没有 iOS 的方案,所以我认为即使对于那些有它们的项目,它们也可能会被忽略。

您可能在更新 Xcode 后创建了一个目标,这使得 10.1 成为该目标构建设置中的 iOS 部署目标。

尝试以下步骤:

  1. 将 iOS 部署目标设置为 9.0(与项目的其余部分相同)
  2. 进行清理 (Command+Shift+k) 并构建

如果 clean+build 没有修复它,从方案菜单切换您要部署到的 device/simulator 并重新构建应该会有所帮助。

似乎正确的答案是 Carthage 使用项目的部署目标构建。至少如果可能的话。因此,在 XCode 中更改部署目标后,只需使用 Carthage 进行重建即可。

https://github.com/Carthage/Carthage/issues/1629

它似乎对我不起作用的原因似乎是 Dollar 框架没有为 Carthage 准备好。我早些时候注意到构建框架的 plist 由于某种原因缺少捆绑版本值(使得提交不可能)所以它可能只是草率地放在一起。