New Features in Xcode 7 (original) (raw)

Xcode 7.0

With Xcode 7, the Xcode development tools have expanded to support the new watchOS 2 platform in addition to iOS 9 and OS X El Capitan, with a host of new features to support making your development, testing, debugging, and deployment more seamless and efficient. Xcode 7 allows you to achieve things that weren’t possible before, such as enabling you to detect memory corruption just before it happens, test your app UI while reporting on the testing coverage, or ensure that apps and products downloaded to users’ devices have a sensible footprint and do not consume too many precious resources unnecessarily.

Xcode 7 enables you to to create products that are tailored for each Apple device’s unique platform. Whether that’s implementing glances to help your users stay up to date right from their Apple Watch, or size classes, which let you take advantage of the wide array of configurations of a MacBook Air, an iPhone, or an iPad, Xcode provides the tools to quickly translate your ideas into a reality that fits the target perfectly.

Xcode 7 requires a Mac running OS X version 10.10.4 or later. It includes SDKs for watchOS 2.0, iOS 9, and OS X version 10.11.

Xcode 7 includes the following highlighted features.

Free On-Device Development

Now everyone can run and test their own app on a device—for free. You can run and debug your own creations on a Mac, iPhone, iPad, iPod touch, or Apple Watch without any fees, and no programs to join. All you need to do is enter your free Apple ID into Xcode. You can even use the same Apple ID you already use for the App Store or iTunes. Once you’ve perfected your app the Apple Developer Program can help you get it on the App Store.

See Launching Your App on Devices for detailed information about installing and running on devices.

Swift Language

Swift 2.0 takes the advanced object-oriented Swift programming language to the next level.

Swift 2.0 is modern, powerful, expressive, and easy to use. It extends Swift 1.2 with:

The Swift 1.2 to 2.0 migrator in Xcode 7 enables you to efficiently upgrade your existing Swift source code to take advantage of Swift 2.0.

The Swift migrator works with both projects and playgrounds.

See The Swift Programming Language to learn more about the Swift programming language, and check the Revision History chapter for pointers to the updated Swift features.

Objective-C Language

Objective-C has been updated to enable it and Swift to work together more easily and efficiently. The new Objective-C language features include:

These new language features help the Objective-C/Swift interaction. They express more information to the compiler about your expectations in the code rather than in documentation, which provides a means for Xcode to inform you of problems earlier in the development cycle, before your code is run.

See Using Swift with Cocoa and Objective-C for detailed information on Objective-C language features and how they interact with Swift.

Playgrounds

Playgrounds, since their introduction with Swift in Xcode 6, have proven a great way to explore and prototype Swift code. With Swift 2.0, you can use playgrounds to help explain how to use an API or demonstrate a concept.

See Playground Help for more information about using playground features.

App Thinning

With Xcode 7, you are developing apps for three diverse platforms that run on a variety of devices and configurations.

The devices can have widely different storage and display capabilities. You can deliver an optimized app to each platform device, supplying the functionality you intend without including unneeded resources, using new features supported in Xcode 7 and used by the iTunes App Store.

See App Thinning (iOS, watchOS) in App Distribution Guide for detailed information.

Debugging

Xcode 7 includes new debugging and profiling features targeted at helping you make better apps for your customers.

Testing

Xcode 7 introduces UI testing as a major new feature of the existing XCTest framework. UI testing is implemented as an extension to the existing APIs and concepts in XCTest, making it easy to adopt for developers who have familiarity with Xcode’s testing features.

See Testing with Xcode for more information about testing your app using Xcode testing features.

Crash Logs

Xcode provides a way to analyze and use crash data submitted by users, with all the facilities of the debugger and your source code at hand.

Now, in Xcode 7, this feature is extended to include crash data from OS X apps, in addition to watchOS and iOS.

See Analyzing Crash Reports in App Distribution Guide for more information.

Xcode 7.0.1

Xcode 7.0.1 is a maintenance release responding to reported developer issues. It includes refinements to support app thinning.

Xcode 7.1

Xcode 7.1 adds support for new iOS devices and the new Apple TV. Xcode supports storyboards, unit and UI testing, playgrounds, and crash logs features for tvOS.

Interface Builder

Debugging

Xcode 7.1.1

Xcode 7.1.1 is a maintenance update with bug fixes and performance improvements.

Xcode 7.2

Xcode 7.2 includes support for iOS 9.2, OS X 10.11.2, tvOS 9.1, and watchOS 2.1, in addition to the following:

Crashes Organizer

Xcode 7.2.1

Xcode 7.2.1 is a maintenance update with bug fixes and performance improvements.

Xcode 7.3

Xcode 7.3 requires a Mac running OS X version 10.11 or later. It includes updated support for iOS 9.3, watchOS 2.2, OS X version 10.11.4, and tvOS 9.2 as well as many feature improvements.

Deprecation and Removal Notice

Xcode 7.3.1

Xcode 7.3.1 is a maintenance update with bug fixes and performance improvements. It includes support for iOS 9.3, watchOS 2.2, OS X version 10.11.4, and tvOS 9.2.

For more details about Xcode 7 releases, see Xcode Release Notes — Archive.