2016-09-23 114 views
16

我试图安装Cocoalumberjack作为吊舱和正在此错误:可可豆荚安装错误:“我们的目标覆盖SWIFT_VERSION构建设置”

The ProjectName [Release] target overrides the SWIFT_VERSION build setting defined in `Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release.xcconfig'. This can lead to problems with the CocoaPods installation

吊舱xcconfig文件包含此:

SWIFT_VERSION = 3.0 

但是我的项目已经在使用swift 3.所以我不明白为什么会有这种不匹配。

xcrun swift -version

Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38)

但是我看不到在Xcode的生成设置任何地方特别是SWIFT_VERSION,也不如我在斯威夫特在Xcode的构建设置的搜索项类型可我看不到任何地方,甚至看起来像一个快速的版本号

此外,吊舱安装继续说:“使用$(inherited)标志”来解决问题。 但是,我的Xcode构建设置其他链接器标志已经有这个$(继承)标志,所以为什么不解决问题?

(Xcode中8)

+0

对于我在Xcode 8上的相同问题 –

回答

12

这是一个有点不直观的,但你必须做的是:

1)在项目中设置搜索“SWIFT_VERSION”

2)你会看到一个条目说:“使用传统的斯威夫特语言版本”

  • 如果您已经选择的值将在BOLD

3)选择条目(不是值显示)并按下“删除”,气味应该消失。

4)重复相同的步骤,但现在你的目标(一个与应用程序图标)

5)关闭了XCode

6)运行 “吊舱安装” 再次

7)打开你的项目和CLEAN IT(Shift + Command + K)

现在它应该工作正常。

注:

专为 “Cocoalumberjack” 请确保您的吊舱安装3。0+版本,如果它不能运行“命令荚更新”为在此之前的版本不会与斯威夫特工作3

编辑:

我敢肯定的CocoaPods处理的,这是一个有点越野车目前,因为我经历过有时它有效,而其他人没有。但是,请记住,您可以根据框架直接设置“SWIFT_VERSION”标志:

1)选择Pods项目(在您的项目中)。

2)选择您要设置的目标并查找专门用于该目标的“SWIFT_VERSION”标志。

3)清洁和重建。

+0

你到底是怎么找到这个解决方案的?做得好!!!惊人。这个7步指导为我工作。在安装伐木工人+ swift +豆荚时发生。 – nurxyz

1

您需要删除任何重写“使用传统的雨燕语言版本”从建立你的目标设定。

0

这并不完全有帮助,因为没有办法将其删除。

您要么继承该值,要么分配一个值,并且由于在xcode上构建UI的方式而无法在分配后返回$(继承)值(在您有一些选项“自定义”值,您可以在其中添加此值,但不能添加所有类型的值)。

所以这是一个没有真正解决方案的死胡同。

+0

是的,请参阅我的答案。 – Pochi

+0

是的,这确实解决了这个问题,尽管它的UX是£%$。 –