If you have an app on the App Store that doesn’t yet take full advantage of iOS 7’s new look and feel, then you may find it quickly disregarded by new and old customers alike.
Texture-rich apps with hyper realistic-looking designs simply do not fit in well with the new aesthetic. The changes are more than skin deep; there are also important differences in how users expect apps to work on iOS 7, not just how they look. If you want your apps to fit in, you need to join the revolution and update your app for iOS 7.
In this tutorial, you’ll take an app that was written for iOS 6 — filled with lush, richly detailed textures — and update it to the new minimalistic design language of iOS 7. You’ll deal with the technical aspects involved in moving to the latest version of the SDK, and you’ll also consider the impact of the various design changes.
In this tutorial, you will take an app called Treasure Hunt that was designed for iOS 6, and update it for iOS 7.
Treasure Hunt is a social app for sharing treasure maps, so that users can engage in solving riddles and finding hidden treasures together. It’s a bit like geocaching — a fun outdoor activity in which those taking part use their mobile devices to hide and find containers, known as geocaches, all over the world — but instead of GPS coordinates, it uses the age-old tradition of hand-drawn treasure maps.
This is what the app looks like on iOS 6.1:
The app is not just for finding historical treasure, such as the gold that Captain William Kidd is supposed to have buried in the late 1600’s. People can upload any kind of treasure map they like; it’s great for birthday parties, Easter egg hunts, or any other activity where the fun lies in unraveling obscure clues to unearth some kind of hidden treasure, whether that is mountains of gold or just a bar of candy. If only they had this app in The Da Vinci Code!
Note: If the above description makes you want to put the app on your phone and head out to find some gold, then you’re going to be disappointed. It’s only a sample project and the included treasure maps aren’t real. Sorry, treasure hunters!
If this were a real app, it would have to connect to a server to download the shared maps and coordinate the social activities. That’s outside of the scope for this tutorial, so the app simply fakes the connection to the server.
The important thing, however, is that Treasure Hunt demonstrates a lot of the issues that you’ll come across transitioning your apps to iOS 7 — and more importantly the solutions!
Download the starter project with the source code for the iOS 6 version of the app. If you want to see how Treasure Hunt worked in iOS 6, the best way is to open it in Xcode 4.6 (if you still have it installed). This will build the app against the iOS 6.1 SDK and run it on the iOS 6 simulator, giving you the most accurate view of what it looked like running in iOS 6.
If you open the app in Xcode 5, then it will build against the iOS 7 SDK instead and certain things may not work the way you’d expect — which is exactly the sort of thing that you’re going to fix in this tutorial.
If you don’t have Xcode 4.6 installed anymore, don’t worry — you don’t need it except if you’re curious about how the app used to work before iOS 7. You just might notice some strangeness with the app when you run it in Xcode 5, but you’ll be fixing that soon! ☺
If you already have an app on the App Store and it’s doing well, then why should you bother to update it for iOS 7? Well, that decision depends on a few things. If your app already has a design not too dissimilar from iOS 7, then there may be no need to rush. You can simply tweak the UI a little bit in your next update. But if your app has a skeuomorphic design filled to the brim with heavily detailed, oversaturated textures, such as Treasure Hunt, then you may want to consider the following points:
- The new subtle, unassuming and less brash UI of iOS 7 makes many existing apps look and feel out-of-place. Chances are that your UI needs a complete design overhaul in order to feel at home on iOS 7. Design is like fashion; if your app doesn’t follow the latest trends, your users are going to start looking elsewhere for apps that appear up-to-date.
- Even if you don’t want to update the look of your user interface, certain standard UIKit elements such as alert views, action sheets, and the on-screen keyboard now appear in the new style, which might well clash with your existing style.
- Apps compiled against the iOS 6 SDK on Xcode 4.6 run in a special emulation mode on iOS 7 that tries to preserve the old look. But as soon as you switch to Xcode 5 and build against the iOS 7 SDK, things will start to go awry in your app. The new SDK makes many changes to the metrics and visuals of the standard UI elements. You need to fix these issues anyway, so you may as well think about switching altogether.
- iOS 7 introduces new accessibility features such as Dynamic Type, which lets the user determine how big the text on the screen should be. If your app doesn’t support this, users will start looking for alternatives that do.
- If your app uses custom gestures, they might conflict with the new system-wide gestures for summoning Control Center or swiping back on navigation controllers. You may need to tweak your gestures so they can co-exist on iOS 7.
- Apple as a company cares deeply about the future — and iOS 6 clearly represents the past. If you want to be noticed by Apple, then iOS 7 is where you need to be. It’s unlikely that the App Store will feature any apps that do not fully embrace iOS 7 and all it has to offer. Moving to iOS 7 will greatly increase your chances of App Store success.
- The icons are different. You need a new 120×120 pixel icon that has a different corner radius. So at the very least, make sure to update your icon!
Switching to iOS 7 can be a lot of work, especially if you have a completely custom UI. Embrace the change; if you don’t, you run the risk of your app becoming irrelevant — sooner than later. Your apps deserve better than that.