We’ve been hard at work and made huge changes to the OS X image in order to bring two new Xcode versions and a Ruby version manager in one iteration.
Ruby is important to every iOS/OS X developers toolset, even if you might not know about it. From tools that work within Xcode’s toolchain to community tools like CocoaPods or Fastlane, Ruby is present wherever you look. Therefore, we decided to incorporate a Ruby version manager into our OS X image so that you can easily pick the version that works with your current workflow and won’t have to adapt to our setup. Less configuration is key here, so we’ve included the last three major Ruby releases (2.1.9, 2.2.5 and 2.3.1), as well as the Ruby version 2.0.0 OS X ships with.
You can set the environment to use the Ruby version you prefer by simply adding one call to your
dependencies block, like this:
dependencies: pre: - echo "2.3.1" > .ruby-version
or by checking in a .ruby-version file into your git repo. You can create a .ruby-version by running the exact same command on your local machine, after moving into your repos directory, with:
echo "2.3.1" > .ruby-version && git add .ruby-version && git commit -am "Added .ruby-version file to the repo"
Xcode 8.1 & Xcode 8.2 beta 1
We added two new Xcode versions to our OS X image. Xcode 8.1 is the latest stable release by Apple and lets you target iOS 10.1, watchOS 3.1, tvOS 10.0 and macOS 10.12. With this addition you’ll be able to test your latest changes against the new API additions as well as archive and ship directly to the App Store. Xcode 8.2 beta 1 brings support for iOS 10.2, watchOS 3.1.1, tvOS 10.1 and macOS 10.12.2. Xcode 8.2 will be the last iteration that supports your Swift 2.3 code but we’re prepared to help you get your Swift 3 branches to green builds. You can start using Xcode 8.1 and Xcode 8.2 beta 1 by adding the following to your circle.yml file:
machine: xcode: version: "8.1"
machine: xcode: version: "8.2"
If you happen to see something unexpected in your iOS builds, please stop by our Discuss site where our engineers and expert community users help investigate bug reports. Please also feel free to reach out to us by emailing firstname.lastname@example.org.