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.
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:
Interface Builder gives you incredible control over the latest features in iOS, OS X, and watchOS, now with accurate rendering of blurs and transparencies directly within your IB design canvas. Your design-time interface and runtime app will look nearly identical.
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.
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 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.
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.
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.
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.