What’s new in Xcode 7.

Xcode 7 includes everything you need to create amazing apps for iPhone, iPad, Mac, and Apple Watch. The Swift programming language has been updated and is now faster than ever, with great features that make your code even easier to read and write. And with the new playgrounds you can experiment with new APIs or author gorgeous interactive documentation using embedded resources, additional source code, and rich text comments. Xcode’s user interface testing feature can even record your app in action and generate tests for you.

Now everyone can get their app on their Apple device.

Xcode 7 and Swift now make it easier for everyone to build apps and run them directly on their Apple devices. Simply sign in with your Apple ID, and turn your idea into an app that you can touch on your iPad, iPhone, or Apple Watch. Download Xcode 7 beta and try it yourself today. Program membership is not required.

Swift 2

Swift continues to evolve at an astonishing rate, adding features that make it safer, easier to use, and more expressive, including:

  • Advanced error handling model using try / catch / throw that feels natural in Swift.
  • Availability checking and conditionals for OS versions.
  • Markdown comments shown as rich text in Quick Help with embedded images and links.
  • A migrator in Xcode 7 to convert your existing Swift code to use the new Swift 2.0 features and syntax.

To learn more, visit the Swift page.

Playgrounds

Playgrounds have been thoroughly updated so you can author gorgeous documentation, easy to follow experiments, and interactive educational content. You can add playgrounds to your project that show how to use your own APIs, demonstrate how you solved a problem, or even demo your code’s features. Code comments are static in comparison. New playground features include:

  • Results are displayed in-line beside the code that generated them.
  • Markup within comments renders as gorgeous, formatted text with images and links.
  • Embedded resources and images can be accessed by your code and comments.
  • Supporting .swift files can contain limitless new functionality that runs at high speed.

Interface Builder

Interface Builder gives you incredible control over the latest features in iOS, OS X, and watchOS. Stack views make it easier to layout your views by adding all the necessary constraints automatically. Use stack views to naturally group collections of views so they behave consistently together, and then react as a group to the surrounding UI. When combined with size classes, IB makes it easy to create a single, flexible interface that adapts across devices, orientations, and the new iPad multitasking layouts. IB also adds support for storyboard references, letting you further group logical parts of your UI into separate files as you create complex, immersive interfaces.

Testing

Xcode is an already an amazing environment for test driven development, and Xcode 7 makes it even better with user interface testing and code coverage. Xcode’s Test Navigator makes it easy to navigate, edit, and run your tests. Testing assistants keep the tests and application code aligned in paired editors so you can work on them together. And the bots on Xcode Server continually run and report on your unit, performance, asynchronous, and now UI tests across all types of devices.

User Interface Testing

Xcode 7 introduces user interface testing, ensuring that changes you make in code don’t show up as unwanted changes to your users. Xcode can automatically generate the code for your tests by watching you use your app, and you can edit the Swift or Objective-C code by hand to tweak the resulting test. These tests can then be run over time on Xcode Server, identifying regressions long before your customers ever see the problem.

Code Coverage

Code coverage is baked right into Xcode, displaying icons beside your code to indicate what code is being tested and what is not. There’s nothing to motivate you to write tests quite like seeing the missing coverage symbol next to important blocks of code.

More Features

Games

Xcode 7 includes powerful design tools for creators of iOS and Mac games. Now Metal is supported on OS X, with great debugging tools built right in to Xcode 7. Built-in SpriteKit editors let you define animations with timelines and events you can scrub through and edit from inside Xcode 7. And a brand new level editor for SceneKit provides rich scene editing with unbelievable control over an immersive 3D world.

Address Sanitizer

Have you ever had a user report a crash that never reproduced for you? Or had a bug that you couldn’t trigger when debugging? The Address Sanitizer will build your application with lightweight memory instrumentation to identify many types of potential issues at the exact time something bad happens. The crash will happen, the bug will show itself, and the Xcode debugger will show you the exact line of code to blame. Unlike other memory analysis tools, the Address Sanitizer is fast enough to use every day, even while debugging your interactive application.

Crash Logs

Xcode 7 includes a comprehensive workflow for identifying, understanding, and fixing your most critical application crashes. These crashes are collected by the App Store and symbolicated for you by Apple, and downloaded automatically into Xcode. Even better, you can find and fix crashes while you are beta testing via TestFlight. Simply select one of your top crashers from the Organizer and Xcode can take you directly into your project and the offending code.

Energy Gauge for iOS

Users want to immerse themselves in your app without worrying about battery life. The new iOS energy gauge alerts you to times when your app is using significant energy, most importantly at times you expected your app to be idle. In addition to a quick diagnosis, the energy gauge can directly launch Instruments to inspect what your app was doing that required so much energy.