Migrating from one iOS version to another always formulates many questions in developer’s mind – “Will my application crash in new version?”, “Is the UI going to change drastically?”, “How is the new version going to improve my app?”
Most of the developers would be lost in thoughts, without knowing where to begin and how to begin the app development. Thankfully, Apple has made this transition simple for developers. Apple has published a guide for developer community to develop on iOS7.
In this article, we will address some of the differences in UI elements between the two iOS versions and factors to consider migrating from existing apps from iOS6 to iOS7.
iOS7 version is quoted as “the fastest software upgrade ever in history” and when you look at the iOS7 installed device, one can hardly prove otherwise. Now, it is for developers to prepare their existing apps for the new translucent iOS7 to be up to date with technology.
The new iOS7 consists of changes in various UI Elements right from icons, menus, controls to notifications. The UI is much more flat, minimalistic, translucent and colorful which makes it easier for iPhone and iPad users.
Some of the changes include:
- Lock Screen – The iconic slider is removed in the latest iteration
- Menu – The glossy bubble icons has been made ‘flat’
- Folders – App folders are more spread out making the screen look much neater
- Multitasking – Task switcher makes better use of space in iOS7
- KeyPad – Keypad on iOS7 looks a lot cleaner than its iOS6 counterpart
- Dialler – iOS6 dialler has a better look with rectangular finish than the round buttons in iOS7
- Notification Center – the elements are more spaced out in iO7
- Incoming Calls – iO7 does not have the single click option to decline calls
- Control Center – Provides quick access to Wi-Fi, Bluetooth, offline mode toggles. Users can also lock their screen’s orientation, adjust brightness, access torch, and Airdrop without entering settings menu
- AirDrop – Allows users to send and receive certain files and contacts using your iPhone’s Wi-Fi and Bluetooth with other iOS device users
- Spotlight Search – The earlier method of swiping left of the home screen to access search bar has been changed. Users need to touch and pull-down home screen to bring up the spotlight search
- Message – The UI for message compose box is made simple in new version. Look & feel of iO6 is better
A sample screen shot of iOS6 and iOS7 app (source: developer.apple.com)
Factors to consider for migrating from iOS6 to iOS7
Some of the important factors developers need to focus while migrating to iOS7 are:
1. The buttons used in iOS6 had shadow effects or more solid look. However, while running the app on iOS7, it does not look very neat and it does not synchronize well with the translucent theme. Therefore, the designers will need to create new designs for iOS 7 wherever applicable. Below are the images for same button, one used in iOS6 and other in iOS 7.
3. Designers/Developers need to include app icons with new dimensions specific to iOS7. Such as 57 * 57,120 * 120,114 * 114, 29 * 29, 58 * 58 and 80 * 80.
4. While developing the iOS6 App, if mostly standard UI controls are used then, Apple takes care of the remaining tasks while running your app on iOS7 but in case, custom images were used for controls, then designers may have to redesign it wherever necessary.
5. Apple iOS7 release notes has a summary of the updates available iOS7 SDK and the known issues that may arise while migrating to iOS7. Therefore, developers must read this document before proceeding to support iOS7.
6. The release also deprecates few methods/technology. Therefore, one needs to handle this explicitly for both iOS6 and iOS7. If both versions are supported i.e. iOS6 and iOS7, the appropriate methods needs to be called based on the OS version.
Some of the major deprecated items are:
- MKOverlayView class is deprecated, which is replaced with derived classes from MKOverlayRenderer
- Audio session API in audio toolbox framework is deprecated. Apple suggests to utilize AVAudiosession class in AV Foundation framework instead
- CLRegion class in core framework for location services is replaced by CLCircularRegion class
- Game kit has miscellaneous deprecations
- In UIKit framework wantFullscreenLayout property of UIViewController and UIColor objects are deprecated
- UIDevice uniqueidentifier will return a value 02:00:00:00:00:00. You should use identifierForVendor method for retrieving the MAC address of a device
System requirements for implementing app on iOS7
An Apple iOS upgrade is mostly followed by an upgrade of iTunes, Xcode and Mac OS and sometimes the hardware too. However, this time there is no hardware upgrade, but we need to have following configurations: Xcode 5; Mac OS X – Mountain Lion 10.8.3 (Xcode 5 requires latest Mac OS X); iTunes 11.1 (In case we need to synchronize iOS7 installed devices).
Run your app on iOS7
You need to open your project in Xcode 5. Build and run your app to see the amount of work required. iOS7 has profound changes with respect to UI. If the UI is not distorted then you have done great. As per Apple, if auto layout is used in the project, then there will be only minimal work from our side on UI.
If you are an iOS developer, it will be interesting to know your thoughts?
Technical Lead, RapidValue Solutions