我目前正在将iOS应用从Swift 2.2升级到3.0。我已将所有pod依赖项指向其Swift 3版本并已迁移我的代码。但是,当我运行pod install
并尝试打开我的工作区时,Xcode仍然希望我转换" Pods"项目采用最新的Swift语法:
项目" Pods"目标包含使用早期版本的Swift开发的源代码。
但是我已经将我的依赖项升级到他们的Swift 3.0版本了。是什么给了什么?
(这是一个规范的Q& A对,以帮助遇到此问题的未来用户)
答案 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