<!--
{
  "documentType" : "article",
  "framework" : "Updates",
  "identifier" : "/documentation/Updates/wwdc2023",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "WWDC23"
}
-->

# WWDC23

Highlights of new technologies introduced at WWDC23.

## Overview

Browse a selection of documentation for new technologies, frameworks, and APIs introduced at WWDC23. Many existing frameworks have added significant functionality, and you’ll find new ways to enhance your apps targeting the latest platform release.

For a comprehensive list of downloadable sample code projects, see [WWDC23 Sample Code](https://developer.apple.com/sample-code). For the latest design guidance localized in multiple languages, see [Human Interface Guidelines > What’s New](https://developer.apple.com/design/whats-new/).

## Topics

### visionOS

visionOS is a brand new platform that allows you to build immersive apps and games for spatial computing that run on Apple Vision Pro. Create new apps using SwiftUI to take full advantage of the spectrum of immersion available in visionOS. If you have an existing iPad or iPhone app, add the visionOS destination to your app’s target to gain access to the standard system appearance, and add platform-specific features to create a compelling experience.

  <doc://com.apple.documentation/documentation/visionOS>

  <doc://com.apple.documentation/documentation/visionOS/World>

  <doc://com.apple.documentation/documentation/visionOS/creating-your-first-visionos-app>

  <doc://com.apple.documentation/design/Human-Interface-Guidelines/designing-for-visionos>

  <doc://com.apple.documentation/documentation/visionOS/adding-3d-content-to-your-app>

  <doc://com.apple.documentation/documentation/visionOS/bringing-your-app-to-visionos>

### SwiftData

Use SwiftData with SwiftUI to create a seamless connection from your data model to user interface. Like SwiftUI, SwiftData focuses entirely on code, with no external file formats to manage. Instead, it uses Swift’s new macro system to offer a streamlined API. SwiftData uses the `Codable` protocol to understand structures and enumerations, so you can model your data with the tools you already know. These types are fully modeled in the underlying data store, enabling you to perform fast and efficient queries, even on complex structured data.

  <doc://com.apple.documentation/documentation/SwiftData>

  <doc://com.apple.documentation/documentation/SwiftUI/Building-a-document-based-app-using-SwiftData>

### Widgets, Live Activities, and watchOS complications

Bring your widgets to new places like the macOS desktop, Standby, and the Lock Screen on iPad. And now many of your widgets also gain new interactive abilities using `Button` and `Toggle`. Support Live Activities to keep users updated with the latest data from your app. Add animations in your widget to respond to user action or data changes.

  <doc://com.apple.documentation/documentation/WidgetKit>

  <doc://com.apple.documentation/documentation/WidgetKit/Developing-a-WidgetKit-strategy>

  <doc://com.apple.documentation/documentation/WidgetKit/emoji-rangers-supporting-live-activities-interactivity-and-animations>

  <doc://com.apple.documentation/documentation/WidgetKit/Creating-a-Widget-Extension>

  <doc://com.apple.documentation/documentation/WidgetKit/Making-network-requests-in-a-widget-extension>

  <doc://com.apple.documentation/documentation/WidgetKit/Creating-views-for-widgets-Live-Activities-and-watch-complications>

  <doc://com.apple.documentation/documentation/WidgetKit/Creating-accessory-widgets-and-watch-complications>

  <doc://com.apple.documentation/documentation/WidgetKit/Supporting-additional-widget-sizes>

  <doc://com.apple.documentation/documentation/WidgetKit/Preparing-widgets-for-additional-contexts-and-appearances>

  <doc://com.apple.documentation/documentation/WidgetKit/Adding-interactivity-to-widgets-and-Live-Activities>

  <doc://com.apple.documentation/documentation/WidgetKit/Animating-data-updates-in-widgets-and-live-activities>

  <doc://com.apple.documentation/documentation/WidgetKit/Linking-to-specific-app-scenes-from-your-widget-or-Live-Activity>

  <doc://com.apple.documentation/documentation/WidgetKit/Making-a-Configurable-Widget>

  <doc://com.apple.documentation/documentation/WidgetKit/Migrating-from-SiriKit-Intents-to-App-Intents>

  <doc://com.apple.documentation/documentation/WidgetKit/Keeping-a-Widget-Up-To-Date>

  <doc://com.apple.documentation/documentation/WidgetKit/Widget-Suggestions-In-Smart-Stacks>

  <doc://com.apple.documentation/documentation/ActivityKit>

  <doc://com.apple.documentation/documentation/ActivityKit/displaying-live-data-with-live-activities>

### SwiftUI

Use the ever-expanding SwiftUI API in your apps, with greater control over scroll and focus behavior, and more. Build sophisticated animations with advanced new capabilities, and even automatically match the speed of your animation to the velocity of user gestures. Share more SwiftUI code with your watchOS app using new `TabView`, `ToolbarItem`, and `NavigationSplitView`. And use `@Observable` with SwiftUI to automatically detect and update only the fields of your views that people access.

[SwiftUI updates](/documentation/Updates/SwiftUI)

Learn about important changes to SwiftUI.

  <doc://com.apple.documentation/documentation/Observation>

  <doc://com.apple.documentation/documentation/SwiftUI/Backyard-birds-sample>

  <doc://com.apple.documentation/documentation/SwiftUI/ContentUnavailableView>

  <doc://com.apple.documentation/documentation/SwiftUI/CustomAnimation>

  <doc://com.apple.documentation/documentation/SwiftUI/PhaseAnimator>

  <doc://com.apple.documentation/documentation/SwiftUI/TableColumnCustomization>

  <doc://com.apple.documentation/documentation/SwiftUI/OutlineGroup>

  <doc://com.apple.documentation/documentation/Charts/SectorMark>

### Xcode and developer tools

With the latest Xcode release, you can verify the origin of the frameworks your app depends upon, and add metadata to your own frameworks to ensure other developers about your privacy policies. Learn to install and use on-demand simulators. Enhance your Xcode Cloud build workflows to automate packaging up your app for distribution. And the new strings catalog feature right within Xcode gives even more control over how your UI text is handled in locales around the globe.

[Xcode updates](/documentation/Updates/Xcode)

Learn about important changes to Xcode.

  <doc://com.apple.documentation/documentation/Xcode/downloading-and-installing-additional-xcode-components>

  <doc://com.apple.documentation/documentation/Xcode/localizing-and-varying-text-with-a-string-catalog>

  <doc://com.apple.documentation/documentation/Xcode/capabilities>

  <doc://com.apple.documentation/documentation/Xcode/verifying-the-origin-of-your-xcframeworks>

  <doc://com.apple.documentation/documentation/Xcode/configuring-your-project-to-use-mergeable-libraries>

  <doc://com.apple.documentation/documentation/BundleResources/describing-data-use-in-privacy-manifests>

  <doc://com.apple.documentation/documentation/Xcode/distributing-your-app-for-beta-testing-and-releases>

  <doc://com.apple.documentation/documentation/Xcode/Creating-a-workflow-that-builds-your-app-for-distribution>

  <doc://com.apple.documentation/documentation/Xcode/debugging>

### watchOS

Add new capabilities to your watchOS apps, and update your interface to correspond to the latest interface guidance for watchOS 10. Adopt WidgetKit features with Apple Watch-specific experiences, or use WorkoutKit to build apps that support better health.

[watchOS updates](/documentation/Updates/watchos)

Learn about important changes to watchOS.

  <doc://com.apple.documentation/documentation/watchOS-Apps/updating-your-app-and-widgets-for-watchos-10>

  <doc://com.apple.documentation/design/Human-Interface-Guidelines/designing-for-watchos>

  <doc://com.apple.documentation/documentation/WidgetKit/Widget-Suggestions-In-Smart-Stacks>

  <doc://com.apple.documentation/documentation/WorkoutKit>

### Messages apps and stickers

Give your Messages app and stickers more power than ever before, with stickers available from the keyboard picker in apps all across the system.

  <doc://com.apple.documentation/documentation/Messages>

  <doc://com.apple.documentation/documentation/Messages/adding-sticker-packs-and-imessage-apps-to-the-system-stickers-app-messages-camera-and-facetime>

  <doc://com.apple.documentation/documentation/Messages/MSMessagesAppPresentationContext>

### UIKit

Simplify spring animations by providing duration and bounce parameters for the new view method, `animate`. Take advantage of other new UI controls and behaviors, including improvements to the presentation of `UIStatusBar` using the new default option.

[UIKit updates](/documentation/Updates/UIKit)

Learn about important changes to UIKit.

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/CFBundleDocumentTypes>

  <doc://com.apple.documentation/documentation/UIKit/UIView/animate(springDuration:bounce:initialSpringVelocity:delay:options:animations:completion:)>

  <doc://com.apple.documentation/documentation/UIKit/UIViewController/viewIsAppearing(_:)>

  <doc://com.apple.documentation/documentation/UIKit/UIContentUnavailableConfiguration-swift.struct>

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/CFBundleDocumentTypes>

  <doc://com.apple.documentation/documentation/UIKit/UIScrollView/allowsKeyboardScrolling>

  <doc://com.apple.documentation/documentation/UIKit/UIStatusBarStyle/default>

### Audio, video, and media

Build entirely new Apple TV experiences with access to the Continuity Camera, enabling video conferencing and other types of apps on the biggest screen in your home or office. Use the Cinematic framework to add support for editing movies filmed in Cinematic mode from the Camera app.

  <doc://com.apple.documentation/documentation/AVKit/supporting-continuity-camera-in-your-tvos-app>

  <doc://com.apple.documentation/documentation/Cinematic>

  <doc://com.apple.documentation/documentation/SensitiveContentAnalysis>

  <doc://com.apple.documentation/documentation/AVKit/AVContinuityDevicePickerViewController>

### Metal

With Metal debugging and performance analysis tools, you can make your apps and games perform their best.

  <doc://com.apple.documentation/documentation/Xcode/Metal-debugger>

  <doc://com.apple.documentation/documentation/Xcode/Metal-developer-workflows>

  <doc://com.apple.documentation/documentation/MetalFX>

### Maps and location

  <doc://com.apple.documentation/documentation/MapKit/mapkit-for-swiftui>

  <doc://com.apple.documentation/documentation/CoreLocation/monitoring-location-changes-with-core-location>

  <doc://com.apple.documentation/documentation/CoreLocation>

### App Store and distribution

  <doc://com.apple.documentation/documentation/StoreKit>

  <doc://com.apple.documentation/documentation/AppStoreServerAPI>

  <doc://com.apple.documentation/documentation/AppStoreServerNotifications/app-store-server-notifications-changelog>

  <doc://com.apple.documentation/documentation/AppStoreConnectAPI/app-store-connect-api-release-notes>

### Security and privacy

Improve your app and website security, while protecting your user’s privacy, using the latest SDK features. Autofill password fields to easily employ passkeys, as well as saved passwords. And interact with the user’s calendar store using the `EKEventStore` API.

  <doc://com.apple.documentation/documentation/AuthenticationServices/ASCredentialProviderViewController>

  <doc://com.apple.documentation/documentation/Security/accessing-files-from-the-macos-app-sandbox>

  <doc://com.apple.documentation/documentation/EventKit/accessing-the-event-store>

  <doc://com.apple.documentation/documentation/CryptoKit/HPKE>

### Extensions and XPC

Use ExtensionKit for macOS, and now for your iOS and iPadOS apps, to create extensions that expose a secure method for other apps to interact and extend your app. And a new Swift-specific API for XPC can make your code even easier to manage.

[XPC updates](/documentation/Updates/XPC)

Learn about important changes to XPC.

  <doc://com.apple.documentation/documentation/XPC/XPCListener>

  <doc://com.apple.documentation/documentation/XPC/XPCSession>

  <doc://com.apple.documentation/documentation/ExtensionKit>

  <doc://com.apple.documentation/documentation/ExtensionFoundation>

### Group activities and sharing

Use a `GroupSessionJournal` object to transfer files and other data objects between participants of a shared activity.

  <doc://com.apple.documentation/documentation/GroupActivities/GroupSessionJournal>

  <doc://com.apple.documentation/documentation/groupactivities/drawing_content_in_a_group_session>

  <doc://com.apple.documentation/documentation/GroupActivities>

### Machine learning

  <doc://com.apple.documentation/documentation/CreateML/creating-an-image-classifier-model>

  <doc://com.apple.documentation/documentation/VisionKit>

### Health

Use HealthKit to securely and privately store user health data on their device, with new support for iPadOS.

[HealthKit updates](/documentation/Updates/HealthKit)

Learn about important changes to HealthKit.

### Apple Pay and Wallet

  <doc://com.apple.documentation/documentation/ProximityReader>

  <doc://com.apple.documentation/documentation/ProximityReader/checking-ids-with-the-verifier-api>

  <doc://com.apple.documentation/documentation/PassKit/PayLaterView>

### Hardware and virtual machines

  <doc://com.apple.documentation/documentation/SensorKit>

  <doc://com.apple.documentation/documentation/DockKit>

  <doc://com.apple.documentation/documentation/Virtualization>

### Screen capture

[ScreenCaptureKit updates](/documentation/Updates/ScreenCaptureKit)

Learn about important changes to ScreenCaptureKit.

### Symbols

  <doc://com.apple.documentation/documentation/Symbols>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
