我有一个swift版本2.3的应用程序。
当我尝试使用set" User Legacy Swift - >运行xcode 8时YES"在构建设置中,它只给我cocoapods的错误。
见下图:
我的pod文件:
platform :ios, '8.0'
use_frameworks!
target 'xxx' do
pod 'Alamofire', '~> 3.3'
pod 'PKHUD', '~> 3.1'
pod 'SCLAlertView', '~> 0.5'
pod 'SwiftyJSON', '~> 2.3'
pod 'ICSPullToRefresh', '~> 0.4'
pod 'ReachabilitySwift', '~> 2.3'
pod 'IQKeyboardManagerSwift', '~> 4.0'
end
target 'xxTests' do
end
target 'xxUITests' do
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '2.3'
end
end
end
答案 0 :(得分:2)
这基本上意味着pod是针对与当前项目不同的swift版本构建的。
在我的情况下,我的应用程序迁移到Swift 3,但我的pod仍然在Swift 2.3上,因为它们还没有适应Swift 3。你可以在这里做以下两件事之一:
我希望这能够解决这个问题。
答案 1 :(得分:2)
这是唯一对我有用的东西......
请注意,此错误当前位于窗格中,但可能位于项目树的任何位置。我将向您展示如何在此pod中“允许”Swift 2.3。基本上我们需要启用“Legacy Swift Language”。选择您的pod框架(通过在错误导航器中单击它),然后在Build Settings下找到“Use Legacy Swift Language Version”
将其设置为“是”。比“Build&再次运行以测试它。
看看这篇文章: http://rebeloper.com/downgrade-swift-3-swift-2-3-xcode-8/