CocoaPods 0.39 - tvOS and Dynamic Vendored Frameworks

TL;DR: CocoaPods 0.39 has been released, with support for tvOS pods and dynamic vendored frameworks.

Dynamic Vendored Frameworks

CocoaPods 0.39 has been released, with the biggest change being support for dynamic vendored frameworks. This will allow closed-source pods to be provided as dynamic frameworks, meaning no more errors when they are transitive dependencies of multiple other pods. This will also allow closed-source pods to not only be used simultaneously with Swift pods, but it means closed-source pods can even be written in Swift.

tvOS

The update allows you to use pods with tvOS. As a pod author, you may need to specify the deployment target for tvOS in your podspec, as seen below:

Pod::Spec.new do |s|
  # …
  s.tvos.deployment_target = '9.0'
end

This means that, in practice, not all existing pods will be compatible with tvOS immediately. Any pod that can support tvOS needs to explicitly add support by adding s.tvos.deployment_target, since it is an entirely new platform.

Swift Standard Library Copying

When building Swift pods with Xcode 7 or later, the Swift standard library runtime will no longer manually be copied. For projects with a large number of Swift pods, this can lead to a drastic speed-up in build times.

Private Linting

All commands that perform linting (pod spec lint, pod lib lint, and pod repo push) now can take a --private flag. Using this flag will disable warnings that are only relevant to public pods, such as URL reachability.

Along with these enhancements, 0.39 features dozens of bug fixes.

Updating

To install the last release of CocoaPods you can run:

$ [sudo] gem install cocoapods

Until version 1.0 we strongly encourage you to keep CocoaPods up-to-date.

For all the details, don’t miss the Changelog!