2016-11-09 7 views
0

現在、PodfileのレガシーをSWIFT_VERSION = 2.3に設定していますが、使用しているライブラリの中にはSwift 3.0があります。すべてのSwift 3.0ポッドのレガシーをNoの各pod installに手作業で設定する必要があります。どのようにPodfileインストーラで各ポッドバージョンを設定しますか?Podfileの各ポッドにレガシースウィフトバージョンを設定する方法Swift 3.2/Swift 4.0

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 

私はconfig.build_settings['SWIFT_VERSION'] = '3.0'設定した場合、我々はSwift 2.3ポッドの問題を持っているより:

は、これは私が設定していますものです。最良の解決策は、手動で設定する必要がないように、各ポッドレガシーバージョンを個別に設定する場合です。

答えて

5

私はこの中には、Xcodeの9

のために3.2にSWIFT_VERSIONを設定する方法を探して、それ自体、複数の依存関係はここで3.2の代わりに4.0を必要とするAirMapSDKを使用して

は、他人のためにポッド特定SWIFT_VERSIONを設定する方法の例です見つかりましたそれはこの質問に遭遇するかもしれません。

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
     if ['AirMapSDK', 'PhoneNumberKit', 'Lock', 'RxSwift', 'RxSwiftExt', 'RxCocoa', 'RxDataSources', 'ProtocolBuffers-Swift'].include? target.name 
      target.build_configurations.each do |config| 
       config.build_settings['SWIFT_VERSION'] = '3.2' 
      end 
     end 
    end 
end 

if配列を変更して、バージョンを設定する必要のあるポッドを指定することもできます。

関連する問題