WWDC 2017 has been a source of many great improvements for iOS and Mac developers, from new hardware to brand new APIs for drag and drop, wireless debugging, and exciting frameworks for machine learning and augmented reality. However, there are a few features that we’re most excited about.
New Build System
Xcode 9 introduces a new build system: XCBuild. XCBuild was written in Swift - and was built to improve reliability, offer better build setting validation, and also to improve overall build system performance through caching and parallelism. XCBuild is currently optional, but will eventually become the default. I’m personally excited to dive into this and to see how it behaves on larger codebases.
Xcode 9 introduced new API’s and faster performance for both UI Testing and Asyncronous testing which is great for both your run times and also for maintainability and ease of testing!
Xcode now also natively supports running multiple simulators or devices for test parallelism. While most projects test phases are much shorter than their build steps, this is exciting for projects that run a lot of UI tests, and potentially allows for end to end testing of projects that use local connectivity apis such as MultipeerConnectivity.framework.
414: Engineering for Testability
A really interesting talk which shows how to write more testable iOS apps, and also how to write maintainable testing code.
409: What’s new in Testing
An overview of all of the new testing apis and improvements to existing test infrastructure.
602: Intro to ARKit
An introduction to the new Augmented Reality API’s and what they can be used for.
Start building with Xcode 9 on CircleCI today
We’re excited to see what people build on top of the new tools, APIs, and OS features - so please share them with us!