使用Cocoapods 1.0.1从Swift 2.2迁移到iOS应用程序到3.0

时间:2016-09-28 20:42:33

标签: ios swift cocoapods swift3 xcode8

我目前正在将iOS应用从Swift 2.2升级到3.0。我已将所有pod依赖项指向其Swift 3版本并已迁移我的代码。但是,当我运行pod install并尝试打开我的工作区时,Xcode仍然希望我转换" Pods"项目采用最新的Swift语法:

  

项目" Pods"目标包含使用早期版本的Swift开发的源代码。

Convert to Current Swift Syntax

但是我已经将我的依赖项升级到他们的Swift 3.0版本了。是什么给了什么?

(这是一个规范的Q& A对,以帮助遇到此问题的未来用户)

2 个答案:

答案 0 :(得分:3)

我在Cocoapods 1.0.1中遇到过这个问题,我需要手动指定已安装目标的SWIFT_VERSION为3.0:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end

我的完整Podfile(对于测试/开发窗格):

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

target 'MyApp' do
  pod "MyPod", :path => "../"
end

target 'MyApp_Tests' do
  pod "MyPod", :path => "../"  
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end

问题#5521 - Compiler Version for Xcode 8帮助找到了解决方法。

答案 1 :(得分:1)

我建议使用他们的候选版本

sudo gem install cocoapods --pre

然后再次安装pod