Swift 3 CocoaPod不通过lint

时间:2016-09-15 21:03:16

标签: swift cocoapods swift3

我正在将CocoaPod升级到Swift 3.它编译并运行得很好,但pod lib lint因许多编译器错误而失败,因为linter尝试将所有内容编译为Swift 2.3。

尝试在podspec中设置SWIFT_VERSION或在我的框架的Xcode项目中更改“使用Legacy Swift语言版本”并不能解决问题。

如何让pod linter使用Swift 3?

4 个答案:

答案 0 :(得分:25)

事实证明,CocoaPods现在查找.swift-version文件,截至1.1.0.rc.2(changelog)。如果文件包含3.0,则linting将起作用:

echo 3.0 > .swift-version

答案 1 :(得分:5)

首先,您必须通过

将cocoapods更新为1.1.0.rc.2
[sudo] gem install cocoapods --pre 
然后正如Paul Cantrell所说,做

echo 3.0 > .swift-version

在pod规范

的同一目录中

答案 2 :(得分:1)

开发SDK时我遇到了这个问题,这取决于socket.io-Client-Swift。 输入后

char

仍然没有解决我的问题。

但是,我注意到pod lint使用xcodebuild来测试框架是否准备好发布而没有错误。 确保使用Xcode8构建pod lint。出于某种原因,我安装了Xcode7和amp; Xcode8并将我的xcodebuild路径改为xcode7,因此当我想用swift 3制作一个框架时,lint不会通过。

使用以下代码确保您的xcode设置正确。

echo 3.0 > .swift-version

如果xcode-select路径未指向xcode8,则应使用

xcode-select -print-path

将xcode-select路径设置为xcode8,这通常位于您的应用程序中。

答案 3 :(得分:0)

我知道这是为Swift 3编写的,但你也可以这样做来更新4.0的pod:

echo 4.0 > .swift-version

这是通过Cocoapods的1.3.1版本完成的。