What’s new in iOS 15 for Developers.

Pushpsen Airekar
3 min readSep 22, 2021

iOS 15 introduces support for the apple latest programing language i.e Swift 5.5. This new iOS and swift version provide many new features and enhancements to the user. In this article, I’ve listed down five new features which are important for developers using an iOS 15.

1. Interruption levels for Push Notifications

iOS 15 has introduced a new feature named Focus Mode. To achieve this apple has segregated the level or the priority of that particular notification which is going to be displayed on the notification tray.

So whenever you’re developing for the notifications, make sure you’re setting up the interruption level for it so that it will work properly with a focus mode.

https://developer.apple.com/documentation/usernotifications/unnotificationinterruptionlevel

2. New Button features in SwiftUI

In SwiftUI, there is a list of new parameters that have been added for the Component Button.

  1. Control Prominance: it provides the prominence of a view hierarchy for the button. Control prominence is having two states such as:
.controlProminence(.increased)

2. Tint: The user can apply tint color to the button using the tint property.

.tint(.accentColor)

3. Button Style: Button styles provides a variety of options for the styling of the button.

.buttonStyle(.accentColor)

4. Control Size: The size classes, like regular or small, that you can apply to controls within a view.

3. Improved Localization

Xcode 13 and swift 5.5 with swift UI, if the iOS version is selected to 15 then the project will grab the strings from your project and automatically add them in the string file. You need to make sure that you’ve enabled the ‘Use Complier to Extract Swift Settings ’ to ‘Yes’.

After enabling the setting, you need to go inside the Product → Export Localization, and then it will create and save the file created with the strings used in the project as shown in the screenshot.

4. Location Button

LocationButton simplifies requesting one-time authorization to access location data. Add this button to your SwiftUI user interface in situations when users may want to grant temporary access to their location data each time they use a particular feature of your app.

LocationButton(.currentLocation) {  // Fetch location with Core Location.}.symbolVariant(.fill)
.labelStyle(.titleAndIcon)

5. Await Callout

Swift 5.5 introduces asynchronous (async) functions into Swift, allowing us to run complex asynchronous code almost as if it were synchronous. This is done in two steps: marking async functions with the new async keyword, then calling them using the await keyword, similar to other languages such as C# and JavaScript.

func processWeather() async {
let records = await fetchWeatherHistory()
let average = await calculateAverageTemperature(for: records)
let response = await upload(result: average)
print("Server response: \(response)")
}

--

--

Pushpsen Airekar

Product Engineer,  iOS Developer @ CometChat Inc, Passionate iOS developer from India 🇮🇳. with a great test in UX design.