Creating and Updating Your App for iOS 11
Is your app ready for the new iOS? This question arises with each new version of the iPhone operating system. With iOS 11 released in September, app developers must focus on the new OS as they update existing apps and look to develop new ones. There are many iOS app development companies in the market that can assist with custom iPhone app development, but before you decide if you need assistance (and how much), you should be aware of the changes that iOS 11 brings. This article will walk you through Apple’s latest OS and discuss the new requirements, as well as the features that you can take advantage of to ensure you’re ready for iOS 11 app development.
Before we can focus on the specifics of iOS 11, let’s address the basic steps to get started with iOS app development. Developers must first download the latest version of Xcode, which in this case is Xcode 9. The app should be built with the latest SDK (software development kit) – the iOS 11 SDK. With these fundamentals in place, we can get into the details of iOS 11.
iOS version support – Setting the best deployment target
One of the first decisions to make when tackling iOS 11 app development is choosing your deployment target. As you update for iOS 11, you should give serious consideration to the oldest iOS version you are willing to support.
Two key items to consider here are general iOS adoption rates, and the adoption rates of your specific users.
When we look at general adoption rates, Apple has an impressive track record of getting users to move to the latest version of iOS. In fact, as of early December, the adoption rate for iOS 11 was almost at 60%. Apple has streamlined the updating process so that, more so than most other platforms, the majority of iOS users install the latest updates soon after they are released.
In terms of your users, you need to know if your particular user base tends to be ahead of or behind this larger trend. If you’re not sure where your user base falls, analytics tools are a great way to get a handle on the iOS versions most common among your users.
As you support more iOS versions, coding complexity can increase. You’ll find yourself conditionally checking to see which version of iOS your app is running on, in order to decide which iOS features to use to achieve a particular goal. That will make your code messy, fast. And then there’s the testing burden: testing must also be performed on each different platform you choose to support. So unless your user base is heavily skewed towards older iOS versions, best practice dictates that you should support the fewest number of versions as justifiable for your users. This keeps coding and testing easier, and reduces the amount of legacy support required.
It is worth noting that if you discontinue support for older versions, users of your app who have not updated from those no-longer-supported versions of iOS will simply stop receiving updates. However, their existing installations will remain operable. So, unless you actively disable them, you should be aware that they will be “abandoned” on a previous version of your app, and you will need to account for this in your upgrade plans.
Architectural Changes of iOS 11
As we get into the real meat of iOS 11, there are two requirements that must be met when it comes to architectural changes. The first is the end of 32-bit support. Apple has been warning developers of this cutoff for some time now, and with iOS 11 it is here. New and updated apps must support 64-bit architecture. Running through the detailed steps of how to do this conversion is beyond the scope of this article, but if you’re in need of guidance, Apple has provided some high-level information here.
A second architectural requirement is migration from Swift 3.2 to Swift 4.0. While this does not impact developers still using Objective C, it’s an important item to discuss given Swift’s gaining popularity. Whereas migrating from Swift 2 to Swift 3 was full of issues last year, the Swift 4.0 migration can be done incrementally, and the Xcode 9 migration tool does a good job of migrating your code to the latest Swift version. The migration tool will also help you identify higher-priority issues in your app that should be addressed first, so you can optimally plan for stages of migration.
Although Swift 4.0 migration is required, there are optional features within 4.0 that are not required, but that may be of interest to some developers. It would be wise to review these new features to determine which ones you may want to leverage as you update or create your app.
UI Changes to Consider
As we move into the UI changes of iOS 11, most of them are new features you will want to explore at some point to determine if they will improve your app. But there is a new device, the iPhone X, which brings with it two important new differences that must be addressed: the “Notch” and the bottom home button indicator.
The “Notch” refers to the small section on the top of the iPhone X where the camera and speaker are located, which eats into the screen real estate. There is also a new overlay bar on the bottom of the iPhone X’s screen that can be dragged up as a replacement for the old “home” button, which is no longer present on this device. Test your app on an iPhone X to make sure you’re steering clear of the notch and bottom home button indicator.
The good news is that with iOS 11, Apple introduced a new SafeAreaInsets property to help define which areas are safe for your controls. By staying within the bounds of the “safe area,” developers can avoid having their content cut off by the “Notch” or the home button overlay.
In general, the more your UI (user interface) employs the built-in UIKit controls and follows standard layouts, the less likely you will be to encounter problems outside the safe areas. More custom or non-standard UIs are more likely to run afoul of the new protrusions, which can result in an unpleasant experience for your users.
Most of the remaining iOS 11 UI changes are not strictly required, but they are worth exploring to make sure your app takes advantage of the latest features and does not start to look outdated. The first of these new features is larger title text in the navigation bars. This new appearance has been modeled after Apple’s own “Music” and “Photos” apps. While not required, it is certainly the new look Apple is pushing with this update. If you choose to ignore this, and most developers jump on the larger title text bandwagon, your app can start to appear “behind the times” as the trends move on without you.
Another new feature that has been on the wish list of app developers for some time is the built-in UITableView swipe actions. While swipe actions have previously been supported by third-party libraries, iOS 11 provides this capability as a built-in behavior. This enables swipe-to-delete support; this is an increasingly popular behavior for many apps.
Whether working with an app development company or doing custom iPhone app development on your own, these UI changes are worth exploring as you create and update apps for iOS 11. But keep in mind, the iPhone X “Notch” and bottom overlay are changes you’ll need to deal with immediately to avoid any undesirable glitches when running on those new devices.
App Store Changes Offer Marketing Opportunities
Apple has unveiled their redesign of the app store, and iOS 11 has brought about some great marketing opportunities to go along with the new packaging requirements. Let’s look at the requirements first. In order to update your app for iOS 11, your application bundle must include an image of your marketing logo that is 1024×1024. Failure to include this will result in a rejection when submitting your app update.
Beyond this requirement, there are several changes to the app store. While developers may be overly focused on the technical side of the app, these store changes need some attention, and offer some great ways to better market your app, increasing sales and recognition. To make it easy for you, here is a short list of these changes:
- Ability to respond to user reviews – Say goodbye to unanswered questions and negative comments left in the “Reviews” section. Developers can now publicly respond to feedback, answering questions and resolving user issues.
- Three preview videos – Each app is allowed to feature three preview videos of up to 30 seconds each. The videos will autoplay on mute in the search results, making it an easy way to catch the attention of potential customers as they scan through app listings. Sound will only play if the video is clicked, so having a solid video that quickly illustrates what your app offers is important.
- App name limit – App names are now limited to 30 characters, preventing keyword-stuffing app titles. Good for customers, but potentially frustrating for developers who currently have long names.
- New subtitle section – Given the app name limit, a new subtitle section of an additional 30 characters has been introduced. This gives developers a new chance to use keywords, instead of cramming them into the name, and to explain what their app does.
- New promotional text field – This is a new field that, unlike the others, can be changed between update releases, making it a key one to leverage. It can be used to market promotions and price drops between releases, giving you more chances to reach out to users.
- API for prompting feedback – While feedback prompts have historically been handled by third-party libraries, with iOS 11 Apple is now offering its own way to ask for feedback. This is currently an alternative to the third-party option, but time will tell if Apple eventually disallows the third party options here as it now offers its own solution, and some of the third-party solutions have enabled “spammy” behavior in the past.
- In-app purchases – With the ability to promote up to 20 in-app purchases, and to purchase them directly in the app store, the path to additional in-app purchases has been made even smoother.
New technologies to test drive
Rounding out our look at iOS 11 are some of the new technologies that are now available. While these are not required components for developing or updating your app for iOS 11, it is still wise to be aware of them and to keep them in mind. You may want to dig a little deeper on some, depending upon the space in which your app operates.
All phones that are supported by iOS 11 – the iPhone 5S and beyond – now support CoreML and ARKit. CoreML is Apple’s machine-learning framework, while ARKit is their augmented reality toolkit. Both are truly exceptional technologies, but it remains to be seen how they will be incorporated into customized application development. But it will surely be exciting to watch. We’ll post articles on those as we work with them.
A simpler, but perhaps more widely useful technology is drag and drop. iOS 11 introduces support for drag and drop between apps (iPad only) as well as within a single app (iPad and iPhone). A long-overdue feature in iOS, this is sure to become an expected feature very quickly.
The last new technology applies only iPhone X, iPhone 7 Plus, and iPhone 8 Plus – those with dual cameras. The new AVDepthData API on these phones provides a depth map – 3-dimensional data about what the dual cameras are seeing. To an extent, this falls under the category of ‘’shiny new toys.’’ We will see how these technologies play out in the app development world once people start working with them.
Whether you’re building a new app from scratch, or getting ready to update an existing app, you are now well-armed with the necessary information for successful iOS 11 app development. As you move forward, be sure to first tend to those items that will result in failure if you do not address them. As a reminder, these new requirements include upgrading to 64-bit support and Swift 4.0, accounting for the new “Notch,” and including the new marketing logo with your application bundle. Then have fun exploring all the other new features of iOS 11, to make your app look and perform better than ever.