Apple is known for cutting off their support for old standards, devices, and software versions. Recently, the rumours have confirmed, and the iPhone 7 doesn’t have a headphone jack anymore. All ports in the latest iteration of MacBooks got replaced with thinner and more modern USB-C type ports. Even the beloved MagSafe power connector was replaced with USB-C. This proves that Apple is not afraid of making big decisions on the hardware and software support front. As the App Store is growing more than ever before, the set of abandoned, legacy iOS apps gets bigger and bigger every year, which means that Apple will have to start maintaining it better.
App Store Improvements
A few months ago, Apple published the App Store Improvements page, where they announced the App Store cleanup, whose aim is allowing users to find apps easier. What we can learn from the page is that Apple will basically remove from apps that are obsolete, don’t follow review guidelines, or are outdated. This process has been going on since 7 September 2016. What’s really interesting is that recently, in the iOS 10.3 beta 1 release, a developer Peter Steinberger discovered a message that warns users that the app they are using might not work in the future versions of iOS, and it needs to be updated by its developers. The suspicion is that the pruning of obsolete apps (apps that support only 32 bit architecture) will happen with the introduction of iOS 11, which is expected to be released this fall. Since each year a beta version of the newest iOS is released at the turn of June and July, there’s not much time left for the big updates, especially if your app is still alive and has a great number of users. Apple also informs that app developers will be asked to submit the update of the app within 30 days. If they don’t, the app will be removed from the store until update is submitted and approved.
What to do next?
If you update your app a few times a year, there’s no need to worry. However, if you don’t update your app on a regular basis, the most important thing to do is to revise it to make sure that it follows the App Store Review Guidelines. Any violation of these rules will result in an app review rejection, and you will need to adapt the app to follow the review guidelines anyway. It would also be very useful for you to check the Common App Rejections before submitting an update. I’m also pretty sure that Apple will remove all the apps that don’t support the 64-bit architecture.
From the technical point of view, you will need to use the newest developer tools, that is Xcode 8.3 including the most recent SDKs. It might not be possible for the older apps to be built using the newest tools straight away, and it will probably require some development time to adapt the project to the current standards and configuration requirements. However, the newest Xcode and SDKs guarantee that your app will support 64-bit architectures.
A legacy project can itself be an obstacle to a quick update release, but there are also other aspects of your app that you will need to take care of. The first one is dependency compatibility. Old apps were built using old dependencies, and chances are quite large that those dependencies will cease to be supported soon, or their newer versions will contain breaking changes in their APIs. This will also require some time to improve or fix. The time required to implement those changes is highly related to the current code quality of your project. The better the code is, the easier the update will be, so don’t forget to take that into account.
The design. I hope we can all agree that design is very important. A great user interface is a crucial element of a successful app. The App Store Review Guidelines require you to provide an app that offers good UX and follows the Human Interface Guidelines, so make sure your app looks slick! If you see any room for improvement, there’s no better time than now to make your app better.
Finally, the code itself. The standards have changed over years. Most apps today are written in Swift, which brings extra benefits such as more confidence in development, shorter development time and fewer bugs. It’s modern, it’s great to work with, and it won’t get outdated quickly, which means that you can safely add new features to your app. New features are important, of course, but maybe those few nagging issues you have experienced over the years could be solved by refactoring your app with Swift? You might want to consider switching to a more modern approach and make your app future-proof.