Apple hosted its annual developer conference – WWDC21.
Here are some of the important updates.
Xcode Cloud
Apple introduced first-party Continuous Integration solution – Xcode Cloud.
Service to become available in beta for those who apply during the summer and general availability expected in 2022. Pricing to be announced in Fall 2021.
Operating systems updates
iOS and iPadOS 15
iOS gets several news features including
- Focus Modes and notification categories
SharePlay
allowing users to follow the same activity during FaceTime callShazamKit
– ability to recognize known sounds and also use custom recognition- There is now official onscreen virtual controller API mimicking real game controllers
- Nearby interaction API now allows communication with third-party devices
- iPadOS now allows placing widgets across the Home Screen increasing their usability and discoverability
- Updates to
SwiftUI
,ARKit
,RealityKit
,HomeKit
and other frameworks
tvOS 15
Main new feature of tvOS 15 – authentication using iPhone which speeds up the process.
watchOS 8
watchOS 8 adds couple of interesting features for developers:
- Always-on display support for apps
- Bluetooth connections from watch complications
- Region-based user notifications
macOS 12 Monterey
macOS 12 Monterey also got its pack of updates:
SharePlay
is also supported on macOS- Shortcuts app is now available on macOS
- TestFlight is now available for macOS apps
- Object Capture API allows creation of 3D models using iPhone camera
- Mac Catalyst gets more ways of styling apps natively on macOS
Beta versions
OS beta versions are available on Apple Developer site. Xcode 13 is also available for download.
Swift Structured Concurrency
Swift 5.5 now has support for async/await
concurrency pattern. As well as Structured Concurrency, Actors
concept.
Note: as of today, all new concurrency features WILL REQUIRE iOS/iPadOS 15, tvOS 15, watchOS 8 or macOS 12. It is still under investigation if this could be back-ported to previous releases.
SwiftUI
SwiftUI gets better and better with each new release. Couple of notable changes:
Canvas
allowing custom imperative drawing (basically, GPU-accelerateddrawRect
replacement)TimelineView
providing a way of forced view updates (including.animation
mode which mimicsCADisplayLink
API)- Focus manipulation support on all platforms
.searchable
modifier providing search experience on all platforms with suggestions support- Support for
async
tasks improving lazy view loading workflows - Many accessibility improvements
- Better support of macOS controls including multi-column tables
SharePlay and Group Activities
SharePlay API allows:
- Shared app experience for users communicating via FaceTime
- Synchronized media playback (including native support for
AVPlayer
) - Apps could use API for any other activities
- Provides an option to promote app to users on the call who do not have it installed
- Supported on iOS 15, iPadOS 15, macOS 12 Monterey, and tvOS 15
ScreenTime API
Apple also now provides parental controls API for third-party apps.
Xcode 13
Xcode 13 brings couple of improvements for the developers:
- Team comments within source code
- DocC documentation builder
- File compare tool built-in
- Cloud signing
- Vim mode – support for
vim
hotkeys - CarPlay simulator
Recommendations
Developer: install the beta on testing devices, explore new features. Check, if existing apps build properly.
QA engineer: install the beta on testing devices, try existing apps for possible regressions.
PM/DM: check new features, consider adding new features to backlog.