let’s dev GmbH & Co. KG - The brand for groundbreaking custom software

Blog

Top!

let’s dev | Scroll to top
let’s dev | Scroll to next content item

Hello

let’s dev | Scroll to previous content item
let’s dev Blog | iOS 12: The top new features at a glance
by Nicolas
17. July 2018

iOS 12: The top new features at a glance

As expected, the next major versions of the four operating systems iOS, macOS, watchOS and tvOS were presented at this year's Apple developer conference. This article will focus on the iOS platform. In the following, innovations for Apple's mobile operating system that are relevant for development will be highlighted.

New interfaces

Siri Shortcuts

It's been more than a year since Apple bought App Workflow for an undisclosed sum. The app is a kind of construction kit with which various actions can be bundled into a single "workflow". For example, an "I'm running late" message can be generated and sent to all participants of the current calendar entry. At the same time, navigation to the destination is started in the map app.

However, since Apple acquired the app in March 2018, Workflow had been quiet. This will now change with iOS 12 - Workflow will become Siri Shortcuts. While the basic functionality remains the same, the new possibilities with Siri are particularly interesting. For example, Siri commands can now be assigned to the created workflows. In addition, developers can use so-called "Custom Intents", which can be found as INObjects in SiriKit, developers can define shortcuts for their own app.

An app in which tickets for buses or trains can be purchased could, for example, define a shortcut "Buy a ticket from my location to home", which could handle the complete purchase of a ticket without having to open the app. The prerequisite for this, however, would be that the app knows the user's home. Developers can also integrate the new INUIAddVoiceShortcutViewController into their app. This provides a user interface that allows the assignment of custom commands for a specific shortcut. For example, the user could rename the shortcut to "Prepare my way home". In this scenario, this command to Siri alone would be sufficient to complete the ticket purchase.

However, this example also illustrates where Siri shortcuts are still limited. Completely dynamic commands are not possible at the moment. For "Buy a ticket from my location to Schiller Street" another shortcut would have to be created and for each additional street as well. Nevertheless, Siri shortcuts offer a lot of possibilities and it will be interesting to see how developers use this new feature.

Augmented Reality

A big focus of iOS 12 is augmented reality. ARKit 2.0 brings new multiplayer features that will make it possible to view and interact with the same AR session from multiple devices. This makes entirely new types of games conceivable.

The new USDZ file format also allows 3D models to be exported and imported and displayed in AR on iOS 12 devices. In addition, ARKit has been enhanced with interfaces to scan and identify real-world objects. Particularly interesting is the option of eye tracking, through which the movements of the eyes can be tracked in real time.

Machine Learning

CoreML, Apple's machine learning framework, is also coming in its second version with iOS 12. In addition to several new features, Apple promises a significantly improved performance.

The new Natural Language Framework allows developers to analyze text within the app using machine learning. An NLLanguageRecognizers can be used to determine the dominant language within a string. Language recognition could be used to automatically display the translation of the text if it is not the user's device language.

However, with the Natural Language Framework, analysis over text is also possible to generate simple statistics, such as the number of words or sentences. The NLTagger class also offers the possibility to identify "tags" of different types in a string. For example, names, locations or organization names can be determined in a string.

While CoreML still cannot be used on iOS devices to create machine learning models, the new Create ML framework for macOS Mojave offers exactly these capabilities.

In a separate WWDC session, , the possibilities of Create ML were shown in detail. With the framework, machine learning models can be trained to classify images, for example. If you create an MLImageClassifierBuilder, via an Xcode Playground, images can be inserted into the Playground for classification either via drag and drop or programmatically. Apple's session shows how to train the machine learning model with images of fruit. After feeding it with enough images, it is inserted into an iOS app to recognize and name fruits in images.

Excerpt from the WWDC session 'Introducing Create ML'

Figure 2: Excerpt from the WWDC session "Introducing Create ML"

In addition to image recognition, Create ML can also be used to train the meaning of text and the relationship between numerical values.

Other innovations

With the new Network Framework, network connections can be established to get direct access to protocols like TLS, TCP and UDP. However, URLSession should still be used for HTTP calls.

There are only a few innovations for the UIKit this year. With UITextInputPasswordRules classes, the company-specific password rules can now be defined, which are taken into account by iOS when a password is suggested within an app. By generating the passwords and at the same time taking into account rules specified by the backend, the protection against misuse is significantly strengthened. For this, only a UITextInputPasswordRules instance must be set on a UITextField. In order to receive password suggestions on a UITextField instance, .newPassword must also be set as textContentType.

UITextField also offers a completely new textContentType oneTimeCode. If you set this parameter, incoming SMS are scanned for two-factor authentication codes and inserted directly into the text field.

With the new revised Notification System in iOS 12, there are also new possibilities for developers to group notifications.

Deprecations

Since the introduction of WebKit with iOS 8, Apple advises developers to use the WKWebView to display web pages within an app. However, the old UIWebView is still used by many developers today. With iOS 12, however, the UIWebView is now deprecated. Already with iOS 13, Apple could remove it completely from UIKit, which is why developers should switch to the WKWebView in their apps now at the latest.

While the effort here is probably limited, this is not true for OpenGL. Apple would like games and other graphical renderings to be developed with the in-house framework Metal from now on. OpenGL will continue to work with iOS 12, but it has also been marked as deprecated, which is why developers should switch from OpenGL to Metal as soon as possible.

Other changes

The new iOS 12 also brings revised App Store guidelines. In the future, it will be possible for apps that are not financed via a subscription model to test the paid app for free for a limited period of time. This will be done via a free in-app purchase.

Another new feature concerns the description of app updates. Starting with iOS 12, the update text must clearly explain which new features have been integrated into the app. Generic update descriptions will only be accepted if they concern bug fixes, security updates or performance improvements. With this step, Apple goes against the development of the last months, in which every update was provided with the same description text.

Apple simplifies app beta testing with iOS 12. Test users no longer have to be invited manually with the new "TestFlight Public Link" feature. Instead, it will be possible to invite users to Test Flight via a URL. This means that even large groups can be organized quickly and easily. With TestFlight Public Link, it is even possible to invite up to 10,000 testers to an app. It should also be possible for developers to create groups of testers and make certain builds available to individual groups.

Developers of apps that allow in-app purchases will be particularly pleased with the following new feature: With iOS 12, it is possible to log into a sandbox App Store account, which is only used for requests against the App Store test environment. So in the future, it will no longer be necessary to manually log in and out to test in-app purchases.

More articles from our blog

let’s dev Blog |  The World Usability Day 2023

Corporate

The World Usability Day 2023

by Sina

2023-11-10

Read more
let’s dev Blog | Adobe Max 2023

Corporate

Adobe Max 2023

by Julia

2023-10-13

Read more
let’s dev Blog | Accessibility in web development

Technical

Accessibility in web development

by Sarah

2023-10-31

Read more
let’s dev Blog | Digital wallet cards: Strengthening customer engagement in the digital age

Corporate

Digital wallet cards: Strengthening customer engagement in the digital age

by Julian

2023-07-07

Read more
let’s dev Blog | Kortpress at the OMR Festival 2023 in Hamburg

Corporate

Kortpress at the OMR Festival 2023 in Hamburg

by Julian

2023-05-31

Read more
let’s dev Blog | Recap 2022: Smart Devices, Platform Business and innovative Research Projects

Corporate

Recap 2022: Smart Devices, Platform Business and innovative Research Projects

by Julian

2023-01-31

Read more
let’s dev Blog | Creating animations for websites using LottieFiles

Corporate

Creating animations for websites using LottieFiles

by Julian

2022-12-15

Read more
let’s dev Blog | Lean in Software Development

Technical

Lean in Software Development

by Sabrina

2022-12-08

Read more
let’s dev Blog | Adobe Max - Live from LA

Corporate

Adobe Max - Live from LA

by Jessica

2022-10-28

Read more
let’s dev Blog | Mensch und Computer 2022 - Facing Realities

Corporate

Mensch und Computer 2022 - Facing Realities

by Kerstin

2022-09-12

Read more
let’s dev Blog | EUREKA Innovation Award

Corporate

EUREKA Innovation Award

by Karl

2022-06-23

Read more
let’s dev Blog | WWDC 2022: Our update on Apple's new operating systems

Technical

WWDC 2022: Our update on Apple's new operating systems

by Julian

2022-06-08

Read more
let’s dev Blog | Docker and the hidden security hole

Technical

Docker and the hidden security hole

by Martin

2022-02-17

Read more
let’s dev Blog | The Christmas holidays are just around the corner - We are looking forward to the next year 2022!

Corporate

The Christmas holidays are just around the corner - We are looking forward to the next year 2022!

by Julian

2021-12-22

Read more
let’s dev Blog | Production and assembly of stacks and electro­lysers for hydrogen production

Corporate

Production and assembly of stacks and electro­lysers for hydrogen production

by Anton

2021-12-21

Read more
let’s dev Blog | Adobe Max 2021 - A global celebration of creativity

Corporate

Adobe Max 2021 - A global celebration of creativity

by Julia

2021-11-02

Read more
let’s dev Blog | Relational databases compared to object-oriented databases

Technical

Relational databases compared to object-oriented databases

by Julian

2021-10-14

Read more
let’s dev Blog | Apple Developer Program: What is it used for and what content does it offer me as a member?

Corporate

Apple Developer Program: What is it used for and what content does it offer me as a member?

by Julian

2021-09-30

Read more
let’s dev Blog | Sketch, Figma & Co. - We take a look at the most popular UI and Prototyping Tools in 2021

Corporate

Sketch, Figma & Co. - We take a look at the most popular UI and Prototyping Tools in 2021

by Ellen

2021-07-15

Read more
let’s dev Blog | Tailwind: An innovative project for the future use of old wind turbines

Corporate

Tailwind: An innovative project for the future use of old wind turbines

by Karl

2021-06-24

Read more
let’s dev Blog | Features, Fixes and Functions - A WWDC 2021 Sumup

Corporate

Features, Fixes and Functions - A WWDC 2021 Sumup

by Julian

2021-06-10

Read more
let’s dev Blog | Smart Prognosis of Energy with Allocation of Resources

Corporate

Smart Prognosis of Energy with Allocation of Resources

by Karl

2021-02-18

Read more
let’s dev Blog | Dasoman - Data-Sovereignty-Manager

Corporate

Dasoman - Data-Sovereignty-Manager

by Karl

2021-01-11

Read more
let’s dev Blog | We look back on the past months - And wish all the best for the coming year 2021!

Corporate

We look back on the past months - And wish all the best for the coming year 2021!

by Julian

2020-12-17

Read more
let’s dev Blog | iOS User Interface Tests

Technical

iOS User Interface Tests

by Nicolas

2020-11-12

Read more
let’s dev Blog | Adobe Max - Online for the first time

Corporate

Adobe Max - Online for the first time

by Julia

2020-10-29

Read more
let’s dev Blog | CAN2BLE

Technical

CAN2BLE

by Raphael

2020-09-24

Read more
let’s dev Blog | Mensch und Computer 2020 - Digital Change in the Flow of Time

Corporate

Mensch und Computer 2020 - Digital Change in the Flow of Time

by UX Team

2020-09-18

Read more
let’s dev Blog | Neumorphism – A new era of user interface design?

Technical

Neumorphism – A new era of user interface design?

by Julian

2020-08-13

Read more
let’s dev Blog | UX Research Part 3 - UX Methods

Technical

UX Research Part 3 - UX Methods

by Elena

2020-05-28

Read more
let’s dev Blog | UX Research Part 2 - What is UCD and what does User Research have to do with it?

Technical

UX Research Part 2 - What is UCD and what does User Research have to do with it?

by Elena

2020-04-23

Read more
let’s dev Blog | go-digital promotes establishment of home office workstations

Corporate

go-digital promotes establishment of home office workstations

by Karl

2020-03-19

Read more
let’s dev Blog | Google Passes - Card Management on Android Devices

Technical

Google Passes - Card Management on Android Devices

by Michelle

2020-03-12

Read more
let’s dev Blog | 100% code coverage in software testing - a reasonable goal?

Technical

100% code coverage in software testing - a reasonable goal?

by Raphael

2020-03-06

Read more
let’s dev Blog | Swift UI - Simple and fast implementation of user interfaces

Technical

Swift UI - Simple and fast implementation of user interfaces

by Tobias

2020-03-02

Read more
let’s dev Blog | In dialog with the business juniors - Exciting insights into business start-ups and digital transformation

Corporate

In dialog with the business juniors - Exciting insights into business start-ups and digital transformation

by Julian

2020-02-27

Read more
let’s dev Blog | Simplified testing of iOS push notifications in the simulator with Xcode 11.4

Technical

Simplified testing of iOS push notifications in the simulator with Xcode 11.4

by Manuel

2020-02-26

Read more
let’s dev Blog | National meeting of the consortium of the SPEAR research project at let's dev in Karlsruhe

Corporate

National meeting of the consortium of the SPEAR research project at let's dev in Karlsruhe

by Karl

2020-01-27

Read more
let’s dev Blog | UX Research Part 1 - Why User Research is so important

Technical

UX Research Part 1 - Why User Research is so important

by Elena

2020-01-23

Read more
let’s dev Blog | Dark Mode

Technical

Dark Mode

by Elisa

2020-01-09

Read more
let’s dev Blog | We wish you a Merry Christmas - And a Happy New Year!

Corporate

We wish you a Merry Christmas - And a Happy New Year!

by Julian

2019-12-20

Read more
let’s dev Blog | Exchange on the topic of digitization with the Business Club Luxembourg at the Embassy of Luxembourg in Berlin

Corporate

Exchange on the topic of digitization with the Business Club Luxembourg at the Embassy of Luxembourg in Berlin

by Karl

2019-12-17

Read more
let’s dev Blog | DaSoMan at the Internet+ Expo in Foshan (China)

Corporate

DaSoMan at the Internet+ Expo in Foshan (China)

by Karl

2019-12-13

Read more
let’s dev Blog | Google Play Console: Pre-Launch Reports

Technical

Google Play Console: Pre-Launch Reports

by Fabian

2019-12-11

Read more
let’s dev Blog | DevFest 2019 in Hamburg

Technical

DevFest 2019 in Hamburg

by Julian

2019-12-05

Read more
let’s dev Blog | Vernissage digital art in the media theater of the Humboldt University Berlin

Corporate

Vernissage digital art in the media theater of the Humboldt University Berlin

by Karl

2019-11-21

Read more
let’s dev Blog | World Usability Day 2019 in Karlsruhe - let's dev supports as main sponsor

Corporate

World Usability Day 2019 in Karlsruhe - let's dev supports as main sponsor

by Aileen

2019-11-11

Read more
let’s dev Blog | Gutted - Open Day at the Alter Schlachthof Karlsruhe 2019

Corporate

Gutted - Open Day at the Alter Schlachthof Karlsruhe 2019

by Julian

2019-09-26

Read more
let’s dev Blog | Mensch und Computer 2019 - Conference on User Experience and Usability in Hamburg

Corporate

Mensch und Computer 2019 - Conference on User Experience and Usability in Hamburg

by Elena

2019-09-17

Read more
let’s dev Blog | Business and Enterprise App Distribution on iOS

Technical

Business and Enterprise App Distribution on iOS

by Aileen

2019-08-05

Read more
let’s dev Blog | Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

Corporate

Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

by Karl

2019-07-17

Read more
let’s dev Blog | let's dev supports runners at the 7th KIT Championship

Corporate

let's dev supports runners at the 7th KIT Championship

by Karl

2019-07-05

Read more
let’s dev Blog | Automated testing of C++ code with Google Test and Google Mock - Part 2

Technical

Automated testing of C++ code with Google Test and Google Mock - Part 2

by Arne

2019-06-13

Read more
let’s dev Blog | Apple WWDC 2019: These are the highlights of the keynote

Technical

Apple WWDC 2019: These are the highlights of the keynote

by Nicolas

2019-06-05

Read more
let’s dev Blog | App Builders 2019

Technical

App Builders 2019

by Nicolas

2019-05-23

Read more
let’s dev Blog | Official opening of the Consolidation and Expansion Center (FUX)

Corporate

Official opening of the Consolidation and Expansion Center (FUX)

by Helena

2019-04-15

Read more
let’s dev Blog | Delegation from Nottingham to visit the Alter Schlachthof in Karlsruhe

Corporate

Delegation from Nottingham to visit the Alter Schlachthof in Karlsruhe

by Helena

2019-04-14

Read more
let’s dev Blog | The time has come: We are moving!

Corporate

The time has come: We are moving!

by Helena

2019-03-26

Read more
let’s dev Blog | Automated testing of C++ code with frameworks - part 1

Technical

Automated testing of C++ code with frameworks - part 1

by Arne

2019-02-20

Read more
let’s dev Blog | The app in the Google Play Store

Technical

The app in the Google Play Store

by Elisa

2019-01-24

Read more
let’s dev Blog | „UX Day“ 2018

Corporate

„UX Day“ 2018

by Aileen

2018-12-17

Read more
let’s dev Blog | let's dev supports SG Siemens volleyball players from Karlsruhe

Corporate

let's dev supports SG Siemens volleyball players from Karlsruhe

by Helena

2018-12-04

Read more
let’s dev Blog | SMEs shape digitalization - SME Conference 2018

Corporate

SMEs shape digitalization - SME Conference 2018

by Helena

2018-11-12

Read more
let’s dev Blog | Apple Wallet

Technical

Apple Wallet

by Maik

2018-10-26

Read more
let’s dev Blog | „Mensch und Computer“ 2018

Corporate

„Mensch und Computer“ 2018

by Judith

2018-09-24

Read more
let’s dev Blog | State Design Pattern in Android

Technical

State Design Pattern in Android

by Thomas

2018-09-17

Read more
let’s dev Blog | let's dev is an authorized consulting company in the „go-digital“ funding program

Corporate

let's dev is an authorized consulting company in the „go-digital“ funding program

by Helena

2018-09-01

Read more
let’s dev Blog | App Design & Development Conference 2018

Corporate

App Design & Development Conference 2018

by Helena

2018-08-14

Read more
let’s dev Blog | let's dev at CEBIT

Corporate

let's dev at CEBIT

by Karl

2018-06-11

Read more
let’s dev Blog | Introduction to User Interface (UI) Testing with Espresso

Technical

Introduction to User Interface (UI) Testing with Espresso

by Raphael

2018-06-07

Read more
let’s dev Blog | The app in the Apple App Store: what information is needed?

Technical

The app in the Apple App Store: what information is needed?

by Aileen

2018-04-27

Read more
let’s dev Blog | Smart Pointer in C++

Technical

Smart Pointer in C++

by Matthias

2018-04-01

Read more
let’s dev Blog | User interface design for iPhone X: all innovations at a glance

Technical

User interface design for iPhone X: all innovations at a glance

by Helena

2018-02-07

Read more
let’s dev Blog | WebVR - Virtual Reality Experience in the Browser with the A-Frame Framework

Technical

WebVR - Virtual Reality Experience in the Browser with the A-Frame Framework

by Judith

2018-01-10

Read more
let’s dev Blog | Deutsche Bahn Open Data Hackathon

Corporate

Deutsche Bahn Open Data Hackathon

by Karl

2015-03-31

Read more
let’s dev Blog | Blur effects under iOS 7

Technical

Blur effects under iOS 7

by Katja

2014-04-24

Read more
let’s dev Blog | Beyond App Store - iOS application distribution

Technical

Beyond App Store - iOS application distribution

by Karl

2012-08-27

Read more
let’s dev Blog | Front-end architecture - Model View Presenter and Message Bus

Technical

Front-end architecture - Model View Presenter and Message Bus

by Karl

2011-03-08

Read more