App Store requirement to adapt to all screen sizes from Spring 2020
tvOS gets Multi-User support plus support for Xbox and Playstation game controllers
SwiftUI
Less Code. Better Code. Everywhere. Declarative Syntax.
Round images by
Image(name).clipShape(Circle()).shadow(radius: 3, y: 3)CornerRadius by
Image(name).cornerRadius(3)Creating a label by
Text("Done!").font(.headline).color(.gray)Changing label to button by
Button("Done!", action: done).font(.headline).color(.gray)Automatic
Spacing & Insets,Localizability,Right-To-Left,Dynamic Type,Dark Mode, …Animations are Repsonsive, Interruptable, Automatic with minimum amount of code
Build powerful layouts through composition leveraging
VStackandHStackAdopt
ObservableObjectfor model objects that can changeLive Development Experience
Adopt
PreviewProviderfor views/view controllers (surrounded by#if DEBUG) to live-preview in canvasMultiple previews with different configurations displayable on one canvas
Adopt SwiftUI gradually at your own pace
Swift
Introduction of
Module Stabilitywhich ensures compatibility for binaries of current/future versions of Swift compilerGitHub adds Swift Package support to the GitHub Package Registry
Swift Packages for apps on all platforms seamlessly supported by Xcode
Xcode 11
Add additional editors whenever and whereever you want
Use related content (Live View, Assistants, …) in any editor of your workspace. They disappear automatically when there is no content.
Minimap enables straigt-forward code navigation. Highlights MARK declarations, Issues, Test Failures, …
Add Documentationfeature auto-adds missing function parametersRefactoring also changes documentation parameters
Source-control history moves to the Inspector pane on the right side. Can now always be open.
Editor displays inline code-change comparison
TestPlans enable the developer to create many different test combinations (localizations, environment settings, sanitizers, devices). Works with Xcode Server!
Enable device conditions in Xcode:
Network Link Conditioner,Thermal StateNew app performance metrics for released apps:
Battery Usage,Launch Time,Hang Rate,Memory Use,Disk AccessTestFlight user feedback lets users share screenshots and comments
macOS Catalina
Bring your apps to the Mac by just enable one checkbox in Xcode
Move kernel extensions out of the kernel into
user spacewithDriverKitwhich improves macOS stability for all usersSystem volume will become read only. User data and apps are on a read/write volume.
New permissions for apps that want to do
Keystroke Recording,Screen Capture,Screen RecordingNew permissions for apps that want to access directories like
Documents,Desktop,Downloads,iCloud Drive,Removable Media,Network Volumes
watchOS
The watch becomes independent from the phone by running its own apps, by just checking a checkbox in Xcode
Independent apps are highlighted on the watchOS App Store
App Store has fully featured app descriptions. Apps are searchable by dictation and scribble. Direct download of the new, small bundles.
Notifications, CloudKit, Complication Pushes, Text Fields, Sign In With Apple
Streaming audio to the watch
SwiftUI support
iOS
New semantic colors that automatically update for the brand new Dark Mode
New set of adaptive materials and vibrant content filters with variable transparency which support ligh/dark content mode
Modal view controllers are now displayed as cards by default
Peek and pop redesigned to show previews with contextual actions
SFSymbols are 1500+ free, vector assets, variable scales and weights
Re-designed share sheet
iPadOS
Major enhancements to multi tasking by new UIWindowScene API
New
SceneDelegateto manage multiple windows at the same time from one appNew state restauration system using
NSUserActivityPencilKit framework for customize drawing in your app
Major simplification in text selection.
UITextInteractionAPI to fix conflicting-gesture issuesScrollViewScrubbing: Grab and drag the any scrollview scroll indicator
Accessibility Features
Accessibility has been added to the iOS Quick Start guide
Accessibility has been moved one hierarchy level up into the Settings main menu
Accessibility sub-menus menu got icons for better discoverability
Voice Over can display a grid for better selectability. You can show accessibility labels and much much more. It’s an incredible feature!
Showing accessibility labels via Voice Over completely changes how we can test them. They are now just displayed on screen!
Privacy
Good Practice: Process user data on device whenever you can & Ask for permission when processing user data & Encrypt user data
Allow once is a new option when requesting location permission
Apps location usage shown on a map by apple from time to time
Sign in with Apple provides fast, easy sign in without tracking by tapping a
Sign in with Apple Buttonand a quick FaceIDNo more email address verification since apple already done this!
All AppleID-emails are protected by 2FA
Built in fraud detection
Apple provided email relays protect users real email address
Cross platform support: Works on Android and Windows devices (on the web)
No tracking by Apple
Machine Learning
Happens on-device
Engine is capable of 5 trillion operations per second
Image Saliency provides image heatmap
Highlights important objects and where users are likely to focus
Helps auto-cropping photos
Text Recognition
Search text from signs, posters and documents
Take advantage of the document camera capability from the Notes app
On-Device speech API with support for 10 languages
CoreML supports more than 100 layer-model types which brings e.g. breakthrough natural language processing to your apps
Core ML On-Device Personalization enables developers to update models from inside the app (in the background)
Create ML becomes a macOS app enabling users creating models without writing code
Choose from different model templates
Build multiple models with different data sets and define parameters of each
Real-time feedback on model training
Supports transfer learning (e.g. for image classification) which speeds up training
Experiment and preview models, e.g. use microphone to test sound classification models
Siri Shortcuts
Make them discoverable by adding the Add to Siri button to your apps
Apple made them conversational by adding Parameters
Shortcuts app is build into iOS and iPadOS
Added Automation which allows to set triggers for when to run specific shortcuts
Configurable 3rd-party actions enable combination of multiple actions (multi-step shortcuts)
Synced via iCloud to all of your devices
ARKit
Integration of AR Quick Look with Apple Pay to try out clothes, glasses, and other products (and immediately by them)
Worlds largest AR platform
3 technologies that make it easy to develop AR experiences:
ARKit,RealityKit,Reality ComposerReality Composerlets you layout AR experiences in 3D on macOS, iOS and iPadOsRealityKitis a modern real-time 3D engine. Designed for AR. Easy integration with existing apps.Uses physically based rendering, Data driven rendergraph, Multi-threaded
Access through native Swift API framework
ARKit 3Simultaneous from and back camera
Motion capture by ML algorithm
People occlusion detection by ML algorithm
Metal
Modern high performance (100x OpenGL) GPU programming. Low overhead. Easy to use.
Core layer under all of Apples frameworks: UIKit, AppKit, Core Animation, SpriteKit, RealityKit, ARKit, MapKit, WebKit, Core ML, Create ML, VisionKit, Core Image, Camera Processing
Full support in iOS Simulator brings major performance improvements
Metal Compute provides building blocks for general purpose computation:
Shading Language,Compiler,Compute Encoding,Metal Performance Shaders,Metal Tile Shading combines compute shaders and fragment part into one highly-efficient render pass
Metal Indirect Compute Command Encoding lets you build GPU compute commands right on the GPU
Amazing Metal-based, animated Raytracing demo with computationally expensive multi-reflections and more
“Built for Pros” 😅
