使用Legacy Swift语言版本“(SWIFT_VERSION)无效

时间:2016-09-19 05:28:56

标签: ios iphone swift cocoapods xcode8

我有一个swift版本2.3的应用程序。

当我尝试使用set" User Legacy Swift - >运行xcode 8时YES"在构建设置中,它只给我cocoapods的错误。

见下图:

enter image description here

我的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

2 个答案:

答案 0 :(得分:2)

这基本上意味着pod是针对与当前项目不同的swift版本构建的。

在我的情况下,我的应用程序迁移到Swift 3,但我的pod仍然在Swift 2.3上,因为它们还没有适应Swift 3。你可以在这里做以下两件事之一:

  1. 转到编辑>将您的广告连播更改为Swift 3(或任何最新的Swift版本)转换>当前的Swift语法。
  2. 将您的主项目降级回旧版Swift。
  3. 我希望这能够解决这个问题。

答案 1 :(得分:2)

这是唯一对我有用的东西......

请注意,此错误当前位于窗格中,但可能位于项目树的任何位置。我将向您展示如何在此pod中“允许”Swift 2.3。基本上我们需要启用“Legacy Swift Language”。选择您的pod框架(通过在错误导航器中单击它),然后在Build Settings下找到“Use Legacy Swift Language Version”

enter image description here

将其设置为“是”。比“Build&再次运行以测试它。

看看这篇文章: http://rebeloper.com/downgrade-swift-3-swift-2-3-xcode-8/