iOS 7 Development: Everything You Need To Know To Get Started

OK, so you have downloaded the iOS 7 beta and are ready to get to work. Now what?

There are some new things you are going to want to check out in iOS that directly inform how you develop your next app for the release of the next iPhone later this year. Mostly, Apple has hundreds of new SDKs to check out that govern many different functions of the device. These are going to take some time to learn as they cover the new multi-tasking features, games and various design features.

Before you get started with iOS 7 though, you'll want to load the latest version of Xcode, the integrated developer environment for iOS development. With iOS 7 comes Xcode 5, which is currently in developer preview. You will not be able to use Xcode 5 unless your Mac is upgraded to the most recent version of Mas OS X – Mountain Lion 10.8.3. 

When learning how to develop for iOS 7, those are the two primary features that you are going to need to study – the new development frameworks and the new features in Xcode 5. 

New Frameworks In iOS 7

There are six new frameworks specific to iOS 7:

Sprite Kit – Perhaps the most interesting new framework in iOS 7, the Sprite Kit allows for hardware accelerated animation systems for 2D or “2.5D” games. Provides graphics rendering and animation, sound playback support and physics simulation.

"SpriteKit will be capable of powering 2D games ranging from Cut the Rope to Jetpack Joyride and more. We think that this framework could become a major contender in a space currently dominated by Cocos2D and Unity," said Kenneth Ballenegger an architect at Chartboost.

Game Controller – Allows developers to add hardware controllers to iOS, either by directly connecting the device or through Bluetooth. Controllers must be optional and there must be a way for players to use the game without a controller.

Multipeer Connectivity – The peer-to-peer connectivity is essentially the new sharing features in iOS 7. Discovers nearby devices and directs communication without an Internet connection.

JavaScriptCore – Allows for wrapping of standard JavaScript objects into Objective-C (the code used for iOS apps). Should allow for porting of apps between different mobile operating system platforms. 

Media Accessibility – Allows for closed-caption support in your apps. 

Safari Services – Support for adding URLs to Safari reading list. 

Enhanced Frameworks

In addition to the brand new frameworks, significant additions have been made to the existing frameworks, such as the User Interface Kit (UIKit), Games, Maps, Multitasking and more. Here are the highlights:

User Interface – For developers and designers, the biggest feature of iOS 7 that is going to take some getting used to are all the new UIKit Framework functions and references. Apple has added “dynamic” UI actions, such as proximity and gravity controls as well as a whole new kit for text. The dynamic elements will take some time to study but the text kit should allow for easier development of words into apps with less actual code required in the app.

Multitasking – The new multitasking features in iOS 7 apply mostly to the background data push and flow of information to the app. The apps can be woken up or launched periodically to fetch data.

Maps – Developers will now be able to integrate Apple Maps into their apps, take advantage of 3D map features and control the user’s perspective. Other new features include a way to call on Apple for directions that overlay on top of the map. 

Games – In addition to the Game Controller and Sprite Kit, improvements have been made to Game Center (including a complete design overhaul, like the rest of iOS 7). New features let players interact with each other via chat, simultaneous turns and trading. Leaderboards have been expanded to 100 from 25. Developers can also add new features to help prevent cheating in the game.

Those are the basics for getting started developing with the new features in iOS 7. Experienced app developers will likely be able to learn most of these new features relatively quickly, while newer developers might have a tough time wading through all the enhancements and the massive library that constitutes iOS developer libraries. 

Advancing Xcode 5

None of the frameworks matter one bit if you don’t know what you are doing in Xcode. Xcode 5 has been designed for iOS 7 and Mac OS x 10.9 Mavericks. Among other changes, Xcode is now a little cleaner than previous versions and features a refined navigator.

UI Improvements – The toolbar is smaller, which gives developers more space to work with. Xcode 5 is not a complete departure from Xcode 4.5 but you will have to figure out where all the usual stuff is. 

Testing – Developers hate the testing phase. It is where all their pretty code goes to die. Xcode 5 has a new test navigator to overview all the tests in a project and easily add new test targets.

Debugger – New gauges have been added to the debugger UI in Xcode 5 to show CPU activity, real-time memory, energy use and more. 

Version Editor – Xcode 5 has a new management of workflow. It removes the repositories organizer and moves those functions to the project window under the source control menu. 

There are more new features and tweaks to Xcode. Some developers love to develop in Xcode while others cannot stand it. If you have picked up a Developer Preview for Xcode 5, tell us how in compares to older versions in the comments.