Skip to content

UIKit iOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Jun 21, 2024 · 3 revisions

#UIKit.framework

Rolf

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h	2024-05-31 07:31:47
@@ -0,0 +1,45 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSAdaptiveImageGlyph.h>)
+//
+//  NSAdaptiveImageGlyph.h
+//  Text Kit
+//
+//  Copyright (c) 2024, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSAttributedString.h>
+#import <CoreText/CTRunDelegate.h>
+#import <UIKit/UIKitDefines.h>
+
+@protocol CTAdaptiveImageProviding;
+@class UTType;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+// NSAdaptiveImageGlyph is a data model object representing an image containing multiple resolutions and representations conforming to the image format described by NSAdaptiveImageGlyph.contentType. It can be applied to a range of text with NSAttributedString.Key.adaptiveImageGlyph (NSAdaptiveImageGlyphAttributeName).
+
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_SWIFT_SENDABLE
+@interface NSAdaptiveImageGlyph : NSObject <NSCopying, NSSecureCoding, CTAdaptiveImageProviding>
+
+- (instancetype)initWithImageContent:(NSData*)imageContent NS_DESIGNATED_INITIALIZER; // Initialization: imageContent must conform to the image data format identified by contentType
+- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+@property (readonly) NSData *imageContent;
+
+// Unique identifier, derived from the underlying image data which can be used as a persistent / durable way to reference the content represented by this adaptive image glyph instance.
+@property (readonly) NSString *contentIdentifier;
+
+// Brief textual alternate representation of the represented contents, useful for non-graphical depiction of the image data or searching.  Note that the value of this property is derived from the underlying image data.
+@property (readonly, copy) NSString *contentDescription;
+
+@property (class, readonly) UTType *contentType; // A UTType identifying the image data format
+@end
+
+@interface NSAttributedString (NSAttributedStringAdaptiveImageGlyphConveniences)
+// A convenience method for creating an attributed string containing an NSAdaptiveImageGlyph with attributes using NSAttachmentCharacter as the base character.
++ (instancetype)attributedStringWithAdaptiveImageGlyph:(NSAdaptiveImageGlyph *)adaptiveImageGlyph attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+@end
+NS_HEADER_AUDIT_END(nullability, sendability)
+#else
+#import <UIFoundation/NSAdaptiveImageGlyph.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h	2024-04-09 04:18:17
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h	2024-05-31 07:34:57

+// NSTextHighlightStyleAttributeName is a character-level NSAttributedStringKey for decorating a section of text highlighted for emphasis.
+UIKIT_EXTERN NSAttributedStringKey const NSTextHighlightStyleAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // NSTextHighlightStyle, default nil: no highlight
 
+// NSTextHighlightColorSchemeAttributeName is a character-level NSAttributedStringKey for specifying the color scheme used by NSTextHighlightStyleAttributeName at the same range.
+UIKIT_EXTERN NSAttributedStringKey const NSTextHighlightColorSchemeAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The default color scheme. The color is based on the tint/accent color for the rendering context. By default UIKit uses UIView.tintColor and AppKit uses NSColor.controlAccentColor.
 
+UIKIT_EXTERN NSAttributedStringKey const NSAdaptiveImageGlyphAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // NSAdaptiveImageGlyph, default nil
+
 /************************ Attribute values ************************/
 // This defines currently supported values for NSUnderlineStyleAttributeName and NSStrikethroughStyleAttributeName. These values are or'ed together to produce an underline style.
 // Underlines will be drawn with a solid pattern by default, so NSUnderlineStylePatternSolid does not need to be specified.
 typedef NS_OPTIONS(NSInteger, NSUnderlineStyle) {
     NSUnderlineStyleNone                                    = 0x00,
 
+// NSTextHighlightStyleAttributeName values
+typedef NSString * NSTextHighlightStyle NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightStyle const NSTextHighlightStyleDefault API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The system-defined default highlight type. Supported only with TextKit2
 
+// NSTextHighlightColorSchemeAttributeName values
+typedef NSString * NSTextHighlightColorScheme NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeDefault API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The system-defined default highlight type. Supported only with TextKit2
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemePurple API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemePink API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeOrange API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeMint API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeBlue API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
+
 /************************ Attribute fixing ************************/
 
 @interface NSMutableAttributedString (NSAttributedStringAttributeFixing)
 // This method fixes attribute inconsistencies inside range.  It ensures NSFontAttributeName covers the characters, NSParagraphStyleAttributeName is only changing at paragraph boundaries, and NSTextAttachmentAttributeName is assigned to NSAttachmentCharacter.  NSTextStorage automatically invokes this method via -ensureAttributesAreFixedInRange:.

 // NSRTFTextDocumentType and NSRTFDTextDocumentType document attributes
 // Document dimension
 // They are document attributes used by read/write methods.

 
 /************************ Misc methods ************************/
 @interface NSAttributedString (NSAttributedStringKitAdditions)
 // Returns YES if the receiver contains a property configured (NSAttachmentAttributeName with NSAttachmentCharacter) in range
 - (BOOL)containsAttachmentsInRange:(NSRange)range API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+
+// Returns YES when any attribute preferring RTFD found in range. This method should be preferred over containsAttachmentsInRange() for determining its preferred external document format.
+- (BOOL)prefersRTFDInRange:(NSRange)range API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
 @end

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h	2024-04-18 07:24:24
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h	2024-05-30 15:34:28
@@ -84,27 +71,30 @@
  @interface NSAttributedString (NSAttributedStringAttachmentConveniences)
 // A convenience method for creating an attributed string containing attachment using NSAttachmentCharacter as the base character.
 + (NSAttributedString *)attributedStringWithAttachment:(NSTextAttachment *)attachment API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+
+// A convenience method for creating an attributed string containing an attachment with attributes using NSAttachmentCharacter as the base character.
++ (instancetype)attributedStringWithAttachment:(NSTextAttachment *)attachment attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
 @end
 
@@ -130,7 +120,23 @@
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@interface NSTextAttachment(NSTextAttachment_Deprecation) <NSTextAttachmentContainer>
+@end
 
 NS_HEADER_AUDIT_END(nullability, sendability)
 #else
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h	2024-05-30 03:59:41
@@ -0,0 +1,92 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<ShareSheet/UIActivityCollaborationModeRestriction.h>)
+//
+//  UIActivityCollaborationModeRestriction.h
+//  UIKit
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIActivityItemsConfigurationReading.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A key for a collaboration mode restriction, used to specify the case where Share Sheet should not support some modes of sharing even if they are supported by the items being shared
+/// The object returned for this key should be an array of UIActivityCollaborationModeRestriction instances
+/// For supported behaviour, this array should have a maximum size of one less than the amount of possible Share Sheet modes
+/// Currently at most one object should be provided
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyCollaborationModeRestrictions API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos); // NSArray<UIActivityCollaborationModeRestriction *> *
+
+/// Represents the types of sharing (collaborating on an item vs. sending a copy of the item)
+/// Share Sheet supports up to two modes, each of which corresponds to one of these types
+typedef NS_ENUM(NSInteger, UIActivityCollaborationMode) {
+	UIActivityCollaborationModeSendCopy,
+	UIActivityCollaborationModeCollaborate,
+} API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Specifies whether any types of sharing should be disabled in Share Sheet, and if so, whether they should provide a reason when tapped
+/// If a reason is provided, the corresponding mode will show up as an option, but an alert explaining why it is disabled will show if it is chosen, and the mode will switch back to the supported one
+/// Optionally, an extra alert button can be provided for a "recovery suggestion". This can give a user a way to fix whatever is causing this type of sharing to be disabled
+/// If no reason is provided, the corresponding mode will not show up as an option
+API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos)
+NS_SWIFT_NAME(UIActivityViewController.CollaborationModeRestriction)
+@interface UIActivityCollaborationModeRestriction : NSObject<NSSecureCoding, NSCopying>
+
+/// The type of sharing which should be disabled
+@property (nonatomic, readonly) UIActivityCollaborationMode disabledMode;
+
+/// The title of the alert if a reason for disabling is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertTitle;
+
+/// The message of the alert if a reason for disabling is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertMessage;
+
+///The label on the alert button which will simply confirm that the alert was viewed and dismiss it
+/// Defaults to "OK"
+@property (nonatomic, readonly, copy, nullable) NSString *alertDismissButtonTitle;
+
+/// The label on the recovery suggestion button if it is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertRecoverySuggestionButtonTitle;
+
+/// On tapping the recovery suggestion button (if it is provided), the user will be launched to this URL
+@property (nonatomic, readonly, copy, nullable) NSURL *alertRecoverySuggestionButtonLaunchURL;
+
+/// - Parameters:
+///     - disabledMode: The disabled type of sharing
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode;
+
+/// - Parameters:
+///     - disabledMode: The disabled type of sharing
+///     - alertTitle: The alert title
+///     - alertMessage: The alert message
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage;
+
+/// - Parameters:
+///     - disabledMode: The disabled type of sharing
+///     - alertTitle: The alert title
+///     - alertMessage: The alert message
+///     - alertDismissButtonTitle: The label on the default alert button
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage alertDismissButtonTitle:(NSString *)alertDismissButtonTitle;
+
+/// - Parameters:
+///     - disabledMode: The disabled type of sharing
+///     - alertTitle: The alert title
+///     - alertMessage: The alert message
+///     - alertDismissButtonTitle: The label on the default alert button
+///     - alertRecoverySuggestionButtonTitle: The label on the optional recovery suggestion button on the alert
+///     - alertRecoverySuggestionButtonLaunchURL: The URL which launches when the optional recovery suggestion button is tapped
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage alertDismissButtonTitle:(NSString *)alertDismissButtonTitle alertRecoverySuggestionButtonTitle:(NSString *)alertRecoverySuggestionButtonTitle alertRecoverySuggestionButtonLaunchURL:(NSURL *)alertRecoverySuggestionButtonLaunchURL;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+- (NSString *)description;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <ShareSheet/UIActivityCollaborationModeRestriction.h>
+#endif

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h	2024-04-19 07:58:28
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h	2024-05-31 06:52:53
@@ -23,14 +24,18 @@
 
+/// @abstract Allows the activity item source to provide recipients who will be filled in by default in the compose view if that sharing app supports it.
+/// @discussion This might fail to pre-fill correctly if the sharing app chosen by the user can't recognize the provided person. Also, if a people suggestion is chosen, that suggestion will override this provided value.
+- (NSArray<INPerson *> *)activityViewControllerShareRecipients:(UIActivityViewController *)activityViewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos);
+
 @end
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h	2024-05-31 06:52:53
@@ -0,0 +1,20 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<ShareSheet/UIActivityItemsConfigurationReading+ShareSheet.h>)
+//
+//  UIActivityItemsConfigurationReading+ShareSheet.h
+//  ShareSheet
+//
+//  Created by Miranda Zhou on 3/7/24.
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIActivityItemsConfigurationReading.h>
+
+/// @abstract A key for an array of INPerson objects representing recipients who will be filled in by default in the compose view if that sharing app supports it.
+/// @discussion This might fail to pre-fill correctly if the sharing app chosen by the user can't recognize the provided person. Also, if a people suggestion is chosen, that suggestion will override this provided value.
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyShareRecipients API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+
+#else
+#import <ShareSheet/UIActivityItemsConfigurationReading+ShareSheet.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h	2024-04-19 07:58:28
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h	2024-05-31 06:52:53
@@ -15,20 +15,28 @@
 
 @protocol UIActivityItemsConfigurationReading;
 
+typedef NS_OPTIONS(NSUInteger, UIActivitySectionTypes) {
+	UIActivitySectionTypesNone = 0,
+	UIActivitySectionTypesPeopleSuggestions = (1 << 0),
+} API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
 
 typedef void (^UIActivityViewControllerCompletionHandler)(UIActivityType __nullable activityType, BOOL completed) API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
 typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(UIActivityType __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
 
+
+/// Hides some sections of the activity view controller. Default is none
+@property (nonatomic) UIActivitySectionTypes excludedActivitySectionTypes API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
 
 /// In some contexts, the activity view controller can elevate a specific activity in the header view to enhance it.
 /// The prominent activity can only be chosen by the system.

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h	2024-04-09 04:18:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h	2024-05-31 07:34:50
@@ -17,25 +17,27 @@
 @interface UIBackgroundConfiguration : NSObject <NSCopying, NSSecureCoding>
 
 /// Returns a clear configuration, with no default styling.
 + (instancetype)clearConfiguration;
 
-/// Returns the default configuration for a plain list cell.
-+ (instancetype)listPlainCellConfiguration;
-/// Returns the default configuration for a plain list header or footer.
-+ (instancetype)listPlainHeaderFooterConfiguration;
-/// Returns the default configuration for a grouped list cell.
-+ (instancetype)listGroupedCellConfiguration;
-/// Returns the default configuration for a grouped list header or footer.
-+ (instancetype)listGroupedHeaderFooterConfiguration;
+/// Represents a generic cell background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a cell in a plain-style list.
++ (instancetype)listCellConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
 
-/// Returns the default configuration for a sidebar list header.
-+ (instancetype)listSidebarHeaderConfiguration API_UNAVAILABLE(tvos, watchos);
-/// Returns the default configuration for a sidebar list cell.
-+ (instancetype)listSidebarCellConfiguration API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+/// Represents a generic header background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a header in a plain-style list.
++ (instancetype)listHeaderConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Represents a generic footer background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a footer in a plain-style list.
++ (instancetype)listFooterConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
 /// Returns the default configuration for an accompanied sidebar list cell.
 + (instancetype)listAccompaniedSidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
 
@@ -92,6 +94,27 @@
 /// Outset (or inset, if negative) for the stroke, relative to the background (including any backgroundInsets). Default is 0.
 /// The corner radius of the stroke is adjusted for any outset to remain concentric with the background.
 @property (nonatomic) CGFloat strokeOutset;
+
+
+// Deprecated
+
+/// Returns the default configuration for a plain list cell.
++ (instancetype)listPlainCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a grouped list cell.
++ (instancetype)listGroupedCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a sidebar list cell.
++ (instancetype)listSidebarCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Returns the default configuration for a plain list header or footer.
++ (instancetype)listPlainHeaderFooterConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a grouped list header or footer.
++ (instancetype)listGroupedHeaderFooterConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a sidebar list header.
++ (instancetype)listSidebarHeaderConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(tvos, watchos);
 
 @end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h	2024-05-31 08:16:59
@@ -0,0 +1,63 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UICalendarSelectionWeekOfYear.h>)
+//
+//  UICalendarSelectionWeekOfYear.h
+//  UIKit
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UICalendarSelection.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@protocol UICalendarSelectionWeekOfYearDelegate;
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UICalendarSelectionWeekOfYear : UICalendarSelection
+
+/// The currently selected week of year in the Calendar view. The components must include `[.yearForWeekOfYear, .weekOfYear]`.
+@property (nonatomic, nullable, copy) NSDateComponents *selectedWeekOfYear;
+
+/// Sets the dates to display in the calendar, with an option to animate the setting.
+- (void)setSelectedWeekOfYear:(nullable NSDateComponents *)selectedWeekOfYear animated:(BOOL)animated;
+
+/// The object that acts as the delegate of the calendar view selection
+@property (nonatomic, weak, nullable, readonly) id<UICalendarSelectionWeekOfYearDelegate> delegate;
+
+/// Creates a new multi-date selection with the specified delegate.
+- (instancetype)initWithDelegate:(nullable id<UICalendarSelectionWeekOfYearDelegate>)delegate;
+
+@end
+
+API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos)
+@protocol UICalendarSelectionWeekOfYearDelegate <NSObject>
+
+/**
+ *  @abstract Called after the user selects a week of year in the calendar view.
+ *
+ *  @param selection The @c UICalendarSelectionWeekOfYear
+ *  @param dateComponents The date that was selected by the user.
+ */
+- (void)weekOfYearSelection:(UICalendarSelectionWeekOfYear *)selection didSelectWeekOfYear:(nullable NSDateComponents *)weekOfYearComponents;
+
+@optional
+
+/**
+ *  @abstract Determines if a week of year is selectable. Dates that are not selectable will be disabled in the calendar view.
+ *
+ *  @param selection The @c UICalendarSelectionWeekOfYear
+ *  @param dateComponents The date to be checked by selection.
+ *
+ *  @return YES if the date can be selected, NO otherwise.
+ */
+- (BOOL)weekOfYearSelection:(UICalendarSelectionWeekOfYear *)selection canSelectWeekOfYear:(nullable NSDateComponents *)weekOfYearComponents;
+
+@end
+
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+
+#else
+#import <UIKitCore/UICalendarSelectionWeekOfYear.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h	2024-04-09 04:16:17
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h	2024-05-31 08:14:18
@@ -51,11 +51,16 @@
 
+/// A setting for which items in the layout should tightly hug their content
+typedef NS_OPTIONS(NSUInteger, UICollectionLayoutListContentHuggingElements) {
+    UICollectionLayoutListContentHuggingElementsNone = 0,
+    UICollectionLayoutListContentHuggingElementsSupplementaryHeader = 1 << 0
+} API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
 
@@ -105,15 +110,21 @@
 
+/// Determines the type of items that will tightly hug their content.
+///
+/// The default value for this property is `UICollectionLayoutListContentHuggingElementsSupplementaryHeader` on visionOS for plain style table views and an empty set on all other platforms.
+/// When the value of this property is `UICollectionLayoutListContentHuggingElementsSupplementaryHeader`, the header view will not stretch the width of the collection view if its content's intrinsic content size is less than the collection view's width.
+@property (nonatomic) UICollectionLayoutListContentHuggingElements contentHuggingElements API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
 @end
 
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h	2024-04-18 07:17:41
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h	2024-06-01 04:15:25
@@ -439,6 +439,11 @@
 - (nullable NSIndexPath *)indexPathForItemAtPoint:(CGPoint)point;
 - (nullable NSIndexPath *)indexPathForCell:(UICollectionViewCell *)cell;
 
+/// Gets the index path of the specified supplementary view.
+/// @param supplementaryView The supplementary or decoration view whose index path you want.
+/// @return The index path of the specified view if it is in the collection view, else `nil`.
+- (nullable NSIndexPath *)indexPathForSupplementaryView:(UICollectionReusableView *)supplementaryView;
+
 // Returns any existing visible or prepared cell for the index path. Returns nil when no cell exists, or if index path is out of range.
 - (nullable __kindof UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h	2024-04-18 07:56:07
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h	2024-05-31 08:14:16
@@ -20,29 +20,37 @@
 @class UIImage;
 @class UITraitCollection;
 
+// A type indicating the prominence of a color.
+typedef NS_ENUM(NSInteger, UIColorProminence) {
+    UIColorProminencePrimary,
+    UIColorProminenceSecondary,
+    UIColorProminenceTertiary,
+    UIColorProminenceQuaternary,
+} NS_SWIFT_NAME(UIColor.Prominence) API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
 UIKIT_EXTERN API_AVAILABLE(ios(2.0), watchos(2.0)) NS_SWIFT_SENDABLE
 @interface UIColor : NSObject <NSSecureCoding, NSCopying>
@@ -124,6 +132,15 @@
 - (UIColor *)resolvedColorWithTraitCollection:(UITraitCollection *)traitCollection API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
 
 @end
+
+@interface UIColor (ProminenceSupport)
+
+// Returns a color as the receiver with the specified prominence.
+- (UIColor *)colorWithProminence:(UIColorProminence)prominence API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+@property(nonatomic, readonly) UIColorProminence prominence API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+@end
+
 
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h	2024-04-09 04:16:13
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h	2024-06-01 04:15:23
@@ -32,11 +32,16 @@
 
+// The intent for creating a default document.
+UIKIT_EXTERN UIDocumentCreationIntent const UIDocumentCreationIntentDefault API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(tvos, watchos);
+
 UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 @interface UIDocument : NSObject <NSFilePresenter, NSProgressReporting>
 
 #pragma mark *** Initialization ***
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentBrowserViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentBrowserViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentBrowserViewController.h	2024-03-22 20:18:39
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentBrowserViewController.h	2024-05-30 10:55:27
@@ -55,6 +56,9 @@
 
 /// Defaults to YES
 @property (assign, nonatomic) BOOL allowsDocumentCreation;
+
+/// The active document creation intent.
+@property (nonatomic, readonly, nullable) UIDocumentCreationIntent activeDocumentCreationIntent API_AVAILABLE(ios(18.0));
 
 /// Defaults to NO
 @property (assign, nonatomic) BOOL allowsPickingMultipleItems;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h	2024-04-26 07:48:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h	2024-05-31 08:16:58
@@ -17,10 +19,13 @@
 
 @property (nonatomic, strong, nullable) UIDocument *document;
 
+/// Properties to configure the view controller when no document is open.
+@property (nonatomic, strong) UIDocumentViewControllerLaunchOptions *launchOptions API_AVAILABLE(ios(18.0));
+
 /// When this view controller updates its navigation item, this method will be called, allowing subclasses to apply any kind of customization you might want.
 - (void)navigationItemDidUpdate;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewControllerLaunchOptions.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewControllerLaunchOptions.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewControllerLaunchOptions.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewControllerLaunchOptions.h	2024-05-31 08:17:00
@@ -0,0 +1,55 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIDocumentViewControllerLaunchOptions.h>)
+//
+//  UIDocumentViewControllerLaunchOptions.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIAction.h>
+#import <UIKit/UIBackgroundConfiguration.h>
+#import <UIKit/UIDocument.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIDocumentBrowserViewController;
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(UIDocumentViewController.LaunchOptions) NS_SWIFT_UI_ACTOR
+@interface UIDocumentViewControllerLaunchOptions : NSObject
+
+/// The view controller for browsing documents to open.
+@property (nonatomic, strong) UIDocumentBrowserViewController *browserViewController;
+
+/// The title of the view. Default is the application's name.
+@property (nonatomic, copy) NSString *title;
+
+/// The primary action.
+@property (nonatomic, copy, nullable) UIAction *primaryAction;
+
+/// The secondary action.
+@property (nonatomic, copy, nullable) UIAction *secondaryAction;
+
+/// The view which displays an open document. Default is the view controller's view.
+@property (nonatomic, strong, nullable) UIView *documentTargetView;
+
+/// The foreground accessory view.
+@property (nonatomic, strong, nullable) UIView *foregroundAccessoryView;
+
+/// The background accessory view.
+@property (nonatomic, strong, nullable) UIView *backgroundAccessoryView;
+
+/// The background configuration.
+@property (nonatomic, strong) UIBackgroundConfiguration *background NS_REFINED_FOR_SWIFT;
+
+/// Returns an action which requests the creation of a new document with the specified intent.
+/// Can be used for either the primary or secondary action.
++ (UIAction *)createDocumentActionWithIntent:(UIDocumentCreationIntent)intent;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIDocumentViewControllerLaunchOptions.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h	2024-04-26 07:48:02
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h	2024-05-31 08:16:59
@@ -24,10 +24,10 @@
 @property (nonatomic) UIFontDescriptorSymbolicTraits filteredTraits;
 
 // Filter fonts based on languages supported using a predicate. The predicate is evaluated against an array of string language identifiers (conforming to UTS #35) supported by the font.
-@property (nullable, copy, nonatomic) NSPredicate *filteredLanguagesPredicate;
+@property (nullable, copy, nonatomic) NSPredicate *filteredLanguagesPredicate API_DEPRECATED("Use languageFilter", ios(13.0, 18.0));
 
 // Generate a filter predicate to filter to fonts that support one of the specified language identifiers (conforming to UTS #35).
-+ (nullable NSPredicate *)filterPredicateForFilteredLanguages:(NSArray<NSString *> *)filteredLanguages;
++ (nullable NSPredicate *)filterPredicateForFilteredLanguages:(NSArray<NSString *> *)filteredLanguages API_DEPRECATED("Use languageFilter", ios(13.0, 18.0));
 
 @end
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h	2024-04-19 07:00:20
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h	2024-06-01 04:15:21
@@ -14,41 +14,48 @@
 + (instancetype)valueCellConfiguration;
 
-/// Returns the default configuration for a plain list header.
-+ (instancetype)plainHeaderConfiguration;
-/// Returns the default configuration for a plain list footer.
-+ (instancetype)plainFooterConfiguration;
-/// Returns the default configuration for a grouped list header.
-+ (instancetype)groupedHeaderConfiguration;
-/// Returns the default configuration for a grouped list footer.
-+ (instancetype)groupedFooterConfiguration;
+/// Represents a generic header configuration that automatically adopts the style of a containing list when updating for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the header configuration for a plain-style list.
++ (instancetype)headerConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Represents a generic footer configuration that automatically adopts the style of a containing list when updating for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the footer configuration for a plain-style list.
++ (instancetype)footerConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+
 /// Returns the default configuration for a prominent inset grouped list header.
 + (instancetype)prominentInsetGroupedHeaderConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
 /// Returns the default configuration for an extra prominent inset grouped list header.
 + (instancetype)extraProminentInsetGroupedHeaderConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
 
-/// Returns the default configuration for a sidebar list cell.
-+ (instancetype)sidebarCellConfiguration API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
-/// Returns the default configuration for a sidebar list cell with subtitle text.
-+ (instancetype)sidebarSubtitleCellConfiguration API_UNAVAILABLE(tvos, watchos);
 /// Returns the default configuration for an accompanied sidebar list cell.
 + (instancetype)accompaniedSidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
 /// Returns the default configuration for an accompanied sidebar list cell with subtitle text.
 + (instancetype)accompaniedSidebarSubtitleCellConfiguration API_UNAVAILABLE(tvos, watchos);
 
-/// Returns the default configuration for a sidebar list header.
-+ (instancetype)sidebarHeaderConfiguration API_UNAVAILABLE(tvos, watchos);
-
 + (instancetype)new NS_UNAVAILABLE;
 - (instancetype)init NS_UNAVAILABLE;
 
@@ -86,10 +93,27 @@
 /// Vertical padding between the text and secondary text. Only applies when there is both text and secondary text, and they are in a stacked layout.
 @property (nonatomic) CGFloat textToSecondaryTextVerticalPadding;
 
-@end
 
+// Deprecated declarations
 
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+/// Returns the default configuration for a sidebar list cell.
++ (instancetype)sidebarCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("cellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
+/// Returns the default configuration for a sidebar list cell with subtitle text.
++ (instancetype)sidebarSubtitleCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("subtitleCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(tvos, watchos);
+/// Returns the default configuration for a plain list header.
++ (instancetype)plainHeaderConfiguration API_DEPRECATED_WITH_REPLACEMENT("headerConfiguration", ios(14.0, 18.0), tvos(14.0, 18.0)) API_UNAVAILABLE(watchos);
+/// Returns the default configuration for a plain list footer.
++ (instancetype)plainFooterConfiguration API_DEPRECATED_WITH_REPLACEMENT("footerConfiguration", ios(14.0, 18.0), tvos(14.0, 18.0)) API_UNAVAILABLE(watchos);
+/// Returns the default configuration for a grouped list header.
++ (instancetype)groupedHeaderConfiguration API_DEPRECATED_WITH_REPLACEMENT("headerConfiguration", ios(14.0, 18.0), tvos(14.0, 18.0)) API_UNAVAILABLE(watchos);
+/// Returns the default configuration for a grouped list footer.
++ (instancetype)groupedFooterConfiguration API_DEPRECATED_WITH_REPLACEMENT("footerConfiguration", ios(14.0, 18.0), tvos(14.0, 18.0)) API_UNAVAILABLE(watchos);
+/// Returns the default configuration for a sidebar list header.
++ (instancetype)sidebarHeaderConfiguration API_DEPRECATED_WITH_REPLACEMENT("headerConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(tvos, watchos);
+
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @interface UIListContentView : UIView <UIContentView>
 
 - (instancetype)initWithConfiguration:(UIListContentConfiguration *)configuration NS_DESIGNATED_INITIALIZER;

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteControl.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteControl.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteControl.h	2024-04-26 07:48:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteControl.h	2024-05-31 08:17:02
@@ -19,7 +20,8 @@
 typedef NS_ENUM(NSUInteger, UIPasteControlDisplayMode) {
     UIPasteControlDisplayModeIconAndLabel,
     UIPasteControlDisplayModeIconOnly,
-    UIPasteControlDisplayModeLabelOnly
+    UIPasteControlDisplayModeLabelOnly,
+    UIPasteControlDisplayModeArrowAndLabel
 } API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(UIPasteControl.DisplayMode);
 
 UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(UIPasteControl.Configuration) NS_SWIFT_UI_ACTOR
@@ -27,6 +29,7 @@
 @property (nonatomic, assign) UIPasteControlDisplayMode displayMode;
 @property (nonatomic, assign) UIButtonConfigurationCornerStyle cornerStyle NS_REFINED_FOR_SWIFT;
 @property (nonatomic, assign) CGFloat cornerRadius;
+@property (nonatomic, assign) NSDirectionalRectEdge imagePlacement;
 @property (nonatomic, nullable, strong) UIColor *baseForegroundColor;
 @property (nonatomic, nullable, strong) UIColor *baseBackgroundColor;
 @end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h	2024-05-31 08:17:00
@@ -0,0 +1,26 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISearchTab.h>)
+//
+//  UISearchTab.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UITab.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
+@interface UISearchTab : UITab
+
+/// Creates a search tab with a system localized title and image.
+- (instancetype)initWithViewControllerProvider:(UIViewController *(^_Nullable)(__kindof UITab *))viewControllerProvider NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISearchTab.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h	2024-05-30 15:54:06
@@ -0,0 +1,130 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITab.h>)
+//
+//  UITab.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIViewController.h>
+#import <UIKit/UIPopoverPresentationControllerSourceItem.h>
+#import <UIKit/UISpringLoadedInteractionSupporting.h>
+#import <UIKit/UIAccessibilityIdentification.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSInteger, UITabPlacement) {
+    /// Resolves to `.default` for root-level tabs, and `.optional` for all others.
+    UITabPlacementAutomatic     = 0,
+
+    /// The tab can be added or removed from the tab bar, and appears by default.
+    UITabPlacementDefault       = 1,
+    /// The tab can be added or removed from the tab bar, but does NOT appear by default.
+    UITabPlacementOptional      = 2,
+    /// The tab cannot be removed from the tab bar, but can be moved within.
+    UITabPlacementMovable       = 3,
+    /// The tab is always available and visible in the tab bar.
+    /// Pinned items are placed at the trailing side of the bar.
+    UITabPlacementPinned        = 4,
+    /// The tab cannot be moved or removed from the tab bar, and is displayed before
+    /// all customizable tabs.
+    UITabPlacementFixed         = 5,
+    /// The tab cannot be added to the tab bar.
+    UITabPlacementSidebarOnly   = 6,
+} NS_SWIFT_NAME(UITab.Placement) API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+@class UITab, UITabGroup;
+@class UIViewController, UITabBarController;
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
+@interface UITab : NSObject
+
+/// The identifier associated with the tab, must be unique across the tab bar controller.
+@property (nonatomic, strong, readonly) NSString *identifier;
+
+/// The title of the tab.
+@property (nonatomic, copy) NSString *title;
+
+/// The image of the tab. Default is nil.
+@property (nonatomic, strong, nullable) UIImage *image;
+
+/// The subtitle of the tab. This is displayed only in certain contexts, like the sidebar. Default is nil.
+@property (nonatomic, copy, nullable) NSString *subtitle;
+
+/// The badge value of the tab. Default is nil.
+@property (nonatomic, copy, nullable) NSString *badgeValue;
+
+/// The preferred placement for the tab in the contexts that allow for different tab placements.
+/// Default is `UITabPlacementAutomatic` which resolves its placement based on context.
+@property (nonatomic, assign) UITabPlacement preferredPlacement;
+
+/// A custom object associated with the tab. Default is nil.
+@property (nonatomic, strong, nullable) id userInfo;
+
+/// The parent group of the tab. This is only non-nil if the tab is part of a parent group, and returns nil otherwise.
+@property (nonatomic, strong, nullable, readonly) UITabGroup *parent;
+
+/// The tab bar controller managing the tab. This is non-nil when the tab
+/// or any of its ancestors is added to a UITabBarController; and is nil
+/// otherwise.
+@property (nonatomic, strong, nullable, readonly) UITabBarController *tabBarController;
+
+/// The view controller owned by the tab. The view controller provider is resolved the first time this is called.
+/// For root tabs, the view controller must be non-nil.
+@property (nonatomic, strong, nullable, readonly) UIViewController *viewController;
+
+#pragma mark Customization
+
+/// Determines if the tab is currently hidden. Default is NO.
+/// Hidden tabs cannot be accessed from the sidebar.
+@property (nonatomic, assign, getter=isHidden) BOOL hidden;
+
+/// The default hidden state. When the user resets their customization, `UITab.hidden` will be set to the value
+/// of this property. Default is NO.
+@property (nonatomic, assign, getter=isHiddenByDefault) BOOL hiddenByDefault;
+
+/// Determines if the tab's visibility can be changed by the user while editing. Default is NO.
+@property (nonatomic, assign) BOOL allowsHiding;
+
+/// Creates a tab with the specified identifier, title, image, and view controller provider.
+/// The view controller provider will be called once and only once, when the view controller
+/// is initially required. For root level tabs on `UITabBarController`, the resolved view
+/// controller must be non-nil.
+- (instancetype)initWithTitle:(NSString *)title
+                        image:(nullable UIImage *)image
+                   identifier:(NSString *)identifier
+       viewControllerProvider:(UIViewController * (^_Nullable)(__kindof UITab *))viewControllerProvider;
+
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos)
+@interface UITab (UIPopoverPresentationControllerSourceItem) <UIPopoverPresentationControllerSourceItem>
+@end
+
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UITab (UISpringLoadedInteractionSupporting) <UISpringLoadedInteractionSupporting>
+@end
+
+API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
+@interface UITab (UIAccessibility) <UIAccessibilityIdentification>
+@end
+
+API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
+@interface UIViewController (UITab)
+
+/// The `UITab` instance that was used to create the receiver, and represents the view controller. Default is nil.
+@property (nonatomic, weak, nullable, readonly) UITab *tab;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITab.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h	2024-04-18 07:56:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h	2024-05-31 08:14:18
@@ -11,10 +11,25 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
+typedef NS_ENUM(NSInteger, UITabBarControllerMode) {
+    /// The default tab bar controller mode.
+    /// Resolves to `tabSidebar` if any of the tab elements of the tab bar controller is a group, and
+    /// if the platform supports displaying a sidebar mode. Otherwise, resolves to `tabBar`.
+    UITabBarControllerModeAutomatic = 0,
+
+    /// Displays tabs in a tab bar.
+    UITabBarControllerModeTabBar = 1,
+
+    /// Displays tabs in a tab bar and sidebar.
+    UITabBarControllerModeTabSidebar API_UNAVAILABLE(tvos) = 2,
+
+} NS_SWIFT_NAME(UITabBarController.Mode) API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+@class UIView, UIImage, UINavigationController, UITabBarItem, UITabBarControllerSidebar, UITab, UITabGroup;
 @protocol UITabBarControllerDelegate;
 
 /*!
@@ -29,9 +44,48 @@
  UITabBarController is rotatable if all of its view controllers are rotatable.
  */
 
 UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @interface UITabBarController : UIViewController <UITabBarDelegate, NSCoding>
 
+/// The object managing the delegate of the tab bar controller. Default is nil.
+@property(nonatomic, weak, nullable) id<UITabBarControllerDelegate> delegate;
+
+/// The object managing the tab sidebar for the tab bar controller. Default is `UITabBarControllerModeAutomatic`
+@property (nonatomic, assign) UITabBarControllerMode mode API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// The object managing the tab sidebar for the tab bar controller.
+@property (nonatomic, strong, readonly) UITabBarControllerSidebar *sidebar API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
+
+/// The customization identifier for the tab bar and sidebar for persistence. The identifier is useful for when an app has multiple tab bar controllers,
+/// each with their own customizations. If the identifier is nil, a system default is used. Default is nil.
+@property (nonatomic, copy, nullable) NSString *customizationIdentifier API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// An optional filter to display only select root-level tabs when in a compact appearance. Default is nil, which would make all tabs available.
+@property (nonatomic, copy, nullable) NSArray<NSString *> *compactTabIdentifiers API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// The currently selected tab, which can be a root tab or any of thier descendants. Default is nil.
+@property (nonatomic, strong, nullable) UITab *selectedTab API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// An array of root tabs representing view controllers to display by the tab bar interface. Default is empty.
+/// Once set, `UITabBarController.viewControllers` and related properties and methods will not be called.
+@property (nonatomic, copy) NSArray<__kindof UITab *> *tabs API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Sets the root tabs of the tab bar controller, with an option to animate the change.
+- (void)setTabs:(NSArray<UITab *> *)tabs animated:(BOOL)animated API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the `tab` matching the specified `identifier` in the tab bar controller's tabs. Returns nil if no tab is found matching the `identifier`.
+- (nullable UITab *)tabForIdentifier:(NSString *)identifier API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Creates a tab bar controller with the specified tabs.
+- (instancetype)initWithTabs:(NSArray<UITab *> *)tabs API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Determines if the active tab bar is currently hidden. Default is NO.
+@property (nonatomic, assign, getter=isTabBarHidden) BOOL tabBarHidden API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Changes the active tab bar's visibility with an option to animate the change.
+- (void)setTabBarHidden:(BOOL)hidden animated:(BOOL)animated API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+
 @property(nullable, nonatomic,copy) NSArray<__kindof UIViewController *> *viewControllers;
 // If the number of view controllers is greater than the number displayable by a tab bar, a "More" navigation controller will automatically be shown.
 // The "More" navigation controller will not be returned by -viewControllers, but it may be returned by -selectedViewController.
@@ -45,13 +99,42 @@
 
 @property(nonatomic,readonly) UITabBar *tabBar API_AVAILABLE(ios(3.0)); // Provided for -[UIActionSheet showFromTabBar:]. Attempting to modify the contents of the tab bar directly will throw an exception.
 
-@property(nullable, nonatomic,weak) id<UITabBarControllerDelegate> delegate;
-
 @end
 
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @protocol UITabBarControllerDelegate <NSObject>
+
 @optional
+
+/// Return YES if the specified `tab` can be selected by the user. Otherwise, return NO.
+- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectTab:(UITab *)tab NS_SWIFT_NAME(tabBarController(_:shouldSelectTab:)) API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Called when the selected tab has changed in the tab bar controller. The specified selected `tab` is either a root tab or its decendants.
+- (void)tabBarController:(UITabBarController *)tabBarController didSelectTab:(UITab *)tab previousTab:(nullable UITab *)tab NS_SWIFT_NAME(tabBarController(_:didSelectTab:previousTab:)) API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Determines if items from the specified drop session can be dropped into the specified `tab`. If the operation is either a `.move` or `.copy`,
+/// then the drop will proceed and `tabBarController:tab:acceptItemsFromDropSession:` is called. By default, the drop will be
+/// treated as a cancel operation if this is not implemented.
+- (UIDropOperation)tabBarController:(UITabBarController *)tabBarController tab:(UITab *)tab operationForAcceptingItemsFromDropSession:(id<UIDropSession>)session API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Receive the drop from into the tab using the specified session. This is only called if the drop operation returned
+/// from `tabBarController:tab:operationForAcceptingItemsFromDropSession` is valid for a drop.
+- (void)tabBarController:(UITabBarController *)tabBarController tab:(UITab *)tab acceptItemsFromDropSession:(id<UIDropSession>)session API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Notifies the delegate when the tab bar controller is about to begin editing.
+- (void)tabBarControllerWillBeginEditing:(UITabBarController *)tabBarController API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Notifies the delegate when the tab bar controller's current editing state has ended.
+- (void)tabBarControllerDidEndEditing:(UITabBarController *)tabBarController API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Notifies the delegate when editing has ended and the specified tabs have had their `isHidden` values changed by the user.
+- (void)tabBarController:(UITabBarController *)tabBarController visibilityDidChangeForTabs:(NSArray<UITab *> *)tabs API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Notifies the deleagte that the display order for the specified tab has been changed by the user.
+- (void)tabBarController:(UITabBarController *)tabBarController displayOrderDidChangeForGroup:(UITabGroup *)group API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+
+
 - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController API_AVAILABLE(ios(3.0));
 - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h	2024-05-31 07:26:20
@@ -0,0 +1,163 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITabBarControllerSidebar.h>)
+//
+//  UITabBarControllerSidebar.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@protocol UITabBarControllerSidebarDelegate, UIContentConfiguration;
+@class UITabSidebarScrollTarget, UITab, UITabBarController, UIView;
+@class UISwipeActionsConfiguration, UIContextMenuConfiguration;
+
+#pragma mark - UITabBarControllerSidebarLayout
+
+typedef NS_ENUM(NSInteger, UITabBarControllerSidebarLayout) {
+    /// On iOS, this resolves to `overlap`.
+    /// On macOS and visionOS, this resolves to `tile`.
+    UITabBarControllerSidebarLayoutAutomatic = 0,
+
+    /// When the sidebar is displayed, it will overlap the selected view controller,
+    /// allowing the selected view controller to render underneath the sidebar. Anchor
+    /// the view's content to the `layoutMarginsGuide` or `safeAreaLayoutGuide` to avoid
+    /// being occluded by the sidebar.
+    UITabBarControllerSidebarLayoutOverlap API_UNAVAILABLE(visionos) = 1,
+
+    /// When the sidebar is displayed, the selected view controller is resized and shifted
+    /// to display alongside the sidebar. The selected view controller is not occluded by
+    /// the sidebar, cannot render underneath the sidebar.
+    UITabBarControllerSidebarLayoutTile = 2,
+} NS_SWIFT_NAME(UITabBarControllerSidebar.Layout) API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
+
+#pragma mark - UITabSidebarScrollTarget
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+@interface UITabSidebarScrollTarget : NSObject
+
+/// Scrolls to the `headerContentConfiguration` if it is set.
++ (instancetype)targetForHeader;
+
+/// Scrolls to the `footerContentConfiguration` if it is set.
++ (instancetype)targetForFooter;
+
+/// Scrolls to the item representing the tab if it exists.
++ (instancetype)targetForTab:(UITab *)tab;
+
+@end
+
+#pragma mark - UITabBarControllerSidebar
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+NS_SWIFT_NAME(UITabBarController.Sidebar)
+@interface UITabBarControllerSidebar : NSObject
+
+/// The object managing the delegate of the sidebar.
+@property (nonatomic, weak, nullable) id<UITabBarControllerSidebarDelegate> delegate;
+
+/// Determines if the sidebar is currently hidden.
+@property (nonatomic, assign, getter=isHidden) BOOL hidden;
+
+#pragma mark Layout
+
+/// The preferred layout for how the sidebar lays out with the tab bar controller's
+/// content. Default is `.automatic`
+@property (nonatomic, assign) UITabBarControllerSidebarLayout preferredLayout;
+
+#pragma mark Content
+
+/// Content configuration for an optional header to display in the sidebar.
+/// The header is displayed above all tab content in the sidebar.
+@property (nonatomic, copy, nullable) id<UIContentConfiguration> headerContentConfiguration NS_REFINED_FOR_SWIFT;
+
+/// Content configuration for an optional header to display in the sidebar.
+/// The footer is displayed below all tab content in the sidebar.
+@property (nonatomic, copy, nullable) id<UIContentConfiguration> footerContentConfiguration NS_REFINED_FOR_SWIFT;
+
+/// A view to display at the bottom of the sidebar, like a UIToolbar. The width of this view
+/// will be managed by the sidebar itself, and its height will be set to the value it returns
+/// from `systemLayoutSizeFittingSize:withHorizontalFittingPriority:verticalFittingPriority:`
+/// Default is nil.
+@property (nonatomic, strong, nullable) UIView *bottomBarView;
+
+/// Scrolls to the specified target in the sidebar with an option to animate the change.
+- (void)scrollToTarget:(UITabSidebarScrollTarget *)target animated:(BOOL)animated NS_REFINED_FOR_SWIFT;
+
+/// Requests the sidebar reconfigure the item representing the specified tab. This method has no effect if the `tab` is not
+/// currently displayed in the sidebar.
+- (void)reconfigureItemForTab:(UITab *)tab;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - UITabBarControllerSidebarDelegate
+
+@class UITabSidebarItem, UITabSidebarItemRequest;
+
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+NS_SWIFT_NAME(UITabBarControllerSidebar.Delegate)
+@protocol UITabBarControllerSidebarDelegate <NSObject>
+
+@optional
+
+/// Notifies the delegate when the visibility of the sidebar has been changed by the user.
+- (void)tabBarController:(UITabBarController *)tabBarController sidebarVisibilityDidChange:(UITabBarControllerSidebar *)sidebar;
+
+#pragma mark Configuration
+
+/// Return a `UITabSidebarItem` for the specified item request. When created, the item will be preconfigured
+/// to the appropriate defaults for its given content. If this method is not implemented, a default sidebar
+/// item will be provided for the request.
+- (UITabSidebarItem *)tabBarController:(UITabBarController *)tabBarController
+                               sidebar:(UITabBarControllerSidebar *)sidebar
+                        itemForRequest:(UITabSidebarItemRequest *)request;
+
+/// Called whenever the sidebar item's `configurationState` changes or the item is reconfigured.
+/// The passed in item will accure all modifications until the delegate requests for a new sidebar
+/// item from the delegate method `tabBarController:sidebar:itemForRequest:`
+- (void)tabBarController:(UITabBarController *)tabBarController
+                 sidebar:(UITabBarControllerSidebar *)sidebar
+              updateItem:(UITabSidebarItem *)item;
+
+#pragma mark Item Display Callbacks
+
+/// Notifies the delegate when the sidebar is about to display the row representing the specified `tab`
+- (void)tabBarController:(UITabBarController *)tabBarController sidebar:(UITabBarControllerSidebar *)sidebar willBeginDisplayingTab:(__kindof UITab *)tab;
+
+/// Notifies the delegate when the sidebar has finished displaying the row representing the specified `tab`
+- (void)tabBarController:(UITabBarController *)tabBarController sidebar:(UITabBarControllerSidebar *)sidebar didEndDisplayingTab:(__kindof UITab *)tab;
+
+#pragma mark Interactions
+
+/// Called when the sidebar is about to show leading swipe actions for the specified `tab`.
+/// Return either a concrete `UISwipeActionsConfiguration` or nil if the tab does not show swipe actions.
+- (nullable UISwipeActionsConfiguration *)tabBarController:(UITabBarController *)tabBarController
+                                                   sidebar:(UITabBarControllerSidebar *)sidebar
+                    leadingSwipeActionsConfigurationForTab:(__kindof UITab *)tab API_UNAVAILABLE(tvos);
+
+/// Called when the sidebar is about to show trailing swipe actions for a particular tab.
+/// Return either a UISwipeActionsConfiguration object or nil if this tab does not show swipe actions.
+- (nullable UISwipeActionsConfiguration *)tabBarController:(UITabBarController *)tabBarController
+                                                   sidebar:(UITabBarControllerSidebar *)sidebar
+                   trailingSwipeActionsConfigurationForTab:(__kindof UITab *)tab API_UNAVAILABLE(tvos);
+
+/// Called when the sidebar is about to display a context menu for the specified `tab`.
+/// Return either a concrete `UIContextMenuConfiguration` or nil if the tab does not show context menus.
+- (nullable UIContextMenuConfiguration *)tabBarController:(UITabBarController *)tabBarController
+                                                  sidebar:(UITabBarControllerSidebar *)sidebar
+                           contextMenuConfigurationForTab:(__kindof UITab *)tab;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITabBarControllerSidebar.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h	2024-05-31 08:16:58
@@ -0,0 +1,85 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITabGroup.h>)
+//
+//  UITabGroup.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UITab.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSUInteger, UITabGroupSidebarAppearance) {
+    /// The default appearance showing the group and its children appropriately depending
+    /// on the group level it is in.
+    UITabGroupSidebarAppearanceAutomatic   = 0,
+    /// Displays only the children alongside the group's siblings.
+    UITabGroupSidebarAppearanceInline      = 1,
+    /// Displays the group and its children as a top-level group of the sidebar.
+    UITabGroupSidebarAppearanceRootSection = 2,
+} NS_SWIFT_NAME(UITabGroup.SidebarAppearance) API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
+@class UINavigationController, UIAction;
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
+@interface UITabGroup: UITab
+
+/// The currently selected tab. The tab must be part of `children`.
+@property (nonatomic, strong, nullable) UITab *selectedChild;
+
+/// The default child tab to select for when a selection is required and `selectedChild` is nil.
+/// If this is nil, then the default selected element is the first element of `children`. Default is nil.
+@property (nonatomic, copy, nullable) NSString *defaultChildIdentifier;
+
+/// Child tabs of the tab group. Default is an empty array.
+@property (nonatomic, copy) NSArray<UITab *> *children;
+
+/// The display order of the children, represented by the identifiers. Default is empty.
+/// Any tab in `children` not contained in `displayOrderIdentifiers` will be appended after
+/// sorted items. Identifiers that do not match tabs in `children` will be ignored.
+@property (nonatomic, copy) NSArray<NSString *> *displayOrderIdentifiers;
+
+/// Determines if elements in `children` can be reordered from the sidebar. Default is NO.
+/// Changes in the display order are notified via `tabBarController:didCustomizeDisplayOrderForGroup:`
+/// in `UITabBarControllerDelegate`.
+@property (nonatomic, assign) BOOL allowsReordering;
+
+/// Returns the `children` array sorted by `displayOrderIdentifiers` if it is specified.
+/// Any tab in `children` not contained in the identifiers will be appended after
+/// sorted items. Identifiers that do not match tabs in `children` will be ignored.
+@property (nonatomic, strong, readonly) NSArray<UITab *> *displayOrder;
+
+/// A navigation controller used to automatically manage the view controller hierarchy
+/// of the group. The default value is a plain `UINavigationController`; either set this
+/// to your own UINavigationController subclass or `nil` to opt out of the behavior.
+@property (nonatomic, strong, nullable) UINavigationController *managingNavigationController;
+
+/// Returns the `tab` matching the specified `identifier` in the group's children and its descendants.
+/// Returns nil if no tab is found matching the `identifier`.
+- (nullable UITab *)tabForIdentifier:(NSString *)identifier;
+
+#pragma mark Sidebar
+
+/// Actions to display in the sidebar, after all tabs. Default is nil.
+@property (nonatomic, copy) NSArray<UIAction *> *sidebarActions API_UNAVAILABLE(tvos, watchos);
+
+/// The preferred appearance of the group and its children in the sidebar. Default is `automatic`
+@property (nonatomic, assign) UITabGroupSidebarAppearance sidebarAppearance API_UNAVAILABLE(tvos, watchos);
+
+/// Creates a `UITabGroup` using the specified parameters.
+- (instancetype)initWithTitle:(NSString *)title
+                        image:(nullable UIImage *)image
+                   identifier:(NSString *)identifier
+                     children:(NSArray<UITab *> *)children
+       viewControllerProvider:(UIViewController *(^_Nullable)(__kindof UITab *))viewControllerProvider;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+
+#else
+#import <UIKitCore/UITabGroup.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h	2024-05-31 08:16:59
@@ -0,0 +1,79 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITabSidebarItem.h>)
+//
+//  UITabSidebarItem.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+#import <Foundation/Foundation.h>
+#import <UIKit/UITab.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIAction;
+@class UITabSidebarItemRequest, UICellConfigurationState, UIBackgroundConfiguration, UICellAccessory, UIListContentConfiguration;
+@protocol UIContentConfiguration;
+
+#pragma mark - UITabSidebarItem
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+@interface UITabSidebarItem : NSObject <NSCopying>
+
+/// The tab that the receiver represents. Only one of `tab` or `action` will be valid for an item.
+@property (nonatomic, strong, nullable, readonly) UITab *tab NS_REFINED_FOR_SWIFT;
+
+/// The action that the receiver represents. Only one of `tab` or `action` will be valid for an item.
+@property (nonatomic, strong, nullable, readonly) UIAction *action NS_REFINED_FOR_SWIFT;
+
+/// The current configuration state of the sidebar item.
+@property (nonatomic, strong, readonly) UICellConfigurationState *configurationState NS_REFINED_FOR_SWIFT;
+
+/// The content coinfiguration to use when displaying this item.
+@property (nonatomic, copy) id<UIContentConfiguration> contentConfiguration NS_REFINED_FOR_SWIFT;
+
+/// The background configuration to use when displaying this item.
+@property (nonatomic, copy) UIBackgroundConfiguration *backgroundConfiguration NS_REFINED_FOR_SWIFT;
+
+/// Cell accessories to use when displaying this item. Some accessories may not be shown if it conflicts with system default accessories.
+@property (nonatomic, copy) NSArray<UICellAccessory *> *accessories NS_REFINED_FOR_SWIFT;
+
+/// Returns the default content configuration for this item and the configuration state.
+- (UIListContentConfiguration *)defaultContentConfiguration NS_REFINED_FOR_SWIFT;
+
+/// Returns the default background configuration for this item and the configuration state.
+- (UIBackgroundConfiguration *)defaultBackgroundConfiguration NS_REFINED_FOR_SWIFT;
+
+/// Creates a sidebar item from the specified request. The sidebar item will be preconfigured with the appropriate defaults for its content.
++ (instancetype)itemFromRequest:(UITabSidebarItemRequest *)request NS_SWIFT_NAME(init(request:));
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - UITabSidebarItemRequest
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos)
+NS_SWIFT_NAME(UITabSidebarItem.Request)
+@interface UITabSidebarItemRequest : NSObject
+
+/// The tab that the receiver represents. Only one of `tab` or `action` will be valid for an item.
+@property (nonatomic, readonly, nullable) UITab *tab NS_REFINED_FOR_SWIFT;
+
+/// The action that the receiver represents. Only one of `tab` or `action` will be valid for an item.
+@property (nonatomic, readonly, nullable) UIAction *action NS_REFINED_FOR_SWIFT;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITabSidebarItem.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h	2024-04-18 07:17:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h	2024-05-31 08:14:14
@@ -43,15 +43,23 @@
     UITableViewRowAnimationNone,            // available in iOS 3.0
     UITableViewRowAnimationMiddle,          // available in iOS 3.2.  attempts to keep cell centered in the space it will/did occupy
     UITableViewRowAnimationAutomatic = 100  // available in iOS 5.0.  chooses an appropriate animation style for you
 } API_UNAVAILABLE(watchos);
 
+/// A setting for which items in the table view should tightly hug their content
+typedef NS_OPTIONS(NSInteger, UITableViewContentHuggingElements) {
+    /// A content hugging mode where none of the items in the table view tightly hug their content
+    UITableViewContentHuggingElementsNone = 0,
+    /// A content hugging mode where section headers in the table view tightly hug their content
+    UITableViewContentHuggingElementsSectionHeaders = 1 << 0
+} API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
 // Including this constant string in the array of strings returned by sectionIndexTitlesForTableView: will cause a magnifying glass icon to be displayed at that location in the index.
@@ -511,6 +519,12 @@
 // YES if table view is currently tracking a drop session.
 @property (nonatomic, readonly) BOOL hasActiveDrop API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
 
+/// Determines the type of items that will tightly hug their content.
+///
+/// The default value for this property is `UITableViewContentHuggingElementsSectionHeaders` on visionOS for plain style table views and `UITableViewContentHuggingElementsNone` on all other platforms.
+/// When the value of this property is `UITableViewContentHuggingElementsSectionHeaders`, any header view will not stretch the width of the table view if their content's intrinsic content size is less than the table view's width.
+@property (nonatomic) UITableViewContentHuggingElements contentHuggingElements API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
 @end
 
 #if TARGET_OS_IOS
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h	2024-04-26 07:47:39
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h	2024-06-01 04:15:19
@@ -81,19 +83,21 @@
 @property (nonatomic, readwrite, copy) NSArray<UIBarButtonItemGroup *> *trailingBarButtonGroups API_UNAVAILABLE(visionos);
+/// A button that appears next to the text preview in the keyboard on visionOS.
+@property (nullable, nonatomic, strong) UIBarButtonItem *keyboardActionButtonItem NS_SWIFT_NAME(keyboardAction) API_AVAILABLE(visionos(2.0)) API_UNAVAILABLE(ios, watchos, tvos);
 
 @end
@@ -242,31 +246,37 @@
+@property (nonatomic) BOOL supportsAdaptiveImageGlyph API_AVAILABLE(ios(18.0),tvos(18.0),watchos(11.0),visionos(2.0));
+
+- (void)insertAdaptiveImageGlyph:(NSAdaptiveImageGlyph *)adaptiveImageGlyph replacementRange:(UITextRange *)replacementRange API_AVAILABLE(ios(18.0),tvos(18.0),watchos(11.0),visionos(2.0));
+
+@property (nonatomic, readonly, getter=isEditable) BOOL editable API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
+
 @end
 
 //---------------------------------------------------------------------------------------------------
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2024-04-09 04:18:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2024-05-31 08:14:12
@@ -89,9 +89,20 @@
 //
+// UITextMathExpressionCompletionType
+//
+// Controls whether Math expressions will be evaluated and candidates offered.
+//
+typedef NS_ENUM(NSInteger, UITextMathExpressionCompletionType) {
+    UITextMathExpressionCompletionTypeDefault,
+    UITextMathExpressionCompletionTypeNo,
+    UITextMathExpressionCompletionTypeYes,
+} API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos);
+
+//
 // UIKeyboardType
 //
 // Requests that a particular keyboard type be displayed when a text widget
@@ -156,11 +167,49 @@
-typedef NSString * UITextContentType NS_TYPED_ENUM;
+//
+// UIWritingToolsBehavior
+//
+// Controls the configuration of the available Writing Tools UI
+//
+typedef NS_ENUM(NSInteger, UIWritingToolsBehavior) {
+    /// Writing Tools will ignore this view
+    UIWritingToolsBehaviorNone = -1,
+    
+    /// System-defined behavior, may resolve to `None`, `Complete`, or `Limited`
+    UIWritingToolsBehaviorDefault = 0,
+    
+    /// The complete inline-editing experience will be provided if possible.
+    UIWritingToolsBehaviorComplete,
+    
+    /// The limited, overlay-panel experience will be provided if possible.
+    UIWritingToolsBehaviorLimited, 
+} API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 
-UIKIT_EXTERN API_AVAILABLE(ios(12.0)) NS_SWIFT_UI_ACTOR
+//
+// UIWritingToolsAllowedInputOptions
+//
+// Controls the configuration of the available Writing Tools UI
+//
+typedef NS_OPTIONS(NSUInteger, UIWritingToolsAllowedInputOptions) {
+    /// System-defined behavior
+    UIWritingToolsAllowedInputOptionsDefault = 0,
+    
+    /// Writing Tools will provide plain text in proofreading suggestions or rewrites
+    UIWritingToolsAllowedInputOptionsPlainText = 1 << 0,
+    
+    /// As well as plain text, Writing Tools will provide text attributes in proofreading suggestions or rewrites that are natively supported or known to be easily adopted (such as lists)
+    UIWritingToolsAllowedInputOptionsRichText = 1 << 1,
+    
+    /// implies `RichText`,  and Writing Tools may provide attributes for tabular layout
+    UIWritingToolsAllowedInputOptionsTable = 1 << 2, 
+} API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
+
+typedef NSString * UITextContentType NS_TYPED_ENUM API_UNAVAILABLE(watchos);
+
+UIKIT_EXTERN API_AVAILABLE(ios(12.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @interface UITextInputPasswordRules : NSObject <NSSecureCoding, NSCopying>
 
 @property (nonatomic,readonly) NSString *passwordRulesDescriptor;
@@ -199,72 +250,75 @@
 
+@property UIWritingToolsBehavior writingToolsBehavior API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
+@property UIWritingToolsAllowedInputOptions writingToolsAllowedInputOptions API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
+
 @end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2024-04-26 07:47:47
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2024-05-30 15:54:14
@@ -109,15 +109,39 @@
 - (void)textView:(UITextView *)textView textItemMenuWillEndForTextItem:(UITextItem *)textItem animator:(id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
 
+/**
+ * @abstract Informs the delegate that Writing Tools will begin manipulating the text view
+ *
+ * @param textView  The text view interacting with Writing Tools
+ */
+- (void)textViewWritingToolsWillBegin:(UITextView *)textView API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 
-- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), visionos(1.0, 1.0));
-- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), visionos(1.0, 1.0));
+/**
+ * @abstract Informs the delegate that Writing Tools has finished manipulating the text view
+ *
+ * @param textView  The text view interacting with Writing Tools
+ */
+- (void)textViewWritingToolsDidEnd:(UITextView *)textView API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 
-- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithURL:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(visionos);
-- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithTextAttachment:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(visionos);
+/**
+ * @abstract Allows the delegate to specify ranges of text to be ignored by Writing Tools
+ *
+ * @param textView  The text view interacting with Writing Tools
+ * @param enclosingRange
+ *
+ * @return Return an array of ranges in the attributed substring of the textView storage with the enclosing range representing portions of text to be ignored by Writing Tools when evaluating the text for proofreading, summarization, rewrites, and so forth.
+ */
+- (NSArray<NSValue *> *)textView:(UITextView *)textView writingToolsIgnoredRangesInEnclosingRange:(NSRange)enclosingRange API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 
+
+- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
+- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
+
+- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithURL:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
+- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithTextAttachment:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
+
 @end
 
 /// The type of border around the text view.
@@ -198,8 +222,21 @@
 @property (nonatomic) UITextViewBorderStyle borderStyle API_AVAILABLE(ios(17.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
+// Text Highlight
+// Attributes for NSTextHighlightStyleAttributeName rendering. It is consulted when the corresponding NSTextHighlightColorSchemeAttributeName is NSTextHighlightColorSchemeDefault. NSForegroundColorAttributeName overrides the text color, and NSBackgroundColorAttributeName specifies the highlight color rendered with drawTextHighlightBackground(for textRange:, origin:). When NSForegroundColorAttributeName is missing, it uses the text color specified by the document content. When NSBackgroundColorAttributeName is not specified, it is derived from NSForegroundColorAttributeName. By default, it returns a dictionary with tintColor for NSForegroundColorAttributeName.
+@property (nonatomic, copy, null_resettable) NSDictionary<NSAttributedStringKey, id> *textHighlightAttributes API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+// Renders the text highlight background for NSTextHighlightStyleAttributeName in textRange. origin specifies the coordinate origin in the NSTextContainer coordinate system of the rendering context.
+- (void)drawTextHighlightBackgroundForTextRange:(NSTextRange *)textRange origin:(CGPoint)origin API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/**
+ * @abstract Convenience for tracking whether Writing Tools is active
+ *
+ * @return Returns @c YES while Writing Tools is interacting with the receiver (after @c -textViewWritingToolsWillBegin: completes until @c -textViewWritingToolsDidEnd: completes)
+ */
+@property(nonatomic,readonly,getter=isWritingToolsActive) BOOL writingToolsActive API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 @end
 
 #if TARGET_OS_IOS
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h	2024-04-09 04:16:13
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h	2024-05-31 08:14:14
@@ -65,39 +66,45 @@
 @property (nonatomic, readonly) UISceneCaptureState sceneCaptureState API_AVAILABLE(ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
+/// Construct a new trait collection with the given `listEnvironment`.
++ (UITraitCollection *)traitCollectionWithListEnvironment:(UIListEnvironment)listEnvironment API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// The list environment represents whether a given trait collection is from a view in a UITableView or a UICollectionView list section.
+@property (nonatomic, readonly) UIListEnvironment listEnvironment API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
 @end
 
 
@@ -126,55 +133,55 @@
 @property (nonatomic) UIImageDynamicRange imageDynamicRange;
 @property (nonatomic) UISceneCaptureState sceneCaptureState API_AVAILABLE(ios(17.0), tvos(17.0), visionos(1.0));
 @property (nonatomic, copy) NSString *typesettingLanguage;
-
+@property (nonatomic) UIListEnvironment listEnvironment API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
 @end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitListEnvironment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitListEnvironment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitListEnvironment.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitListEnvironment.h	2024-05-31 08:16:59
@@ -0,0 +1,42 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITraitListEnvironment.h>)
+//
+//  UITraitListEnvironment.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UITrait.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability);
+
+/// Specifies a list appearance that encompasses both UICollectionView & UITableView lists.
+typedef NS_ENUM(NSInteger, UIListEnvironment) {
+    /// Indicates the absence of any information about whether or not the trait collection is from a view in a list environment.
+    UIListEnvironmentUnspecified,
+    /// There is no containing list.
+    UIListEnvironmentNone,
+    /// Contained within a plain-style list.
+    UIListEnvironmentPlain,
+    /// Contained within a grouped-style list.
+    UIListEnvironmentGrouped,
+    /// Contained within a inset-grouped-style list.
+    UIListEnvironmentInsetGrouped API_UNAVAILABLE(tvos),
+    /// Contained within a sidebar-style list.
+    UIListEnvironmentSidebar API_UNAVAILABLE(tvos),
+    /// Contained within a sidebar-plain-style list.
+    UIListEnvironmentSidebarPlain API_UNAVAILABLE(tvos),
+} API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// A trait that specifies the UIListEnvironment, if any, that a view is in. It is set on views inside UITableViews and list sections in UICollectionViews.
+/// Defaults to UIListEnvironmentUnspecified.
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT
+@interface UITraitListEnvironment : NSObject <UINSIntegerTraitDefinition>
+@end
+
+
+NS_HEADER_AUDIT_END(nullability, sendability);
+
+#else
+#import <UIKitCore/UITraitListEnvironment.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h	2024-05-30 15:54:11
@@ -0,0 +1,102 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIUpdateActionPhase.h>)
+//
+//  UIUpdateActionPhase.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Each UI update consists of several phases which run in order, one after another. There are two phase groups - normal
+/// and low-latency. Normal phase group consists of phases from `EventDispatch` to `CATransactionCommit`. Low-latency
+/// phase group consists of phases from `LowLatencyEventDispatch` to `LowLatencyCATransactionCommit`. When phase group
+/// runs, all phases inside the group run. Phases run one after another in the specified order without exiting back into
+/// the run loop. Spinning a nested run loop inside any of the phases is not supported. For each UI update, normal phase
+/// group always runs. Low-latency phase group is optional and is off by default. It will run only when application
+/// explicitly requests low-latency event delivery. Be aware that handling low-level events is extremely demanding and
+/// only well profiled and optimized applications can benefit from it. Applications that were not designed to handle
+/// low-latency events will most likely drop frames. Also not all event types are eligible for low-latency event
+/// delivery. Currently only pencil events are low-latency eligible. This practically means that only pencil drawing
+/// and writing applications should request it.
+/// It's acceptable to block main thread in any of the phases to wait for things that are absolutely required to
+/// proceed. When done properly, this will donate main thread priority to the thread being waited for, making it more
+/// likely to get those things in time and meet the completion deadline. Of course, extreme caution should be exercised
+/// when doing so - maximum wait time should have a hard limit on it that still allows to complete the remaining part
+/// of the UI update before completion deadline. Use of `-[CAMetalLayer nextDrawable]` is of a particular note - it's
+/// not advised to use it on the main thread of the UI application as it might block main thread for one or more frames.
+/// Instead, consider calling `-[CAMetalLayer nextDrawable]` on the background thread and block main thread manually
+/// in one of the phases. Use small timeout that allows for UI update to proceed without a new drawable and still finish
+/// before the completion deadline.
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(macCatalyst)
+@interface UIUpdateActionPhase: NSObject
+
++(instancetype)new NS_UNAVAILABLE;
+-(instancetype)init NS_UNAVAILABLE;
+
+/// Phase that runs after UI update was scheduled and its timing information is know. This is a good place for things
+/// that only rely on UI update timing and don't need user input events. Running at this stage allows to utilize time
+/// that otherwise would be wasted waiting for user input events to arrive. Purely time driven client side animations or
+/// non-interactive simulations should go here.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterUpdateScheduled;
+
+/// Before `UIEvent` and `UIGestureRecognizer` handlers run. Use this phase to prepare resources and data structures
+/// required to process user input events.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *beforeEventDispatch;
+
+/// After `UIEvent` and `UIGestureRecognizer` handlers run. Past this point, there will be no new user input events sent
+/// to the application. If low-latency event delivery was requested, more events might be dispatched in
+/// `LowLatencyEventDispatch` phase. Use this phase to react on application state after processing all user input events
+/// for the UI update, like starting a parallel rendering thread. Also, if your application uses extrapolation to smooth
+/// out low-rate event stream, use this phase to detect that certain events were not received to extrapolate them.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterEventDispatch;
+
+/// Before `CADisplayLink` callbacks run.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *beforeCADisplayLinkDispatch;
+
+/// After `CADisplayLink` callbacks run.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterCADisplayLinkDispatch;
+
+/// Before `CATransaction` is flushed.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *beforeCATransactionCommit;
+
+/// After `CATransaction` is flushed. Any changes to CoreAnimation layer tree made here (or later) will not appear on
+/// screen with the current UI update (they will go on screen with the next UI update). There are few exceptions to
+/// this rule however:
+/// - It's still possible to `+[CATransaction commit]` or `+[CATransaction flush]` manually which will send latest
+///   CoreAnimation layer changes to render server immediately. Doing so is not recommended as in addition to intended
+///   changes other potentially unrelated changes might be sent to the render server prematurely.
+/// - If low-latency event dispatch will be performed, then all CoreAnimation layer tree changes that done before
+///   or during `LowLatencyCATransactionCommit` phase will appear on screen with this UI update.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterCATransactionCommit;
+
+/// Before `UIEvent` and `UIGestureRecognizer` handlers run for low-latency eligible events. This stage is
+/// off by default (skipped) and must be requested explicitly.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *beforeLowLatencyEventDispatch;
+
+/// After `UIEvent` and `UIGestureRecognizer` handlers run for low-latency eligible events. This stage is
+/// off by default (skipped) and must be requested explicitly.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterLowLatencyEventDispatch;
+
+/// Before `CATransaction` is flushed. Only runs when low-latency event dispatch was requested.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *beforeLowLatencyCATransactionCommit;
+
+/// After `CATransaction` is flushed. Only runs when low-latency event dispatch was requested. Any changes to
+/// CoreAnimation layer tree made here (or later) will not appear on screen with the current UI update.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterLowLatencyCATransactionCommit;
+
+/// The very end of the UI update. If there's still time until `completionDeadlineTime`, it's generally safe to do any
+/// idle opportunistic work here, like the one that was deferred from more time critical parts of the UI update. It's
+/// also a good place to record last presented state, for things like on-screen velocity computations.
+@property(class, nonatomic, readonly) UIUpdateActionPhase *afterUpdateComplete;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIUpdateActionPhase.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h	2024-05-30 15:54:05
@@ -0,0 +1,82 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIUpdateInfo.h>)
+//
+//  UIUpdateInfo.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+@class UIWindowScene;
+@class UIView;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Contains detailed information about the current state of the UI update. This information may change as UI update
+/// progresses through its phases. Note, that single UI update might service views on different displays simultaneously,
+/// in which case such views may have different `UIUpdateInfo` (e.g. `estimatedPresentationTime` may differ).
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(macCatalyst)
+@interface UIUpdateInfo: NSObject
+
++(instancetype)new NS_UNAVAILABLE;
+-(instancetype)init NS_UNAVAILABLE;
+
++(nullable instancetype)currentUpdateInfoForWindowScene:(UIWindowScene *)windowScene NS_SWIFT_NAME(current(for:));
++(nullable instancetype)currentUpdateInfoForView:(UIView *)view NS_SWIFT_NAME(current(for:));
+
+/// Reference time that is suitable for driving time based model changes, like animations or physics. Use it as "now"
+/// time for the UI update. It's designed to maintain constant latency between model changes and their on screen
+/// presentation. Uses same units as `CACurrentMediaTime()`. Numerically, this time is close to the start of the UI
+/// update, but its exact relation to UI update start time may change depending on frame rate and other UI update
+/// parameters.
+@property(nonatomic, readonly) NSTimeInterval modelTime;
+
+/// Time by which application has to be done submitting changes to the render server. Missing this completion deadline
+/// will result in a presentation delay. Single miss will look like a frame drop, missing repeatedly will look like
+/// judder.
+@property(nonatomic, readonly) NSTimeInterval completionDeadlineTime;
+
+/// Estimated time when UI update changes will become visible on screen. Actual time when pixels change color may
+/// differ.
+@property(nonatomic, readonly) NSTimeInterval estimatedPresentationTime;
+
+/// `YES` for UI updates that are expected to present immediately upon completion. Use it to minimize amount of work
+/// performed during the UI update. Any processing that is not critical for the frame being presented should be deferred
+/// to after UI update is complete. Note, that immediate presentation still might not happen if strict conditions
+/// imposed by the system, like committing `CATransaction` before the `completionDeadlineTime`, are not satisfied.
+/// Similarly, immediate presentation can be denied at various points of the pipeline, if system detects that current
+/// CPU or GPU load, power state or frame complexity make reliable immediate presentation impossible or unlikely.
+/// Immediate presentation is an extremely challenging mode for the entire system and causes excessive power drain and
+/// has high chances of missing intended presentation time, which results in visual judder. Application that use it
+/// has high chances of missing intended presentation time, which results in visual judder. Applications that use it
+/// should be explicitly designed and tuned to operate in this mode - amount of work in each phase should be precisely
+/// controlled. It is primarily reserved for pencil drawing and writing applications where extra low latency makes a
+/// noticeable improvement to user experience. Returned value can change during the UI update.
+@property(nonatomic, readonly, getter=isImmediatePresentationExpected) BOOL immediatePresentationExpected;
+
+/// `YES` when it's guaranteed that low-latency event dispatch will happen during the UI update. When `YES` is returned,
+/// you can rely on low-latency UI update phases to run for this UI update. Use it to avoid doing the same work more
+/// than once. For example, when rendering a pencil drawing stroke in after event dispatch and
+/// `lowLatencyEventDispatchConfirmed` is `YES`, while `performingLowLatencyPhases` is `NO`, then it would be better
+/// to wait for after low-latency event dispatch to render the stroke. Can change from `NO` to `YES` during the UI
+/// update, but will never change from `YES` to `NO`. When `YES` is returned, low-latency phases always will be
+/// performed. Note, that checking value of this property might cause system to commit to low-latency event dispatch
+/// unnecessarily as a side effect - call it only when there's an intention to act on returned value.
+@property(nonatomic, readonly, getter=isLowLatencyEventDispatchConfirmed) BOOL lowLatencyEventDispatchConfirmed;
+
+/// `YES` when executing low-latency part of the UI update (specifically between `LowLatencyEventDispatch` and
+/// `LowLatencyCATransactionCommit` UI update phases). Work in this part of the UI update should be as minimal as
+/// possible, especially when immediate presentation is to be attempted. Anything that is not critical to the current
+/// UI update must be deferred after `LowLatencyCATransactionCommit`. Try to avoid using `dispatch_after()` types of
+/// deferral as arbitrary delayed work will potentially interfere with following UI updates.
+@property(nonatomic, readonly, getter=isPerformingLowLatencyPhases) BOOL performingLowLatencyPhases;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIUpdateInfo.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h	2024-05-31 08:16:54
@@ -0,0 +1,95 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIUpdateLink.h>)
+//
+//  UIUpdateLink.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <QuartzCore/QuartzCore.h>
+#import <UIKit/UIKitDefines.h>
+
+@class UIUpdateInfo;
+@class UIUpdateActionPhase;
+@class UIWindowScene;
+@class UIView;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Allows to formally participate in UI updates and influence UI update behavior.
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(macCatalyst)
+@interface UIUpdateLink: NSObject
+
++(instancetype)new NS_UNAVAILABLE;
+-(instancetype)init NS_UNAVAILABLE;
+
++(UIUpdateLink *)updateLinkForWindowScene:(UIWindowScene *)windowScene NS_SWIFT_NAME(init(windowScene:));
++(UIUpdateLink *)updateLinkForView:(UIView *)view NS_SWIFT_NAME(init(view:));
+
+-(void)addActionToPhase:(UIUpdateActionPhase *)phase
+                handler:(void(^)(UIUpdateLink *updateLink, UIUpdateInfo *updateInfo))handler NS_SWIFT_NAME(addAction(to:handler:));
+-(void)addActionToPhase:(UIUpdateActionPhase *)phase
+                 target:(id)target selector:(SEL)selector NS_SWIFT_NAME(addAction(to:target:selector:));
+
+/// It's required to enable the Update Link for it to have effect and for its actions to be invoked.
+@property(nonatomic, getter=isEnabled) BOOL enabled;
+
+/// By default, `UIUpdateLink` is a passive UI update observer. Its actions will only be called when UI update is being
+/// produced. When this property is set to `YES`, `UIUpdateLink` will request continuous UI updates by itself.
+@property(nonatomic) BOOL requiresContinuousUpdates;
+
+/// Request dispatch of low-latency eligible events in `LowLatencyEventDispatch` phase. Low latency eligible events are
+/// dispatch in the middle of the UI update, meaning that to handle them application has half the time, compared to
+/// events dispatched normally. Consult `-[UIUpdateInfo completionDeadlineTime]` for exact completion deadline time.
+@property(nonatomic) BOOL wantsLowLatencyEventDispatch;
+
+/// Request immediate frame presentation. When enabled, system will request immediate rendering of the display frame
+/// after last `CATransaction` commit for the current UI update. This allows to reduce input to display latency, as
+/// rendered display frame will be presented one frame duration sooner. However, for this to happen amount of work
+/// submitted to render server should be minimal, otherwise it will not be able to submit frame for presentation in
+/// time. This capability is primarily useful for pencil drawing applications where low input to display latency is
+/// critical for good user experience. Applications that request immediate presentation must be profiled thoroughly to
+/// ensure that amount of application and render server work is adequate. When application requests immediate
+/// presentation, but fails to keep work complexity at minimum, user will experience on screen judder, as frames will
+/// not be presented at their intended time.
+@property(nonatomic) BOOL wantsImmediatePresentation;
+
+/// Preferred frame rate range. Even when not forcing periodic updates, this will still express intention to the system.
+/// Use `CAFrameRateRangeDefault` (default value) to not request any specific frame rate range.
+@property(nonatomic) CAFrameRateRange preferredFrameRateRange;
+
+/// During UI update, returns `UIUpdateInfo` instance describing current UI update state. Returns `nil` outside of UI
+/// update.
+-(nullable UIUpdateInfo *)currentUpdateInfo;
+
+@end
+
+@interface UIUpdateLink(Convenience)
+
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
+-(void)addActionWithHandler:(void(^)(UIUpdateLink *updateLink, UIUpdateInfo *updateInfo))handler NS_SWIFT_NAME(addAction(handler:));
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
+-(void)addActionWithTarget:(id)target selector:(SEL)selector NS_SWIFT_NAME(addAction(target:selector:));
+
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
++(UIUpdateLink *)updateLinkForWindowScene:(UIWindowScene *)windowScene
+                            actionHandler:(void(^)(UIUpdateLink *updateLink, UIUpdateInfo *updateInfo))handler NS_SWIFT_NAME(init(windowScene:actionHandler:));
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
++(UIUpdateLink *)updateLinkForWindowScene:(UIWindowScene *)windowScene
+                             actionTarget:(id)target selector:(SEL)selector NS_SWIFT_NAME(init(windowScene:actionTarget:selector:));
+
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
++(UIUpdateLink *)updateLinkForView:(UIView *)view
+                     actionHandler:(void(^)(UIUpdateLink *updateLink, UIUpdateInfo *updateInfo))handler NS_SWIFT_NAME(init(view:actionHandler:));
+/// Adds action to `UIUpdateActionPhase.beforeCADisplayLinkDispatch` phase.
++(UIUpdateLink *)updateLinkForView:(UIView *)view
+                      actionTarget:(id)target selector:(SEL)selector NS_SWIFT_NAME(init(view:actionTarget:selector:));
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIUpdateLink.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2024-04-26 07:47:48
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2024-05-31 08:14:20
@@ -265,9 +266,17 @@
 */
 @property(nonatomic,assign) UIModalTransitionStyle modalTransitionStyle API_AVAILABLE(ios(3.0));
 
+/// Preferred system provided transition to use when displaying this
+/// view controller. Note that this only indicates a preference.
+/// The provided transition may be ignored if not supported by the
+/// current context. For example, `UINavigationController` supports
+/// the .zoom transition, but not the .coverVertical transition.
+@property (nonatomic, strong) UIViewControllerTransition *preferredTransition API_AVAILABLE(ios(18.0));
+
 /*
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h	2024-05-31 08:16:58
@@ -0,0 +1,80 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIViewControllerTransition.h>)
+//
+//  UIViewControllerTransition.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIZoomTransitionOptions.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIView, UIViewController, UIZoomTransitionSourceViewProviderContext;
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0))
+NS_SWIFT_NAME(UIViewController.Transition)
+@interface UIViewControllerTransition : NSObject
+
+/// Zoom from the view provided by the `sourceViewProvider` to the presented or pushed view controller's view.
+/// The transition's `sourceViewProvider` is called whenever the transition needs to request a source view.
+/// Note that it may be called multiple times during the transition's lifecycle in order
+/// to ensure that the transition incorporates the most up-to-date visuals.
+///
+/// **Example**
+///
+/// Consider an interface where a user may tap a cell representing a city to present a detail view.
+/// In the detail view, they may swipe left or right to go to the next city in the list. When the detail view
+/// is dismissed, it should un-zoom to the currently selected city rather than the one that was first selected.
+/// ```
+/// cityViewController.preferredTransition = .zoom { context in
+///     let displayed = context.displayedViewController as! CityViewController
+///     let source = context.sourceViewController as! CityListViewController
+///     return source.cell(for: displayed.cityId)
+/// }
+/// present(cityViewController, animated: true)
+/// ```
++ (instancetype)zoomWithOptions:(nullable UIZoomTransitionOptions *)options sourceViewProvider:(UIView * _Nullable (^)(UIZoomTransitionSourceViewProviderContext *))sourceViewProvider NS_REFINED_FOR_SWIFT;
+
+/// View slides up from the bottom of the screen. Same as `UIModalTransitionStyle.coverVertical`.
++ (instancetype)coverVerticalTransition NS_REFINED_FOR_SWIFT;
+
+/// View flips horizontally in 3D. Same as `UIModalTransitionStyle.flipHorizontal`.
++ (instancetype)flipHorizontalTransition NS_REFINED_FOR_SWIFT;
+
+/// Fades out the current view while fading in the new view. Same as `UIModalTransitionStyle.crossDissolve`.
++ (instancetype)crossDissolveTransition NS_REFINED_FOR_SWIFT;
+
+/// One corner of the current view curls up to reveal the presented view underneath. Same as `UIModalTransitionStyle.partialCurl`.
++ (instancetype)partialCurlTransition NS_REFINED_FOR_SWIFT;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0))
+NS_SWIFT_NAME(UIViewControllerTransition.ZoomSourceViewProviderContext)
+@interface UIZoomTransitionSourceViewProviderContext : NSObject
+
+/// View controller that is the source of the zoom transition.
+@property (nonatomic, strong, readonly) UIViewController *sourceViewController;
+
+/// The view controller being zoomed into by the transition.
+@property (nonatomic, strong, readonly) UIViewController *zoomedViewController;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIViewControllerTransition.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScenePushPlacement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScenePushPlacement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScenePushPlacement.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScenePushPlacement.h	2024-05-31 08:16:59
@@ -0,0 +1,38 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIWindowScenePushPlacement.h>)
+//
+//  UIWindowScenePushPlacement.h
+//  UIKit
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIWindowScenePlacement.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UISceneSession;
+
+/// Background the scene of the provided scene session and present the
+/// activated scene in its place.
+///
+/// The provided scene session will be backgrounded. The activated scene will
+/// be center aligned with the backgrounded scene. Closing the activated window
+/// will result in the backgrounded scene reappearing.
+///
+/// Targeting a scene session that is currently pushed will result in an error
+/// being delivered to the `errorHandler` of
+/// ``-[UIApplication activateSceneSessionForRequest: errorHandler:]``.
+UIKIT_EXTERN API_AVAILABLE(visionos(2.0)) API_UNAVAILABLE(ios, watchos, tvos, macCatalyst)
+@interface UIWindowScenePushPlacement : UIWindowScenePlacement
+
+/// Creates the placement that will target the given `sceneSession`.
+/// - Parameter targetSceneSession: The scene session of the window scene that will be backgrounded.
++ (instancetype)placementTargetingSceneSession:(UISceneSession *)targetSceneSession;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIWindowScenePushPlacement.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneReplacePlacement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneReplacePlacement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneReplacePlacement.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneReplacePlacement.h	2024-05-31 08:16:59
@@ -0,0 +1,32 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIWindowSceneReplacePlacement.h>)
+//
+//  UIWindowSceneReplacePlacement.h
+//  UIKit
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIWindowScenePlacement.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UISceneSession;
+
+/// Background the scene of the provided scene session and replace it with the
+/// activated scene. Closing the activated scene will result in the replaced
+/// scene reappearing. The activated scene will be center aligned with the
+/// replaced scene. There is no impact on the sizing of either scene.
+UIKIT_EXTERN API_DEPRECATED("UIWindowSceneReplacePlacement has been replaced with UIWindowScenePushPlacement", visionos(2.0, 2.0)) API_UNAVAILABLE(ios, watchos, tvos, macCatalyst) NS_REFINED_FOR_SWIFT
+@interface UIWindowSceneReplacePlacement : UIWindowScenePlacement
+
+/// Creates the placement that targets the given `sceneSession`
+/// - Parameter sceneSession: The scene session of the window scene to replace.
++ (instancetype)placementToReplaceSceneSession:(UISceneSession *)sceneSession;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIWindowSceneReplacePlacement.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIZoomTransitionOptions.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIZoomTransitionOptions.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIZoomTransitionOptions.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIZoomTransitionOptions.h	2024-05-31 08:16:55
@@ -0,0 +1,72 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIZoomTransitionOptions.h>)
+//
+//  UIZoomTransitionOptions.h
+//  UIKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIView.h>
+#import <UIKit/UIColor.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIBlurEffect, UIZoomTransitionInteractionContext, UIZoomTransitionAlignmentRectContext;
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0))
+NS_SWIFT_NAME(UIViewControllerTransition.ZoomOptions)
+@interface UIZoomTransitionOptions : NSObject <NSCopying>
+
+/// Called when an interactive dismissal of this transition begins.
+/// Return value indicates whether the interaction should begin for the given context.
+@property (nonatomic, copy, nullable) BOOL (^interactiveDismissShouldBegin)(UIZoomTransitionInteractionContext *);
+
+/// Return a frame in the zoomed view controller's view to which to align the source view.
+/// Return `CGRectNull` to indicate no preference.
+@property (nonatomic, copy, nullable) CGRect (^alignmentRectProvider)(UIZoomTransitionAlignmentRectContext *) NS_REFINED_FOR_SWIFT;
+
+/// Dimming color to apply to the content behind the zoomed in view. Set to nil to use the default.
+@property (nonatomic, strong, nullable) UIColor *dimmingColor;
+
+/// Visual effect to apply to the content behind the zoomed in view. Defaults to nil.
+@property (nonatomic, strong, nullable) UIBlurEffect *dimmingVisualEffect;
+
+@end
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0))
+NS_SWIFT_NAME(UIZoomTransitionOptions.InteractionContext)
+@interface UIZoomTransitionInteractionContext : NSObject
+
+/// Location of the interaction in the displayed view controller's view's coordinate space.
+@property (nonatomic, readonly) CGPoint location;
+
+/// The interaction's velocity.
+@property (nonatomic, readonly) CGVector velocity;
+
+/// Whether the interaction would begin under the current conditions by default.
+@property (nonatomic, readonly) BOOL willBegin;
+
+@end
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0))
+NS_SWIFT_NAME(UIZoomTransitionOptions.AlignmentRectContext)
+@interface UIZoomTransitionAlignmentRectContext : NSObject
+
+/// The transition's source view.
+@property (nonatomic, readonly) UIView *sourceView;
+
+/// The zoomed view controller.
+@property (nonatomic, readonly) UIViewController *zoomedViewController;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+
+#else
+#import <UIKitCore/UIZoomTransitionOptions.h>
+#endif
Clone this wiki locally