UPDATED: 16th March 2020. Fabric is now shutting down in May instead of March due to COVID-19.
If you’re responsible for iOS apps in your business, this may help you deal with what Apple is throwing at us this year! This article talks you through the breaking changes that you need to prepare for in 2020.
2019 was a massive year for iOS and an unusually busy one for many of us in the world of mobile development. Apple introduced some exciting new technologies like the reactive Combine framework and eventual UIKit replacement SwiftUI. Then there was the fact that iOS 13 proved to be one of the most disruptive iOS updates since iOS 7 sent us all scrambling to adopt flat design. Some of the repercussions from changes Apple introduced with iOS 13 are still keeping us busy, and we got off relatively lightly!
As we march on into 2020, I thought it would be helpful to share some of the key dates I’ve compiled for our internal timeline. Some big gotchas are coming up frighteningly quickly! Hopefully, the worst of these your developers are already aware of and planning for, but just in case they aren’t, here goes!
Apple will no longer accept apps that contain ‘core features’ provided through embedded web views. They mainly draw attention to apps that use this for donations, gaming and lotteries. We know this has been a significant headache for some of the big firms in this space, so hopefully, if this impacts your business, you’ve had this date in your mind for the past year already.
As if March wasn’t bad enough, April is potentially even more loaded with new requirements and deadlines. iPad apps must adopt split-screen multitasking (unless they have a very good reason to require full-screen, such as games).
As of April, you must build your apps against the iOS 13 SDK – this requires careful attention as apps that built and ran perfectly and predictably on iOS 12 will adopt certain new default behaviours that can cause all manner of problems. One particular change to watch out for is the new default modal presentation style that presents a view controller as a dismissable sheet. This allows the user to now swipe away these screens potentially bypassing your controller’s presentation logic, leading to crashes and unexpected behaviours.
Finally, if you’re using UIWebViews in your apps, hopefully, you’re aware these have been deprecated for some time now. Unfortunately, Apple is starting to tighten the noose; they will no longer accept new apps that use them from April. If you are still using UIWebView’s in existing apps, then you have a few more months to migrate to WKWebView or find another solution. This is a non-trivial task and if you were using some of the advanced functionality provided UIWebView you may find yourself with a lot of work to do.
Something else to remember that’s coming up in May is the shutdown of the popular analytics and crash reporting service Fabric, with Google urging developers to migrate their apps to the Firebase platform.
June is WWDC time (Apple’s annual developer conference) which means iOS 14 beta 1 and a whole host of new technologies and frameworks will be coming out. Hopefully, it will be a quieter year given Apple got their fingers burnt last year with just how buggy iOS 13 was right up through its public debut, but it’s still likely there will be quite a lot to get our heads around. Also, expect your more eager developers to be chomping at the bit to get seriously into SwiftUI, which will likely be in a more complete and stable state.
By now the iOS 14 betas should have stabilised somewhat, and your team should be starting to test your products and be flagging up any issues seriously. August is often a reasonably quiet time for most companies as it’s the peak holiday season, this can be a great way of filling up sprints for those unlucky enough not to be sat on a beach somewhere!
It’s this time of the year when Apple announces its new raft of iPhones, and along with them the iOS 14 GM. The work you did in August should make this a stress free OS release. However, it never hurts to test against the shipping version of the OS as sometimes there are tiny differences between it and the GM.
Apple is finally shutting down support for its old binary push notification protocol.
As the year comes to a close, so does Apple’s tolerance for app updates that still contain UIWebView. By this point, your app is hopefully updated or in a good enough state to carry on unsupported until you can find an alternative.
It’s also worth remembering that Apple shuts down App Store Connect for the holiday period every year and that there’s usually a last-minute rush to get apps onto the store which can extend review times a bit. Plan out any December releases with this in mind.
I think that about covers the coming year in iOS but if I’ve missed anything do let me know!