Search code examples
iosrubyxcodecocoapodspodfile

Podfile not downloading latest Swift 3 version of pods


Since updating to Swift 3, I've had trouble getting the Swift 3 versions of pods to install. As an example, ReadabilityKit has Swift 3 support on master branch. In their readme, they state that for Swift 3 support, you must simply do:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod 'ReadabilityKit'
end

I also include the line: source 'https://github.com/CocoaPods/Specs.git' at the top of the podfile.

The problem I'm seeing, which I've replicated on a fresh new Swift 3 project, is that when I do pod install, I get an older version of the repo. So when opening the project it in Xcode, it offers to convert the pod's code to Swift 3, or if I build then it throws a bunch of errors because it's not in Swift 3. I end up having to list it in the podfile like so:

pod 'ReadabilityKit', :git => 'https://github.com/exyte/ReadabilityKit.git', :branch => 'master'`

Which is the default setup - the regular repo, on the master branch. But only now, once I run pod install, does it show that it's ugpraded the pod, and it works as it should. This is not unique to ReadabilityKit - it's happened on every pod with Swift 3 support that I've tried so far.

I'm using Cocoapods 1.0.1, on Ruby 2.3.0.


Solution

  • you can try adding this line to the end of your podfile:

    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
    

    Or try to update cocoapods to prerelease version:

    sudo gem install cocoapods --pre