Is there a way to build a Swift 4 project with Bitrise, but build one of the included pods as Swift 3. One can set the Swift version per Pod in Xcode, but that does not propagate via die repository to Bitrise.
Compiling the entire project as Swift 4 results in an error due to deprecated calls in one included pod.
Hi @jpm_polymorph,
How do you build the project locally? I mean, how do you configure which pod should use which swift version? On a new Mac do you configure this by hand / manually after a pod install
?
I’d suggest you to specify the Swift version in your CocoaPods Podfile
, instead of doing the toggling manually, as e.g. when a new team member joins your team or you setup a new Mac you won’t have to remember which pods to change, a pod install
will take care of it.
It seems CocoaPods will add a “DSL” level feature for this: https://github.com/CocoaPods/CocoaPods/issues/7134
But that’s not available in the current CocoaPods version, but a general “scripted” solution is definitely available (Podfile
allows you to script changes on the Pod projects). Example: https://github.com/CocoaPods/CocoaPods/issues/6791#issuecomment-333079766
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['Kingfisher', 'RxSwift', 'RxCocoa'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end
(source: https://github.com/CocoaPods/CocoaPods/issues/6791#issuecomment-333079766)
where 'Kingfisher', 'RxSwift', 'RxCocoa'
are the Pods which should be built with Swift 3.2
The Podfile based solution also “just works” on Bitrise / in a CI environment too, as CocoaPods will take care of these Xcode project file changes automatically as part of the pod install
process.
You can find more info & examples in the GitHub issue ( https://github.com/CocoaPods/CocoaPods/issues/6791 ) and of course if you’d have any questions feel free to ask! 
1 Like
Oh amazing. Now I really learned something new. I indeed configured it by hand in Xcode every time after I did a pod install
. Thanks a lot for this solution! It will save me a lot of trouble.
1 Like
Glad to hear 
Happy Building!