The changes in iOS 12 for developers
Monday, October 1, 2018
Richard Harris |
The changes developers need to be savvy of in iOS 12 for everything from how to new Siri shortcuts, to accessing users Health Record data.
It's here, iOS 12 - Apple's latest operating system, and it's chalked full of changes in everything from the user experience to under the programming hood. Along with the new OS, Apple has also released a new round of hardware, most notably with bigger screen sizes, a faster A12 chip, and the new Apple watch series 4. We've all seen the key note introductions and skimmed over the spec sheets right? But what does all of this mean for developers?
ARKit 2
First and foremost, you can now create multiplayer games in AR. This is a giant step forward and ushers in all kinds of gaming scenarios, including archiving any world map data structures for sharing across games.
Object detection has also been added into ARKit 2 which lets you effectually gives you "markerless" AR in a sense. As an example lets say you are at an airport and want information about the plane you are looking at . Point your phone at "that" plane and object detection rules can bring up the details. Or an even more simple example could be detecting different types of flowers or trees.
Taking this all a set further, you can also scan objects in the real world then incorporate them into your AR experience. As can have already guessed, the faster the iOS device, the faster it will scan an object, but this little nugget has far reaching capabilities we can't even imagine fully yet.
Siri Shortcuts
You can now define shortcuts for Siri to use through donations your code makes available to Siri. You allow which actions are available for the user to use as shortcuts and viola! Now users can open your app, check some data, do some action, and move on - all without opening your app! Uh wait, isn't this a bad thing for developers? What about displaying my ads, or getting the user to interact with my screens so I retain engagement? Welcome to the world of "Time Well Spent" my friends - a methodology that aims to reduce the amount of time people are spending using anything electronic.
In the new world of trying to get people to stop using their mobiles so much, and wasting time doing the same actions over and over, Apple is charging forward with Siri shortcuts and common apps Buzz Feed, Evernote, and Payal are already using them. In fact the count we have as of today is over 200 apps with Siri shortcuts enabled.
So as users get a-custom to not touching their phones to do tasks they perform often, you might consider enabling shortcuts in your app too - or you might get beat out by your competitors who have already done it.
Health Records
If you have a health app, this one is a biggie. Users can now share clinical history with your app by allowing developers to get read-only access to what's called the Fast Healthcare Interoperability Resources (FHIR) from the HealthKit store itself. The data stored in FHIR is updated regularly Apple says.
So if you have a weight loss app and want to incorporate real medical history from someone into your app's algorithm to help them with dieting - you can do that. Of course you will need a rock-solid Privacy Policy in place to do this.
Effects
This one has to do with the iOS sticker packs that appear in messaging when using iMessage. Basically if you have a sticker pack already included in your app, it will not appear to users in the "effects" section of iMessage and Facetime. What's cool about this is users can now apply your stickers in real time so it opens the door a bit to blotting out your face with little animations of any kind.
Interactive Controls in Notifications
Notifications overall have gotten a big update. Grouping notifications for users now means they only see "one single" message from your app in a card-like stack (newest first). This is helpful, but also points out how important it is for your messages to user to be important. Also, you can now make notifications interactive which allows the user to touch the message, then instead of it going into your app for details, it shows them the details right there inside the message itself.
Authentication Services
You can now share authentication logins between Safari and apps. So lets say you have a website that's locked behind a login, and a mobile app that accesses the same data - you can now allow your app to grab any stored login you've used previously used on the web to log into your app, or vise versa.
CarPlay for Navigation Apps
Got an app where GPS or some other form of navigation is in play? iOS 12 now lets developers display certain parts of that app in CarPlay enabled automobile audio systems. This is enabled only for navigation based apps.
Network Framework
There is a new network framework that looks to replace sockets, and gives developers direct access to protocols like TCP, TLS, UDP. The new framework offers benefits over the current native socket handling by having clean states and handling the waiting state more performant. There is also a focus on connection durability across different network environments and switching between them (wifi->cellular).
Natural Language
The Natural Language framework enables on-device natural language processing and supports language recognition, tokenization, and tagging. Tokenization splits text into its component words, sentences, or paragraphs; tagging identifies parts of speech, people, places, and organizations.
The Natural Language framework can also use custom Core ML models to classify and tag text in specialized contexts.
The NSLinguisticTagger class is still available. However, the Natural Language framework is the preferred mechanism to use for Natural Language processing.
Deprecations
Out with the old and in with the new, iOS 12 shouts the end of some classic calls you might be used to. Here's what Apple is deprecating (they discourage the use of and will eventually kill it entirely).
OpenGL ES (along with OpenCL) is being replaced by Metal. You can still use OpenGL ES in iOS 12, for now at least. There are many games, and platforms that use OpenGL so this one is a bit of a shocker. But knowing Metal is land-locked to Apple and xCode, it's par for the course when developing on iPhone. Metal has some benefits, but my guess is Open GL will still be supported over the next few years. There are heavy arguments on both sides of this fence from developers.
The push for subscription purchases in your apps
Last year, Apple held a secret meeting with a select group of iOS app developers in New York to talk about changing the current app delivery model from one-time purchases to subscription-based. From Apple’s view, these one-time purchases typically are inexpensive ($1-2), yet grant end-users unlimited access to the app and support, which can prove to be costly from both a services and R&D perspective. Apple’s expectation was to have developers switch to a different mindset around long-term customer engagement and recurring revenues, which is easier said than done.
Today, there are very few successful subscription-based apps in the Apple store. To change this reality, there needs to be a shift in the way apps are developed, delivered and maintained. As users commit to paying on a monthly or annual basis using subscriptions, they have clear expectations around service, support, quality, and value.
Apple has increasingly been encouraging app developers to switch to a subscription model, the reasons are obvious, who doesn't want to make money while they sleep? But consider this one carefully. Not all apps are suited for subscriptions.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more
Subscribe here