The Xcode 7.3.1 update was released earlier this month. Since its launch last October, Xcode 7 has come in for high praise among iOS app developers worldwide – thanks to its wide range of new tools and features. A recent survey revealed that an overwhelming majority of app makers were satisfied with the performance of the latest iteration of the Apple IDE. In the discussion that follows, we will take a tour through some of the most interesting new features in Xcode 7.3:
- Improved SDK support – Xcode 7 already had the software development kits (SDKs) for iOS 9, OS X 10.11 El Capitan and watchOS 2. The 7.1 update had brought with it support for making apps for Apple TV. With Xcode 7.3, mobile app developers now have the opportunity to create optimized applications for both iOS 9.3 and watchOS 2.2. In addition to the updated SDKs, there are several other handy enhancements bundled in the update as well.
- Bug fix for Swift 2.1 – Among the several bug-fixes that Xcode 7.3.1 comes with, most iPhone app development experts feel that the fix for Swift 2.1 is the most important. Reports had been coming in about the frequent compilation failures for targets with relatively larger file counts (at the time of whole module optimization). That issue has been flushed out in Swift 2.2, which ships with Xcode 7.3. Incidentally, this is the very first iteration of Swift after the programming language went open source in December 2015.
- Intelligent code completion – The Xcode IDE had always provided excellent code completion support for programmers. With the new update, Apple has taken things up by a further couple of notches. Suggestions are now generated on the basis of the initial letters of the API name that is being used. This makes the process of manual coding for iOS apps just that bit shorter and simpler.
- Interactive Playgrounds for Swift – When the second beta of Xcode 7.3 was released, developers got a first sniff of the exciting Interactive Playgrounds built in the latest version of the environment. Unlike the static Playgrounds in the earlier versions of Xcode, the Interactive Playgrounds in Xcode 7.3 makes the task of code testing a whole lot easier and obviously, more dynamic. Slight changes in the code can be made by developers, to see how it is working on a real-time basis. The Interactive Playgrounds can be used to check both OS X and iOS applications.
- Better security features – With Xcode 7.3 having Git 2.7.4, security features are more robust than ever before on the Apple IDE. In addition, the earlier lags and crashes that used to occur at the time of importing localizations have also been rectified. With better security and lesser risks of crashes, Xcode has become a really seamless IDE for making apps in the Apple ecosystem.
- Support for tvOS 9.2 – We have already mentioned that Xcode 7.1 provided in-built support for the new Apple TV. Xcode 7.3 ramps up things further, by bringing in full compatibility for developing software for the tvOS 9.2 platform. Although iOS app development is still by far the most dominant activity among developers (Watch apps are growing fast too), the holistic, updated support for Apple TV might just get some coders interested to make custom software for the platform.
- Force Touch trackpad – iPhone 6S has Force Touch, as does the Apple Watch. While making apps for either, it is only natural that developers would want to test how this feature is working in the applications. While previous versions of Xcode did not have any feature that allowed this, Xcode has turned things around with the innovative and developer-friendly ‘Force Touch Trackpad’ tool. The trackpad is present inside the Simulator app.
- Automatic import of frameworks – Irrespective of whether an Apple app developer is working with Swift or Objective-C, the latest Xcode version allows auto-import of frameworks inside expressions declared in either of the two languages in the debuggers. Coders no longer have to import them separately at the time of evaluating the Swift/Obj-C expressions. Yet another little feature that makes things easier for developers.
- Bug fix in editor – Xcode 7.3.1 is, in essence, a maintenance and bug-free update – and it solves a fairly troublesome problem that was present in the previous editions of the IDE. There had been many instances of entitlements remaining active inside app bundles, even after the corresponding capabilities in the Xcode editor had been toggled to off. What’s more, probable bugs and errors associated with generics of Obj-C as well as nullability can now be identified quickly with the revamped Static Analyzer. Chances of errors remaining undetected are minimal.
- More powerful Device Window – Ever since iOS developers started making apps for Apple Watch, there was a need for this feature. In the upgraded Devices Window of Xcode 7.3, Apple has made it extremely easy to toggle between multiple Watch devices – which are connected to the same paired iPhone. Coders can now keep a closer tab on the Watch applications that they are working on at any time.
- More resources in View Debugging – The view debugging in Xcode 7.3 has also undergone an overhaul. It now offers app developers the option to add contextual menus, detailed inspector information, and even provides a series of additional functionality in the Assistant Editor. The IDE (with greater responsiveness to user-generated events in the Interactive Playgrounds) has become more informative and resourceful than before.
- Another bug-fix – This one stemmed from the frequently reported cases of export failures of ad-hoc builds (from the code archives). It was widely expected that the new version of Xcode would fix this problem, and developers have not been disappointed in this regard. Version 7.3.1 has brought with it several important performance improvements too.
From app thinning to TestFlight boosts (the number of permissible beta testers has been ramped up to 100), and from the Swift migrator (1.2 to 2.0) to the iOS Energy Gauge – there had been many useful new features in Xcode 7 (announced at WWDC 2015). The Xcode 7.3 update packs powerful tools and enhancements of its own, and they add to the developer-friendliness of the IDE.