更新swift版本和pod后链接器错误

时间:2016-11-29 06:41:22

标签: ios swift3 alamofire xcode8.1

我正在使用pod安装Alamofire并导致编译时错误。关于这个问题有很多问题,但是:

删除派生数据&更新pod不会为我工作。

这是错误:

  

Alamofire / Alamofire.framework / Alamofire使用较新版本的Swift语言(3.0)编译,而不是之前的文件(2.0),用于架构x86_64   clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

4 个答案:

答案 0 :(得分:3)

更新您的pod文件中的以下内容:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

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

答案 1 :(得分:2)

在您的pod文件末尾添加此项并运行pod install

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

答案 2 :(得分:0)

首先删除你的pod然后清理派生数据然后 - 你可以在.podfile上替换它。

platform :ios, '9.3'
source 'https://github.com/CocoaPods/Specs.git'

target 'Meanwise' do
  use_frameworks!
  pod 'pop', '~> 1.0'
  pod 'Alamofire', '~> 4.0'

end

答案 3 :(得分:0)

修复特定的swift pod版本:

代码段:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if target.name == '<insert target name of your pod here>'
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.2'
            end
        end
    end
end