iOS

Take a sneak peek at Xcode 5

The differences between Xcode 4.x and the new Xcode 5 are extensive and exciting for developers.

While we all ogle the evolution of Apple's iOS 7, let's not forget to become familiar with the latest iteration of Xcode. Without Xcode 5, it will not be possible to develop apps for the latest iOS. Xcode 5 is currently available in a beta release to all registered Apple developers.

You can download the most recent Xcode 5 beta release from the Apple Developers website.

New features

There are many new enhancements added to the latest Xcode IDE, but one of the most long overdue features - and the cause for extensive celebration by all iOS developers - is the inclusion of Automatic Configuration. Having the ability to manage teams, certificates, and entitlements from within the IDE is worthy of a touchdown endzone dance.

New Xcode 5 features include:

  • Automatic Configuration
  • Test Navigator
  • Bots
  • Auto Layout
  • Debug Gauges
  • Additional Source Control Features

Automatic Configuration

Beyond the new clean iOS 7-like interface, Xcode 5 offers several noteworth enhancements and new features. The Automatic Configuration feature not only manages the labarynth associated with creating certificates and provisioning profiles, but also makes it easier to enable iCloud, Passbook, and Game Center Apple services from within the development environment. You can enable these services by simply toggling the appropriate on/off switch from the capabilities tab within the project configuration dialog (Figure A).

Figure A

The nine Apple services that can be easily enabled through the new Automation Configuration feature include: (1) iCloud, (2) Game Center, (3) Passbook, (4) In-App Purchase, (5) Maps, (6) Inter-App Audio, (7) Keychain, (8) Background Modes, and (9) Data Protection. Several of these services - such as Background Modes and Inter-App Audio - are new to iOS 7, and explained in greater detail on Apple's Developer site.

Test Navigator

Unit testing is easier than ever with the new Test Navigator functionality in Xcode 5. With the addition of the Test Navigator pane, you can add test targets and test classes to your project (Figure B). Having this long overdue capability will decrease development time and increase speed-to-market.

Figure B

Continuous Integration Bots

While this particular feature requires an OS X Server running the Xcode service, it is by far the biggest leap to date by Apple to support a team development environment. Registered developers can get more information on Xcode 5 CI bots and the overall continuous workflow environment here.

Auto Layout

As more and more iOS devices hit the marketplace, developers are challenged with creating and maintaining multiple device-specific layouts. The new Auto Layout feature includes many enhancements to the Xcode Interface Builder. A new set of buttons at the bottom of the storyboard screen exposes several of the Auto Layout functions (Figure C).

Figure C

The pinning feature of Auto Layout makes if much easier to configure constraints and rules associated with how objects scale, move, and relate to other objects within the interface (Figure D). This responsive design-like approach will make the process of developing iOS cross-device apps easier to manage and deploy.

Figure D

The new Asset Management feature of Xcode 5 allows developers to better organize his or her images and icons. Instead of maintaining directories containing device-specific assets, developers have the ability to create asset catalogs. Additionally, the asset catalogs can create image "splits." This technique is used to create images that can scale as required by the interface's layout.

Debug Gauges

Xcode 5 includes a much improved debugger. In fact, the new visual debugger is built on the LLDB debugging engine. Not only are the data tips more responsive when hovering over your source code, but Quick Look is integrated to allow instant previewing of objects in memory. The Debug Gauges give a real-time graphical look of the resource consumption, memory use, and other attributes of an iOS app. Having this run-time dashboard will help developers troubleshoot performance issues.

Source Control Features

It is much easier in Xcode 5 to create and control branches of your project. The source control menu, for example, shows the currently active branch while allowing the developer to quickly switch, merge, and create branches.

What's next?

The differences between Xcode 4.x and the new Xcode 5 are extensive. While it may be common practice to add or delete features of an application during the beta testing phase, it is not likely that Apple will remove any of the features touted on the "What's New in Xcode 5" webpage. Seasoned app developers will immediately benefit from the new features and functions of Xcode 5. With the imminent release of iOS 7 and Xcode 5, there will be a huge surge of new iOS with exciting new capabilities. Anyone interested in getting started in iOS app development will now have the best tools available for mobile development.

Also read:

About

Gregory Dean is the CTO for the Wilen Group. He has spent the past 25 years in C-level positions setting the tone and direction of technology-driven services organizations. Gregory is constantly researching technologies and developing capabilities to...

2 comments
2000423403
2000423403

The problem is too little to late with xCode. Apple didn't embrace the add in community and now with Xamarin if you're doing iOS only in xCode ( not MacOSX ) then xCode is merely a waste of time. It's a very sad thing, but it just takes too long to develop code in xCode. ( 4 years now ). With Visual Studio and/or Xamarin tons of developers make third party tools. So we get more work done in Xamarin in 1 hour than it takes a fullday to do in xCode. I was sad for a while, but I can get so much done ( Writing an entire data bound navigation interface with no UI Code ). This is something apple should have been striving for. Yes I have a MacBookPro and would never purchase a non-apple laptop.


The fact is enterprise Apps are leaving Apples xCode domain sadly, because I enjoy writing in xCode. This marks the beginning of the end and since MS is teaming with Xamarin now, it's only worse for xCode. But, this just means that Mac development goes back to what it was before the mad iOS xCode rush.

Mark W. Kaelin
Mark W. Kaelin moderator

Have you downloaded and tried the Xcode 5 beta?