pod库Swift 4 Xcode 9

时间:2017-10-03 15:09:58

标签: cocoapods xcode9

我正在为我的swift 4 for library创建一个pod。

我运行生成工作区的pod lib create IntentedLibraryName。然后我对文件IntentedLibraryName.podspec进行了必要的修改,并将我的库swift文件移动到路径 IntentedLibraryName / Classes /

要测试pod是否有效,我将从Example项目中构建并pod install,一切都按预期工作。

现在,我运行pod lib lint IntentedLibraryName.podspec --verbose然后我

  

(1失败)===构建目标IntentedLibraryName PROJECT Pods with CONFIGURATION Release ===

     

检查依赖关系必须将“Swift语言版本”(SWIFT_VERSION)构建设置设置为使用Swift的目标支持的值。可以在构建设置编辑器中设置此设置。必须将“Swift语言版本”(SWIFT_VERSION)构建设置设置为使用Swift的目标支持的值。可以在构建设置编辑器中设置此设置

我做了以下希望它能解决它:

Pod project,来自Build Settings> Swift Compiler- Language>来自Swift的Swift Language Version未指定为Swift 4.0。

我在标签上添加并提交了所有更改(即git tag 0.0.1)并使用--tags推送所有更改。 (即git push -u origin dev --tags

我再次运行linting命令,仍然是同一个问题

我甚至尝试echo 4.0 > .swift-version保存所有提交并再次推送它。 NADA

还试过s.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.0' } NADA

## CocoaPods Environment

ℹ Please replace this with the output of `pod env`.
e.g. via `pod env | pbcopy`
### Stack

```
   CocoaPods : 1.4.0.beta.1
        Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]
    RubyGems : 2.5.1
        Host : Mac OS X 10.12.6 (16G1023)
       Xcode : 9.0 (9A235)
         Git : git version 2.8.1
Ruby lib dir : /Users/lamour/.rvm/rubies/ruby-2.3.0/lib
Repositories : bahlo - https://github.com/bahlo/SwiftGif @ d26325392aefe7822dea79a757d4e300c694d010
               master - https://github.com/CocoaPods/Specs.git @ f2169476eead8b1a9d898ff73c5eba516504ed78
```

### Installation Source

```
Executable Path: /Users/lamour/.rvm/gems/ruby-2.3.0/bin/pod
```

### Plugins

```
cocoapods-deintegrate : 1.0.1
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.3.0
cocoapods-try         : 1.1.0
```

演示问题的项目

请链接到我们可以下载的项目,以重现该问题。 如果您的问题与构建问题无关,则可以删除此部分, 即CocoaPods只是一个问题。

  

我确实认为它是Xcode 9.0的一个问题,因为我已经创建了空项目,但仍然发生了同样的事情。

感谢您的帮助:)

  

问题已修复

该问题与Xcode 9无关,但与cocoapods无关。我从我的机器上做了uninstall cocoapods并再次安装。完成后,请确保您拥有echo 4.0 > .swift-version。瞧:)

1 个答案:

答案 0 :(得分:1)

echo 4.0 > swift-version

应该是

echo 4.0 > .swift-version

对(NB领先点)?

我遇到了同样的问题,无论出于何种原因,在我的 .swift-version 文件中都有一个奇怪的

2.4 =>

in(sic)。

我把它改成

4.0
一切顺利。

此处的示例项目:

https://github.com/karstengresch/CleanroomLogger(实际上是我想与Cocoapods一起使用的CleanRoomLogger的一个愚蠢的分支)。