-
Notifications
You must be signed in to change notification settings - Fork 542
UIKit iOS xcode26.0 b1
Alex Soto edited this page Jun 9, 2025
·
1 revision
#UIKit.framework
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h 2025-06-03 00:06:53
@@ -3,7 +3,7 @@
// NSAdaptiveImageGlyph.h
// Text Kit
//
-// Copyright (c) 2024, Apple Inc. All rights reserved.
+// Copyright (c) 2024-2025,Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
@@ -20,7 +20,7 @@
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)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;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2025-04-21 00:54:57
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2025-05-31 00:52:50
@@ -8,7 +8,7 @@
// NSAttributedString.h
// UIKit
//
-// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2025-04-19 04:11:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2025-06-03 00:22:54
@@ -8,7 +8,7 @@
// NSParagraphStyle.h
// UIKit
//
-// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2025, Apple Inc. All rights reserved.
//
// NSParagraphStyle and NSMutableParagraphStyle hold paragraph style information
// NSTextTab holds information about a single tab stop
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2025-04-19 04:27:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2025-05-30 23:45:36
@@ -8,7 +8,7 @@
// NSStringDrawing.h
// UIKit
//
-// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2025, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2025-04-21 00:48:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2025-06-03 00:22:55
@@ -9,7 +9,7 @@
// NSText.h
// UIKit
//
-// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2025, Apple Inc. All rights reserved.
//
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2025-04-19 03:36:55
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2025-06-03 00:06:53
@@ -5,7 +5,7 @@
// NSTextAttachment.h
// UIKit
//
-// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
@@ -119,6 +119,7 @@
// Invoked from -[NSTextAttachment attachmentBoundsForAttributes:location:textContainer:proposedLineFragment:position:]
- (CGRect)attachmentBoundsForAttributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)proposedLineFragment position:(CGPoint)position;
@end
+
// This protocol defines the interface to attachment objects from NSLayoutManager
API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2025-04-23 23:25:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2025-05-30 23:37:11
@@ -8,7 +8,7 @@
// NSTextContainer.h
// UIKit
//
-// Copyright (c) 1994-2024, Apple Inc. All rights reserved.
+// Copyright (c) 1994-2025, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/NSParagraphStyle.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 2025-04-19 03:57:38
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 2025-06-03 00:08:23
@@ -3,7 +3,7 @@
// NSTextContentManager.h
// Text Kit
//
-// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
@@ -124,6 +124,9 @@
@interface NSTextContentStorage : NSTextContentManager <NSTextStorageObserving>
#pragma mark Basic properties
@property (weak, nullable) id <NSTextContentStorageDelegate> delegate;
+
+// When YES, NSTextContentStorage assumes the paragraph with NSTextList includes the text list marker string. Utilizes NSTextList.includesTextListMarkers as the default value.
+@property BOOL includesTextListMarkers API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
#pragma mark Document contents
// The document contents. KVO-compliant
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 2025-06-03 00:06:53
@@ -3,7 +3,7 @@
// NSTextElement.h
// Text Kit
//
-// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2025, Apple Inc. All rights reserved.
//
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2025-04-19 02:59:42
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2025-05-30 23:17:44
@@ -3,7 +3,7 @@
// NSTextLayoutFragment.h
// Text Kit
//
-// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 2025-04-19 03:57:37
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 2025-05-30 23:13:44
@@ -3,7 +3,7 @@
// NSTextLayoutManager.h
// Text Kit
//
-// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2025, Apple Inc. All rights reserved.
//
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 2025-06-03 00:06:53
@@ -3,7 +3,7 @@
// NSTextLineFragment.h
// Text Kit
//
-// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h 2025-04-19 02:59:42
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h 2025-05-30 23:17:44
@@ -3,7 +3,7 @@
// NSTextList.h
// Text Kit
//
-// Copyright (c) 2004-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2004-2025, Apple Inc. All rights reserved.
#import <Foundation/NSObject.h>
#import <UIKit/UIKitDefines.h>
@@ -58,6 +58,10 @@
// Returns the marker corresponding to itemNumber. itemNumber is ignored if < 1 or isOrdered==NO.
- (NSString *)markerForItemNumber:(NSInteger)itemNumber;
+#pragma mark Marker handling
+// When YES, TextKit includes text list marker in the contents.
+// It is NO by default.
+@property (readonly, class) BOOL includesTextListMarkers API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h 2025-06-03 00:06:53
@@ -3,7 +3,7 @@
// NSTextListElement.h
// Text Kit
//
-// Copyright (c) 2021-2022, Apple Inc. All rights reserved.
+// Copyright (c) 2021-2025, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 2025-05-31 01:01:03
@@ -3,7 +3,7 @@
// NSTextRange.h
// Text Kit
//
-// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
@@ -20,35 +20,93 @@
@end
#pragma mark NSTextRange
-// NSTextRange represents a contiguous range between two locations inside document contents. It consists of the starting location and terminating location. They are the two basic properties, location and endLocation, respectively. The terminating location, endLocation, is directly following the last location in the range. So, a location is contained in a range if (range.location <= location) && (location < range.endLocation).
+/// A class that represents a contiguous range between two locations inside document contents.
+///
+/// An `NSTextRange` consists of the starting and terminating locations. There
+/// the two basic properties: ``location`` and ``endLocation``, respectively.
+/// The terminating ``location``, ``endLocation``, is directly following the
+/// last location in the range. For example, a location contains a range if
+/// `(range.location <= location) && (location < range.endLocation)` is `true`.
API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0))
@interface NSTextRange : NSObject
#pragma mark Initialization
// Returns an empty range when endLocation=nil
+/// Creates a new text range with the starting and ending locations you specify.
+///
+/// - Parameters:
+/// - location: The starting location.
+/// - endLocation: The ending location.
- (nullable instancetype)initWithLocation:(id <NSTextLocation>)location endLocation:(nullable id <NSTextLocation>)endLocation NS_DESIGNATED_INITIALIZER;
+
+/// Creates a new text range at the location you specify.
+///
+/// - Parameters:
+/// - location: An ``NSTextLocation``.
- (instancetype)initWithLocation:(id <NSTextLocation>)location;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
#pragma mark Basic properties
-// An empty range when location == endLocation
+/// Returns whether the text range is empty.
@property (readonly, getter=isEmpty) BOOL empty;
-// Represented with the inclusive location and the exclusive endLocation
+/// The starting location of the text range.
@property (strong, readonly) id <NSTextLocation> location;
+/// The ending location of the text range.
@property (strong, readonly) id <NSTextLocation> endLocation;
+/// Compares two text ranges.
+///
+/// - Parameters:
+/// - textRange: The range used to compare against the current range to evaluate for differences.
+///
+/// - Returns: Returns `true` if the ranges are equal.
- (BOOL)isEqualToTextRange:(NSTextRange *)textRange;
#pragma mark Basic operations
+/// Determines if the text location you specify is in the current text range.
+///
+/// - Parameters:
+/// - location: An ``NSTextLocation``.
+///
+/// - Returns: Returns `true` if the location is in the range otherwise `false` .
- (BOOL)containsLocation:(id <NSTextLocation>)location;
+
+/// Determines if the text range you specify is in the current text range.
+///
+/// - Parameters:
+/// - textRange: An ``NSTextRange``.
+///
+/// - Returns: Returns `true` if the range you provide is in the current range; otherwise `false`.
- (BOOL)containsRange:(NSTextRange *)textRange;
+
+/// Determines if two ranges intersect.
+///
+/// - Parameters:
+/// - textRange: The range used to compare against the current range to evaluate for differences.
+///
+/// - Returns: Returns `true` if the ranges intersect.
- (BOOL)intersectsWithTextRange:(NSTextRange *)textRange;
#pragma mark Basic mutations
-// Returns the intersection with textRange. Returns nil when not intersecting.
+/// Returns the range, if any, where two text ranges intersect.
+///
+/// - Parameters:
+/// - textRange: The range used to compare against the current range to evaluate for differences.
+///
+/// - Returns: An
+/// <doc://com.apple.documentation/documentation/foundation/nsrange> that
+/// represents the intersection of the ranges, or `nil` if they don't
+/// intersect.
- (nullable instancetype)textRangeByIntersectingWithTextRange:(NSTextRange *)textRange;
+
+/// Returns a new text range by forming the union with the text range you provide.
+///
+/// - Parameters:
+/// - textRange: The range to use to create the union.
+///
+/// - Returns: An ``NSTextRange`` that represent the union of the two ranges.
- (instancetype)textRangeByFormingUnionWithTextRange:(NSTextRange *)textRange;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 2025-04-22 00:28:51
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 2025-05-30 23:57:30
@@ -3,7 +3,7 @@
// NSTextSelection.h
// Text Kit
//
-// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 2025-04-23 23:01:16
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 2025-05-30 23:17:44
@@ -3,7 +3,7 @@
// NSTextSelectionNavigation.h
// Text Kit
//
-// Copyright (c) 2019-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2019-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h 2025-04-22 00:15:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h 2025-06-03 00:08:23
@@ -3,7 +3,7 @@
// NSTextViewportLayoutController.h
// Text Kit
//
-// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2025, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2025-04-21 00:48:30
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2025-06-03 00:22:54
@@ -19,6 +19,7 @@
UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndMatchStyle API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndGo API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndSearch API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIActionIdentifier UIActionNewFromPasteboard API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
@class UIAction;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2025-04-21 00:48:25
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2025-06-03 00:22:48
@@ -360,15 +360,31 @@
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(nullable NSDictionary<UIApplicationLaunchOptionsKey, id> *)launchOptions API_AVAILABLE(ios(6.0));
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary<UIApplicationLaunchOptionsKey, id> *)launchOptions API_AVAILABLE(ios(3.0));
-- (void)applicationDidBecomeActive:(UIApplication *)application;
-- (void)applicationWillResignActive:(UIApplication *)application;
+/// Tells the delegate that the application has become active
+/// - Note: This method is not called if `UIScene` lifecycle has been adopted.
+- (void)applicationDidBecomeActive:(UIApplication *)application API_DEPRECATED("Use UIScene lifecycle and sceneDidBecomeActive(_:) from UISceneDelegate or the UIApplication.didBecomeActiveNotification instead.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// Tells the delegate that the application is about to become inactive
+/// - Note: This method is not called if `UIScene` lifecycle has been adopted.
+- (void)applicationWillResignActive:(UIApplication *)application API_DEPRECATED("Use UIScene lifecycle and sceneWillResignActive(_:) from UISceneDelegate or the UIApplication.willResignActiveNotification instead.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// Tells the delegate that the application is now in the background
+/// - Note: This method is not called if `UIScene` lifecycle has been adopted.
+- (void)applicationDidEnterBackground:(UIApplication *)application API_AVAILABLE(ios(4.0)) API_DEPRECATED("Use UIScene lifecycle and sceneDidEnterBackground(_:) from UISceneDelegate or the UIApplication.didEnterBackgroundNotification instead.", ios(4.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// Tells the delegate that the application is about to enter the foreground
+/// - Note: This method is not called if `UIScene` lifecycle has been adopted.
+- (void)applicationWillEnterForeground:(UIApplication *)application API_DEPRECATED("Use UIScene lifecycle and sceneWillEnterForeground(_:) from UISceneDelegate or the UIApplication.willEnterForegroundNotification instead.", ios(4.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(2.0, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(4.2, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
-typedef NSString * UIApplicationOpenURLOptionsKey NS_TYPED_ENUM API_UNAVAILABLE(watchos);
+typedef NSString * UIApplicationOpenURLOptionsKey NS_TYPED_ENUM API_DEPRECATED("Use UIScene lifecycle and equivalent properties on UISceneOpenURLOptions from a UIOpenURLContext in UIScene.ConnectionOptions.URLContexts instead.", ios(9.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options API_AVAILABLE(ios(9.0)); // no equiv. notification. return NO if the application can't open for some reason
+/// Return NO if the application can't open the `url` for some reason
+- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options API_DEPRECATED("Use UIScene lifecycle and scene(_:openURLContexts:) from UISceneDelegate instead.", ios(9.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application; // try to clean up as much memory as possible. next step is to terminate app
- (void)applicationWillTerminate:(UIApplication *)application;
@@ -413,9 +429,9 @@
/// Applications with the "fetch" background mode may be given opportunities to fetch updated content in the background or when it is convenient for the system. This method will be called in these situations. You should call the fetchCompletionHandler as soon as you're finished performing that operation, so the system can accurately estimate its power and data cost.
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_SWIFT_DISABLE_ASYNC API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
-// Called when the user activates your application by selecting a shortcut on the home screen,
-// except when -application:willFinishLaunchingWithOptions: or -application:didFinishLaunchingWithOptions returns NO.
-- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos);
+/// Called when the user activates your application by selecting a shortcut on the home screen, except when `application(_:willFinishLaunchingWithOptions:)`
+/// or `application(_:didFinishLaunchingWithOptions:)` returns `false`.
+- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler API_DEPRECATED("Use UIScene lifecycle and windowScene(_:performActionFor:completionHandler:) from UIWindowSceneDelegate instead.", ios(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos, watchos);
// Applications using an NSURLSession with a background configuration may be launched or resumed in the background in order to handle the
// completion of tasks in that session, or to handle authentication. This method will be called with the identifier of the session needing
@@ -432,9 +448,6 @@
- (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler API_DEPRECATED("Use application:handlerForIntent: instead", ios(11.0, 14.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
-- (void)applicationDidEnterBackground:(UIApplication *)application API_AVAILABLE(ios(4.0));
-- (void)applicationWillEnterForeground:(UIApplication *)application API_AVAILABLE(ios(4.0));
-
- (void)applicationProtectedDataWillBecomeUnavailable:(UIApplication *)application API_AVAILABLE(ios(4.0));
- (void)applicationProtectedDataDidBecomeAvailable:(UIApplication *)application API_AVAILABLE(ios(4.0));
@@ -463,29 +476,30 @@
#pragma mark -- User Activity Continuation protocol adopted by UIApplication delegate --
-// Called on the main thread as soon as the user indicates they want to continue an activity in your application. The NSUserActivity object may not be available instantly,
-// so use this as an opportunity to show the user that an activity will be continued shortly.
-// For each application:willContinueUserActivityWithType: invocation, you are guaranteed to get exactly one invocation of application:continueUserActivity: on success,
-// or application:didFailToContinueUserActivityWithType:error: if an error was encountered.
-- (BOOL)application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType API_AVAILABLE(ios(8.0));
+/// Called on the main thread as soon as the user indicates they want to continue an activity in your application. The ``NSUserActivity`` object may not be available
+/// instantly, so use this as an opportunity to show the user that an activity will be continued shortly.
+///
+/// For each `application(_:willContinueUserActivityWithType:)` invocation, you are guaranteed to get exactly one invocation of `application(_:continue:restorationHandler:)`
+/// on success, or `application(_:didFailToContinueUserActivityWithType:error:)` if an error was encountered.
+- (BOOL)application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType API_DEPRECATED("Use UIScene lifecycle and scene(_:willContinueUserActivityWithType:) from UISceneDelegate instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-// Called on the main thread after the NSUserActivity object is available. Use the data you stored in the NSUserActivity object to re-create what the user was doing.
-// You can create/fetch any restorable objects associated with the user activity, and pass them to the restorationHandler. They will then have the UIResponder restoreUserActivityState: method
-// invoked with the user activity. Invoking the restorationHandler is optional. It may be copied and invoked later, and it will bounce to the main thread to complete its work and call
-// restoreUserActivityState on all objects.
-- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler API_AVAILABLE(ios(8.0));
+/// Called on the main thread after the ``NSUserActivity`` object is available. Use the data you stored in the ``NSUserActivity`` object to re-create what the user
+/// was doing. You can create/fetch any restorable objects associated with the user activity, and pass them to the `restorationHandler`. They will then have the
+/// `UIResponder` `restoreUserActivityState:` method invoked with the user activity. Invoking the `restorationHandler` is optional. It may be copied and
+/// invoked later, and it will bounce to the main thread to complete its work and call `restoreUserActivityState` on all objects.
+- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler API_DEPRECATED("Use UIScene lifecycle and scene(_:continue:) from UISceneDelegate instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-// If the user activity cannot be fetched after willContinueUserActivityWithType is called, this will be called on the main thread when implemented.
-- (void)application:(UIApplication *)application didFailToContinueUserActivityWithType:(NSString *)userActivityType error:(NSError *)error API_AVAILABLE(ios(8.0));
+/// If the user activity cannot be fetched after `application(_:willContinueUserActivityWithType:)` is called, this will be called on the main thread when implemented.
+- (void)application:(UIApplication *)application didFailToContinueUserActivityWithType:(NSString *)userActivityType error:(NSError *)error API_DEPRECATED("Use UIScene lifecycle and scene(_:didFailToContinueUserActivityWithType:error:) from UISceneDelegate instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-// This is called on the main thread when a user activity managed by UIKit has been updated. You can use this as a last chance to add additional data to the userActivity.
-- (void)application:(UIApplication *)application didUpdateUserActivity:(NSUserActivity *)userActivity API_AVAILABLE(ios(8.0));
+/// This is called on the main thread when a user activity managed by UIKit has been updated. You can use this as a last chance to add additional data to the userActivity.
+- (void)application:(UIApplication *)application didUpdateUserActivity:(NSUserActivity *)userActivity API_DEPRECATED("Use UIScene lifecycle and scene(_:didUpdate) from UISceneDelegate instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
#pragma mark -- CloudKit Sharing Invitation Handling --
-// This will be called on the main thread after the user indicates they want to accept a CloudKit sharing invitation in your application.
-// You should use the CKShareMetadata object's shareURL and containerIdentifier to schedule a CKAcceptSharesOperation, then start using
-// the resulting CKShare and its associated record(s), which will appear in the CKContainer's shared database in a zone matching that of the record's owner.
-- (void)application:(UIApplication *)application userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
+/// This will be called on the main thread after the user indicates they want to accept a CloudKit sharing invitation in your application.
+/// You should use the `CKShareMetadata` object's `shareURL` and `containerIdentifier` to schedule a `CKAcceptSharesOperation`, then start using
+/// the resulting `CKShare` and its associated record(s), which will appear in the `CKContainer`'s shared database in a zone matching that of the record's owner.
+- (void)application:(UIApplication *)application userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata API_DEPRECATED("Use UIScene lifecycle and windowScene(_:userDidAcceptCloudKitShareWith:) from UIWindowSceneDelegate instead.", ios(10.0, 26.0), tvos(10.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
#pragma mark -- UIScene Support --
// Called when the UIKit is about to create & vend a new UIScene instance to the application.
@@ -553,23 +567,49 @@
UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataWillBecomeUnavailable API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataDidBecomeAvailable API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsURLKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(url) API_AVAILABLE(ios(3.0)); // userInfo contains NSURL with launch URL
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsSourceApplicationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(3.0)); // userInfo contains NSString with bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsRemoteNotificationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(remoteNotification) API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // userInfo contains NSDictionary with payload
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocalNotificationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(localNotification) API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // userInfo contains a UILocalNotification
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsAnnotationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(annotation) API_DEPRECATED("This dictionary key is no longer used.", ios(3.2, 16.0)) API_UNAVAILABLE(visionos); // userInfo contains object with annotation property list
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(location) API_AVAILABLE(ios(4.0)); // app was launched in response to a CoreLocation event.
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsNewsstandDownloadsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(newsstandDownloads) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // userInfo contains an NSArray of NKAssetDownload identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothCentralsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(bluetoothCentrals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBCentralManager restore identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothPeripheralsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(bluetoothPeripherals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBPeripheralManager restore identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsShortcutItemKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(shortcutItem) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos); // userInfo contains the UIApplicationShortcutItem used to launch the app.
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos); // userInfo contains a UIEventAttribution to go along with a URL open on launch
+/// UserInfo contains a ``NSURL`` with launch URL to open
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsURLKey NS_SWIFT_NAME(url) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.URLContexts instead.", ios(3.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-// Key in options dict passed to application:[will | did]FinishLaunchingWithOptions and info for UIApplicationDidFinishLaunchingNotification
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityDictionaryKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(userActivityDictionary) API_AVAILABLE(ios(8.0)); // Sub-Dictionary present in launch options when user activity is present
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityTypeKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(userActivityType) API_AVAILABLE(ios(8.0)); // Key in user activity dictionary for the activity type
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsCloudKitShareMetadataKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(cloudKitShareMetadata) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos); // The presence of this key indicates that the app was launched in order to handle a CloudKit sharing invitation. The value of this key is a CKShareMetadata object.
+/// UserInfo contains a ``NSString`` with the bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsSourceApplicationKey NS_SWIFT_NAME(sourceApplication) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.sourceApplication instead.", ios(3.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+/// UserInfo contains a ``NSDictionary`` notification payload with property-list objects plus ``NSNull``
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsRemoteNotificationKey NS_SWIFT_NAME(remoteNotification) API_DEPRECATED("Continue using UIApplicationDelegate's application(_:didReceiveRemoteNotification:fetchCompletionHandler:) to process silent remote notifications after scene connection.", ios(3.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// UserInfo contains a ``UILocalNotification``
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocalNotificationKey NS_SWIFT_NAME(localNotification) API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) ;
+
+/// UserInfo contains a property list annotation object
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsAnnotationKey NS_SWIFT_NAME(annotation) API_DEPRECATED("This dictionary key is no longer used.", ios(3.2, 16.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos);
+
+/// The app was launched in response to a CoreLocation event
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocationKey NS_SWIFT_NAME(location) API_DEPRECATED("Adopt CLLocationUpdate or CLMonitor, or use CLLocationManagerDelegate from CoreLocation to handle expected location events after scene connection.", ios(4.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// UserInfo contains an ``NSArray`` of ``NKAssetDownload`` identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsNewsstandDownloadsKey NS_SWIFT_NAME(newsstandDownloads) API_DEPRECATED("This dictionary key is no longer used.", ios(5.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
+
+/// UserInfo contains an ``NSArray`` of ``CBCentralManager`` restore identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothCentralsKey NS_SWIFT_NAME(bluetoothCentrals) API_DEPRECATED("Store restoration identifiers and reinstantiate central managers with those identifiers on app launch to resume previous functionality.", ios(7.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// UserInfo contains an ``NSArray`` of ``CBPeripheralManager`` restore identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothPeripheralsKey NS_SWIFT_NAME(bluetoothPeripherals) API_DEPRECATED("Store restoration identifiers and reinstantiate peripheral managers with those identifiers on app launch to resume previous functionality.", ios(7.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// UserInfo contains the ``UIApplicationShortcutItem`` used to launch the app
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsShortcutItemKey NS_SWIFT_NAME(shortcutItem) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.shortcutItem instead.", ios(3.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// UserInfo contains a ``UIEventAttribution`` to go along with a URL open on launch
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.eventAttribution instead.", ios(14.5, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Key in options dictionary passed to `application(_:willFinishLaunchingWithOptions:)` and `application(_:didFinishLaunchingWithOptions:)`
+/// and info for `UIApplication.didFinishLaunchingNotification`. Sub-Dictionary present in launch options when user activity is present.
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityDictionaryKey NS_SWIFT_NAME(userActivityDictionary) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.userActivities instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// Key in user activity dictionary for the activity type
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityTypeKey NS_SWIFT_NAME(userActivityType) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.handoffUserActivityType instead.", ios(8.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// The presence of this key indicates that the app was launched in order to handle a CloudKit sharing invitation. The value of this key is a ``CKShareMetadata`` object.
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsCloudKitShareMetadataKey NS_SWIFT_NAME(cloudKitShareMetadata) API_DEPRECATED("Use UIScene lifecycle and UIScene.ConnectionOptions.cloudKitShareMetadata instead.", ios(10.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos, watchos);
+
UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/// The URL string you use to deep link to settings for default app selection in the Settings app.
@@ -581,12 +621,19 @@
UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_AVAILABLE(ios(15.4)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
#endif
+/// An options key for `application(_:open:options:)`. The value is an ``NSString`` containing the bundle ID of the originating application; non-nil if the originating
+/// application and this application share the same team identifier.
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsSourceApplicationKey NS_SWIFT_NAME(sourceApplication) API_DEPRECATED("Use UIScene lifecycle and UISceneOpenURLOptions.sourceApplication from a UIOpenURLContext in UIScene.ConnectionOptions.URLContexts instead.", ios(9.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
-// Keys for application:openURL:options:
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsSourceApplicationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(9.0)); // value is an NSString containing the bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsAnnotationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(annotation) API_AVAILABLE(ios(9.0)); // value is a property-list typed object corresponding to what the originating application passed in UIDocumentInteractionController's annotation property
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsOpenInPlaceKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(openInPlace) API_AVAILABLE(ios(9.0)); // value is a bool NSNumber. Copy the file before use if this value is NO, or is not present.
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos); // value is a UIEventAttribution to go along with the URL to open
+/// An options key for `application(_:open:options:)`. The value is a property-list typed object corresponding to what the originating application passed in
+/// `UIDocumentInteractionController`'s annotation property.
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsAnnotationKey NS_SWIFT_NAME(annotation) API_DEPRECATED("Use UIScene lifecycle and UISceneOpenURLOptions.annotation from a UIOpenURLContext in UIScene.ConnectionOptions.URLContexts instead.", ios(9.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos) ;
+
+/// An options key for `application(_:open:options:)`. The value is a bool `NSNumber`. Copy the file before use if this value is NO, or is not present.
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsOpenInPlaceKey NS_SWIFT_NAME(openInPlace) API_DEPRECATED("Use UIScene lifecycle and UISceneOpenURLOptions.openInPlace from a UIOpenURLContext in UIScene.ConnectionOptions.URLContexts instead.", ios(9.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+
+/// An options key for `application(_:open:options:)`. The value is a `UIEventAttribution` to go along with the URL to open.
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_DEPRECATED("Use UIScene lifecycle and UISceneOpenURLOptions.eventAttribution from a UIOpenURLContext in UIScene.ConnectionOptions.URLContexts instead.", ios(14.5, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos, tvos);
// This notification is posted after the user takes a screenshot (for example by pressing both the home and lock screen buttons)
UIKIT_EXTERN NSNotificationName const UIApplicationUserDidTakeScreenshotNotification API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundExtensionView.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundExtensionView.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundExtensionView.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundExtensionView.h 2025-06-03 00:22:46
@@ -0,0 +1,46 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIBackgroundExtensionView.h>)
+//
+// UIBackgroundExtensionView.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIView.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// A view that extends content to fill its own bounds.
+///
+/// A background extension view can be laid out to extend outside the safe area,
+/// such as under a sidebar or an inspector. By default, the view lays out
+/// its content to stay within the safe area, and uses modifications of the
+/// content along the edges to fill the container view.
+API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0))
+API_UNAVAILABLE(watchos)
+@interface UIBackgroundExtensionView : UIView
+
+/// The content view to extend to fill the `UIBackgroundExtensionView`.
+///
+/// The content view will be added as a subview of the extension view and
+/// placed within the safe area by default. See `automaticallyPlacesContentView` to
+/// customize the layout.
+@property (nonatomic, strong, nullable) UIView *contentView;
+
+/// Controls the automatic safe area placement of the `contentView` within the
+/// container.
+///
+/// When `NO`, the frame of the content view must be explicitly set or
+/// constraints added. The extension effect will be used to fill the container
+/// view around the content.
+///
+/// Defaults to `YES`.
+@property (nonatomic, assign) BOOL automaticallyPlacesContentView;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIBackgroundExtensionView.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2025-04-19 03:50:05
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2025-05-31 00:16:22
@@ -21,8 +21,17 @@
typedef NS_ENUM(NSInteger, UIBarButtonItemStyle) {
UIBarButtonItemStylePlain,
- UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)) API_UNAVAILABLE(visionos, watchos),
- UIBarButtonItemStyleDone,
+
+ /// A button item style for a prominent button.
+ ///
+ /// For example, use this for a button that completes or finalizes some task.
+ /// Buttons with this style will not be visually grouped with other items
+ /// in a navigation bar or toolbar, and will also have other styling changes
+ /// appropriate to their context to indicate their prominence.
+ UIBarButtonItemStyleProminent API_AVAILABLE(ios(26.0)) = 2,
+
+ UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)) API_UNAVAILABLE(visionos, watchos) = 1,
+ UIBarButtonItemStyleDone API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStyleProminent", ios(2.0, 26.0)) = UIBarButtonItemStyleProminent,
} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) {
@@ -97,6 +106,12 @@
/// Construct a new flexible space item.
+ (instancetype)flexibleSpaceItem API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+/// Creates a new fixed space item of zero width.
+///
+/// A fixed space of 0 width separates the shared background used
+/// in navigation bars and toolbars to visually group items.
++ (instancetype)fixedSpaceItem API_AVAILABLE(ios(26.0));
+
@property (nonatomic, readwrite, assign) UIBarButtonItemStyle style; // default is UIBarButtonItemStylePlain
@property (nonatomic, readwrite, assign) CGFloat width; // default is 0.0
@property (nonatomic, readwrite, copy , nullable) NSSet<NSString *> *possibleTitles; // default is nil
@@ -104,7 +119,7 @@
@property (nonatomic, readwrite, assign, nullable) SEL action; // default is NULL
@property (nonatomic, readwrite, weak , nullable) id target; // default is nil
-/// Set the primaryAction on this item, updating the title & image of the item if appropriate (primaryAction is non-nil, and this is not a system item). When primaryAction is non-nil, the target & action properties are ignored. If primaryAction is set to nil, the title & image properties are left unchanged.
+/// Set the primaryAction on this item, updating the title & image of the item if appropriate (primaryAction's title is non-nil for the title update, primaryAction's image is non-nil for the image update, and if this is not a system item). When primaryAction is non-nil, the target & action properties are ignored. If primaryAction is set to nil, the title & image properties are left unchanged.
@property (nonatomic, readwrite, copy, nullable) UIAction *primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// When non-nil the menu is presented, the gesture used to trigger the menu is based on if the bar button item would normally trigger an action when tapped.
@@ -128,6 +143,27 @@
/// A UIMenuElement that should substitute for the UIBarButtonItem when displayed in a menu.
@property (nonatomic, readwrite, copy, nullable) UIMenuElement *menuRepresentation API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// A boolean value indicating whether the background this item may share with other items in the bar
+/// should be hidden.
+///
+/// Set this property to `YES` to prevent the standard shared background (typically using the Glass effect)
+/// from being drawn behind this bar button item.
+///
+/// This item will not be visually grouped with any other items,
+/// without the standard shared background.
+/// This property is ignored if the item is in a `UIBarButtonItemGroup` with more than one item.
+/// The default value is `NO`.
+@property (nonatomic) BOOL hidesSharedBackground API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+
+/// A boolean value indicating whether this bar button item can share a background with other items
+/// in a navigation bar or a toolbar.
+///
+/// When `NO`, This item will not be visually grouped with any other items.
+///
+/// This property is ignored if the item is in a `UIBarButtonItemGroup` with more than one item.
+/// The default value is `YES`.
+@property (nonatomic) BOOL sharesBackground API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
/// Create a fixed group containing this bar button item. UIBarButtonItems may only be in a single UIBarButtonItemGroup at a time, adding a bar button item to a group removes it from any previous group.
- (UIBarButtonItemGroup *)creatingFixedGroup API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemBadge.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemBadge.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemBadge.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemBadge.h 2025-06-03 00:22:48
@@ -0,0 +1,56 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIBarButtonItemBadge.h>)
+//
+// UIBarButtonItemBadge.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
+API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos)
+API_UNAVAILABLE(watchos, tvos)
+/// A badge to be rendered on a bar button item.
+@interface UIBarButtonItemBadge : NSObject <NSCopying, NSSecureCoding>
+/// Creates a badge with the specified `count`.
+///
+/// The count is localized when shown, and will update
+/// when the app’s locale changes.
++ (instancetype)badgeWithCount:(NSUInteger)count NS_SWIFT_NAME(badgeWithCount(_:));
+
+/// Creates a badge with the specified `string`.
++ (instancetype)badgeWithString:(NSString *)stringValue NS_SWIFT_NAME(badgeWithString(_:));
+
+/// Creates a badge that's empty, and just renders the badge background
+/// with no content.
++ (instancetype)indicatorBadge;
+
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+
+@property (nonatomic, readonly, copy, nullable) NSString *stringValue;
+
+/// The badge's background color. A `nil` value will be treated as an indication to use the system default.
+@property (nonatomic, strong, nullable) UIColor *backgroundColor;
+
+/// The badge's foreground color. A `nil` value will be treated as an indication to use the system default.
+@property (nonatomic, strong, nullable) UIColor *foregroundColor;
+
+/// The font to use for the badge. A `nil` value will be treated as an indication to use the system default.
+@property (nonatomic, strong, nullable) UIFont *font;
+
+@end
+
+@interface UIBarButtonItem (Badging)
+/// Sets a badge on the bar button item. Currently only supported in navigation bars.
+@property (nonatomic, readwrite, nullable, strong) UIBarButtonItemBadge *badge NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIBarButtonItemBadge.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2025-04-19 04:05:01
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2025-06-03 00:34:08
@@ -29,6 +29,12 @@
/// Construct a UIBarButtonItemGroup that can be moved or added/removed under UINavigationBar customization.
+ (UIBarButtonItemGroup *)optionalGroupWithCustomizationIdentifier:(NSString *)customizationIdentifier inDefaultCustomization:(BOOL)inDefaultCustomization representativeItem:(nullable UIBarButtonItem *)representativeItem items:(NSArray<UIBarButtonItem *> *)items API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+/// Returns a new group that contains a single zero-width fixed space item inside it.
+///
+/// If you specify a group with a single zero-width fixed space,
+/// the navigation bar to visually separate the following groups.
++ (UIBarButtonItemGroup *)groupWithFixedSpace API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(fixedSpace());
+
/// The bar button items associated with this group. Changing these items will affect the bar displaying these items without needing to re-set the groups that are in that bar. Any UIBarButtonItems that are already in group will be removed from that group.
@property (nonatomic, readwrite, copy) NSArray<UIBarButtonItem *> *barButtonItems;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 2025-04-19 04:27:52
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 2025-05-31 00:52:46
@@ -13,6 +13,7 @@
@class UIImageSymbolConfiguration;
@class UIButton;
@class UIImage;
+@class UISymbolContentTransition;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -84,6 +85,9 @@
+ (instancetype)borderedTintedButtonConfiguration;
+ (instancetype)borderedProminentButtonConfiguration;
++ (instancetype)glassButtonConfiguration API_AVAILABLE(ios(26.0), tvos(26.0)) API_UNAVAILABLE(watchos);
++ (instancetype)tintedGlassButtonConfiguration API_AVAILABLE(ios(26.0), tvos(26.0)) API_UNAVAILABLE(watchos);
+
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@@ -111,6 +115,10 @@
@property (nonatomic, readwrite, strong, nullable) UIImage *image;
@property (nonatomic, readwrite, copy, nullable) UIConfigurationColorTransformer imageColorTransformer;
@property (nonatomic, readwrite, copy, nullable) UIImageSymbolConfiguration *preferredSymbolConfigurationForImage;
+
+/// The symbol content transition to use when transitioning across symbol images.
+/// Defaults to `nil`, meaning no symbol content transition should occur.
+@property (nonatomic, readwrite, strong, nullable) UISymbolContentTransition *symbolContentTransition API_AVAILABLE(ios(26.0), tvos(26.0)) API_UNAVAILABLE(watchos);
/// Shows an activity indicator in place of an image. Its placement is controlled by the imagePlacement property.
@property (nonatomic, readwrite, assign) BOOL showsActivityIndicator;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2025-04-21 00:48:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2025-05-31 00:52:47
@@ -52,6 +52,17 @@
- (UIColor *)initWithCIColor:(CIColor *)ciColor API_AVAILABLE(ios(5.0), watchos(2.0));
#endif
+/// Generates an HDR color by applying an exposure to the SDR color defined by the red, green, and blue components. The `red`, `green`, and `blue` components have a nominal range of [0..1], `exposure` is a value >= 0. To produce an HDR color, we process the given color in a linear color space, multiplying component values by `2^exposure`. The produced color will have a `contentHeadroom` equal to the linearized exposure value. Each whole value of exposure produces a color that is twice as bright.
+- (UIColor *)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha exposure:(CGFloat)exposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
++ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha exposure:(CGFloat)exposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
+/// Generates an HDR color by applying an exposure to the SDR color defined by the red, green, and blue components. The `red`, `green`, and `blue` components have a nominal range of [0..1], `linearExposure` is a value >= 1. To produce an HDR color, we process the given color in a linear color space, multiplying component values by `linearExposure `. The produced color will have a `contentHeadroom` equal to `linearExposure`. Each doubling of `linearExposure` produces a color that is twice as bright.
+- (UIColor *)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha linearExposure:(CGFloat)linearExposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
++ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha linearExposure:(CGFloat)linearExposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
+/// Reinterpret the color by applying a new `contentHeadroom` without changing the color components. Changing the `contentHeadroom` redefines the color relative to a different peak white, changing its behavior under tone mapping and the result of calling `standardDynamicRangeColor`. The new color will have a `contentHeadroom` >= 1.0.
+- (UIColor *)colorByApplyingContentHeadroom:(CGFloat)contentHeadroom API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0)) NS_SWIFT_NAME(applyingContentHeadroom(_:));
+
// Some convenience methods to create colors. These colors will be as calibrated as possible.
// These colors are cached.
@property(class, nonatomic, readonly) UIColor *blackColor; // 0.0 white
@@ -92,6 +103,12 @@
#if __has_include(<CoreImage/CoreImage.h>)
@property(nonatomic,readonly) CIColor *CIColor API_AVAILABLE(ios(5.0), watchos(2.0));
#endif
+
+/// The linear brightness multiplier that was applied when generating this color. Colors created with an exposure by UIColor create CGColors that are tagged with a contentHeadroom value. While CGColors created without a contentHeadroom tag will return 0 from CGColorGetHeadroom, UIColors generated in a similar fashion return a linearExposure of 1.0.
+@property (nonatomic, readonly, assign) CGFloat linearExposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
+/// In some cases it is useful to recover the color that was base SDR color that was exposed to generate the given HDR color. If a color's `linearExposure` is >1, then this will return the base SDR color.
+@property (nonatomic, readonly, copy) UIColor *standardDynamicRangeColor API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2025-04-21 00:48:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2025-06-03 00:22:56
@@ -53,6 +53,12 @@
/// If set to `NO` users are only able to pick fully opaque colors.
@property (nonatomic) BOOL supportsAlpha;
+/// If set to `NO` the eyedropper functionality is not supported for this color picker.
+@property (nonatomic) BOOL supportsEyedropper API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
+/// The maximum exposure to apply to a color when returned by the color picker.
+@property (nonatomic) CGFloat maximumLinearExposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
- (instancetype)init NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h 2025-04-21 00:48:30
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h 2025-06-03 00:22:54
@@ -28,6 +28,12 @@
/// Does support KVO and does send `UIControlEventValueChanged`.
@property (nullable, nonatomic, strong) UIColor *selectedColor;
+/// If set to `NO` the eyedropper functionality is not supported for this color well.
+@property (nonatomic) BOOL supportsEyedropper API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
+/// The maximum exposure to apply to a color when returned by the color well.
+@property (nonatomic) CGFloat maximumLinearExposure API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuSystem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuSystem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuSystem.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuSystem.h 2025-06-03 00:22:50
@@ -0,0 +1,29 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContextMenuSystem.h>)
+//
+// UIContextMenuSystem.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIMenuSystem.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// The context menu system.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UIContextMenuSystem : UIMenuSystem
+
+/// The shared context menu system.
+@property (class, nonatomic, readonly) UIContextMenuSystem *sharedSystem;
+
+@property (class, nonatomic, readonly) UIMenuSystem *mainSystem NS_UNAVAILABLE;
+@property (class, nonatomic, readonly) UIMenuSystem *contextSystem NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContextMenuSystem.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h 2025-04-21 00:48:30
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h 2025-05-31 00:23:49
@@ -10,9 +10,14 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+typedef NSString *UIDeferredMenuElementIdentifier NS_SWIFT_NAME(UIDeferredMenuElement.Identifier) NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIDeferredMenuElement : UIMenuElement
+/// The identifier of this deferred menu element.
+@property (nonatomic, copy, readonly) UIDeferredMenuElementIdentifier identifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
/*!
* @abstract Returns a placeholder menu element that is replaced with the result of the block's
* completion handler. A loading UI takes the place of the element in the menu
@@ -34,6 +39,41 @@
* Call this block's completion handler when the menu items are available.
*/
+ (instancetype)elementWithUncachedProvider:(void(^)(void(^completion)(NSArray<UIMenuElement *> *elements)))elementProvider API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+
+/*!
+ * @abstract Returns a placeholder menu element that is replaced with elements provided from the responder chain.
+ * A loading UI takes the place of the element in the menu until it is fulfilled. The element may be stored
+ * and re-used across menus.
+ *
+ * @param identifier An identifier for this deferred element that responders can check to determine which elements
+ * to provide.
+ * @param shouldCacheItems Whether or not the deferred element caches items. Passing in @c YES causes this deferred element to
+ * ask the responder chain for elements only once, when the element is first encountered in a menu.
+ * Passing in @c NO asks the responder chain for elements every time the element is displayed.
+ */
++ (instancetype)elementUsingFocusWithIdentifier:(UIDeferredMenuElementIdentifier)identifier shouldCacheItems:(BOOL)shouldCacheItems API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(usingFocus(identifier:shouldCacheItems:));
+
+@end
+
+
+/*!
+ * @abstract Represents an element provider for a deferred menu element.
+ * When the containing menu for a responder-based deferred element is presented, the system asks the
+ * responder chain for one of these element providers for the deferred element.
+ */
+UIKIT_EXTERN API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIDeferredMenuElement.Provider) NS_SWIFT_UI_ACTOR
+@interface UIDeferredMenuElementProvider : NSObject
+
+/*!
+ * @abstract Creates a deferred menu element provider with an asynchronous block.
+ *
+ * @param elementProvider An asynchronous element provider block. Call this block's completion handler when the responder's
+ * menu items are available.
+ */
++ (instancetype)providerWithElementProvider:(void(^)(void(^completion)(NSArray<UIMenuElement *> *elements)))elementProvider NS_SWIFT_NAME(init(_:));
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h 2025-04-21 00:54:56
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h 2025-06-03 00:34:09
@@ -95,7 +95,7 @@
#pragma mark - UIEditMenuInteractionDelegate
-API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
@protocol UIEditMenuInteractionDelegate<NSObject>
@optional
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2025-04-19 04:04:55
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2025-05-30 23:37:10
@@ -7,11 +7,13 @@
//
#import <Foundation/Foundation.h>
-#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIFocusDefines.h>
+
#import <UIKit/UIFocusGuide.h>
#import <UIKit/UIFocusAnimationCoordinator.h>
+@class UIFocusEffect;
-@class UIView, UIFocusUpdateContext, UIFocusMovementHint, UIFocusEffect, UIFocusAnimationCoordinator;
+@class UIView, UIFocusUpdateContext, UIFocusMovementHint;
@protocol UICoordinateSpace, UIFocusItemContainer;
typedef NS_OPTIONS(NSUInteger, UIFocusHeading) {
@@ -182,16 +184,6 @@
/// The item that is focused after the update, i.e. where focus is updating to. May be nil if no item is being focused, meaning focus is being lost.
@property (nonatomic, weak, readonly, nullable) id<UIFocusItem> nextFocusedItem API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
-/// The view that was focused before the update. May be nil if no view was focused, such as when setting initial focus.
-/// If previouslyFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
-/// NOTE: This property will be deprecated in a future release. Use previouslyFocusedItem instead.
-@property (nonatomic, weak, readonly, nullable) UIView *previouslyFocusedView;
-
-/// The view that will be focused after the update. May be nil if no view will be focused.
-/// If nextFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
-/// NOTE: This property will be deprecated in a future release. Use nextFocusedItem instead.
-@property (nonatomic, weak, readonly, nullable) UIView *nextFocusedView;
-
/// The focus heading in which the update is occurring.
@property (nonatomic, assign, readonly) UIFocusHeading focusHeading;
@@ -211,6 +203,8 @@
UIKIT_EXTERN UIFocusSoundIdentifier const UIFocusSoundIdentifierDefault API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos, visionos);
NS_HEADER_AUDIT_END(nullability, sendability)
+
+#import <UIKit/UIFocusUpdateContext+UIKitAdditions.h>
#else
#import <UIKitCore/UIFocus.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDefines.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDefines.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDefines.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDefines.h 2025-06-03 00:22:40
@@ -0,0 +1,15 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIFocusDefines.h>)
+//
+// UIFocusDefines.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <Availability.h>
+#import <UIUtilities/UIDefines.h>
+
+#else
+#import <UIKitCore/UIFocusDefines.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusMovementHint.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusMovementHint.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusMovementHint.h 2025-04-21 00:48:26
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusMovementHint.h 2025-06-03 00:22:49
@@ -7,7 +7,6 @@
//
#import <UIKit/UIFocus.h>
-#import <UIKit/UIKitDefines.h>
#import <QuartzCore/CATransform3D.h>
/// Provides information about the current state of hinting for the focused item.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem+UIKitAdditions.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem+UIKitAdditions.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem+UIKitAdditions.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem+UIKitAdditions.h 2025-06-03 00:22:51
@@ -0,0 +1,32 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIFocusSystem+UIKitAdditions.h>)
+//
+// UIFocusSystem+UIKitAdditions.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIFocusSystem.h>
+#import <UIKit/UIWindowScene.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@interface UIFocusSystem (Sound)
+
+/// Registers a sound file for a given identifier.
++ (void)registerURL:(NSURL *)soundFileURL forSoundIdentifier:(UIFocusSoundIdentifier)identifier API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos);
+
+@end
+
+
+@interface UIWindowScene (UIFocusSystem)
+/// Returns the focus system that is responsible for this scene or nil if this scene does not support focus.
+@property (nullable, nonatomic, readonly) UIFocusSystem *focusSystem API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIFocusSystem+UIKitAdditions.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2025-04-21 00:48:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2025-06-03 00:22:46
@@ -7,9 +7,9 @@
//
#import <UIKit/UIFocus.h>
-#import <UIKit/UIKitDefines.h>
-#import <UIKit/UIWindowScene.h>
+#import <UIKit/UIFocusDefines.h>
+
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
/// UIFocusSystem instances manage focus state within a part of the user interface. They are in charge of tracking the current focused item, as well as processing focus updates.
@@ -42,21 +42,10 @@
@end
+NS_HEADER_AUDIT_END(nullability, sendability)
-@interface UIFocusSystem (Sound)
-/// Registers a sound file for a given identifier.
-+ (void)registerURL:(NSURL *)soundFileURL forSoundIdentifier:(UIFocusSoundIdentifier)identifier API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos);
-
-@end
-
-
-@interface UIWindowScene (UIFocusSystem)
-/// Returns the focus system that is responsible for this scene or nil if this scene does not support focus.
-@property (nullable, nonatomic, readonly) UIFocusSystem *focusSystem API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-@end
-
-NS_HEADER_AUDIT_END(nullability, sendability)
+#import <UIKit/UIFocusSystem+UIKitAdditions.h>
#else
#import <UIKitCore/UIFocusSystem.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusUpdateContext+UIKitAdditions.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusUpdateContext+UIKitAdditions.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusUpdateContext+UIKitAdditions.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusUpdateContext+UIKitAdditions.h 2025-06-03 00:22:37
@@ -0,0 +1,31 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIFocusUpdateContext+UIKitAdditions.h>)
+//
+// UIFocusUpdateContext+UIKitAdditions.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIFocus.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@interface UIFocusUpdateContext (UIKitAdditions)
+
+/// The view that was focused before the update. May be nil if no view was focused, such as when setting initial focus.
+/// If previouslyFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
+/// NOTE: This property will be deprecated in a future release. Use previouslyFocusedItem instead.
+@property (nonatomic, weak, readonly, nullable) UIView *previouslyFocusedView;
+
+/// The view that will be focused after the update. May be nil if no view will be focused.
+/// If nextFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
+/// NOTE: This property will be deprecated in a future release. Use nextFocusedItem instead.
+@property (nonatomic, weak, readonly, nullable) UIView *nextFocusedView;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIFocusUpdateContext+UIKitAdditions.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h 2025-04-22 00:15:57
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h 2025-06-03 00:06:53
@@ -2,7 +2,7 @@
// UIFoundation.h
// Text Kit
//
-// Copyright © 2021 Apple Inc. All rights reserved.
+// Copyright © 2021-2025 Apple Inc. All rights reserved.
//
#import <UIKit/NSTextRange.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2025-04-19 04:23:13
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2025-06-03 00:22:47
@@ -10,6 +10,7 @@
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <UIKit/UIKitDefines.h>
+#import <UIUtilities/UIGeometry.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -42,15 +43,6 @@
CGFloat horizontal, vertical; // specify amount to offset a position, positive for right or down, negative for left or up
} UIOffset;
-typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
- UIRectEdgeNone = 0,
- UIRectEdgeTop = 1 << 0,
- UIRectEdgeLeft = 1 << 1,
- UIRectEdgeBottom = 1 << 2,
- UIRectEdgeRight = 1 << 3,
- UIRectEdgeAll = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight
-} API_AVAILABLE(ios(7.0), watchos(2.0));
-
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
@@ -58,13 +50,6 @@
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
} API_AVAILABLE(watchos(2.0));
-
-typedef NS_OPTIONS(NSUInteger, UIAxis) {
- UIAxisNeither = 0,
- UIAxisHorizontal = 1 << 0,
- UIAxisVertical = 1 << 1,
- UIAxisBoth = (UIAxisHorizontal | UIAxisVertical),
-} API_AVAILABLE(ios(13.4), tvos(13.4), watchos(6.2));
#ifdef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGlassEffect.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGlassEffect.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGlassEffect.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGlassEffect.h 2025-06-03 00:22:51
@@ -0,0 +1,47 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIGlassEffect.h>)
+//
+// UIGlassEffect.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIVisualEffect.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIColor.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// A visual effect that renders a glass material.
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(26.0))
+API_UNAVAILABLE(visionos, watchos)
+@interface UIGlassEffect : UIVisualEffect
+
+/// Enables interactive behavior for the glass effect.
+@property (nonatomic, getter=isInteractive) BOOL interactive;
+
+/// A tint color applied to the glass.
+@property (nonatomic, copy, nullable) UIColor *tintColor;
+@end
+
+/// A `UIGlassContainerEffect` renders multiple glass elements into a combined effect.
+///
+/// When using `UIGlassContainerEffect` with a `UIVisualEffectView` you can
+/// add individual glass elements to the visual effect view's contentView by nesting `UIVisualEffectView`'s
+/// configured with `UIGlassEffect`. In that configuration, the glass container will render all glass elements
+/// in one combined view, behind the visual effect view's `contentView`.
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(26.0))
+API_UNAVAILABLE(visionos, watchos)
+@interface UIGlassContainerEffect : UIVisualEffect
+
+/// The spacing specifies the distance between elements at which they begin to merge.
+@property (nonatomic) CGFloat spacing;
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIGlassEffect.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2025-04-21 00:48:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2025-05-31 00:16:20
@@ -37,6 +37,28 @@
UIImageSymbolWeightBlack
} API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+// -- symbol image variable value modes
+typedef NS_ENUM(NSInteger, UIImageSymbolVariableValueMode) {
+ /// Automatically selects an appropriate variable value mode for the symbol.
+ UIImageSymbolVariableValueModeAutomatic = 0,
+ /// The "color" variable value mode. Sets the opacity of each variable layer to
+ /// either on or off depending on how its threshold compared to the current value.
+ UIImageSymbolVariableValueModeColor,
+ /// The "draw" variable value mode. Changes the drawn length of each variable layer
+ /// to either based on how its range relates to the current value.
+ UIImageSymbolVariableValueModeDraw,
+} API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0)) NS_SWIFT_NAME(UIImage.SymbolVariableValueMode) NS_SWIFT_SENDABLE;
+
+// -- symbol image color rendering modes
+typedef NS_ENUM(NSInteger, UIImageSymbolColorRenderingMode) {
+ /// Automatically uses an appropriate color rendering mode for the symbol’s color layers.
+ UIImageSymbolColorRenderingModeAutomatic = 0,
+ /// Renders the symbol’s color layers using flat colors.
+ UIImageSymbolColorRenderingModeFlat,
+ /// Renders the symbol’s color layers using gradients.
+ UIImageSymbolColorRenderingModeGradient,
+} API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0)) NS_SWIFT_NAME(UIImage.SymbolColorRenderingMode) NS_SWIFT_SENDABLE;
+
UIKIT_EXTERN UIFontWeight UIFontWeightForImageSymbolWeight(UIImageSymbolWeight symbolWeight) API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
UIKIT_EXTERN UIImageSymbolWeight UIImageSymbolWeightForFontWeight(UIFontWeight fontWeight) API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
@@ -69,6 +91,11 @@
+ (instancetype)configurationWithPaletteColors:(NSArray<UIColor *> *)paletteColors API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+ (instancetype)configurationPreferringMulticolor API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+ (instancetype)configurationPreferringMonochrome API_AVAILABLE(ios(16.0),tvos(16.0),watchos(9.0));
+
+/// Initializes a symbol configuration with a preferred variable value mode.
++ (instancetype)configurationWithVariableValueMode:(UIImageSymbolVariableValueMode)variableValueMode API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0)) NS_SWIFT_NAME(init(variableValueMode:));
+/// Initializes a symbol configuration with a preferred color rendering mode.
++ (instancetype)configurationWithColorRenderingMode:(UIImageSymbolColorRenderingMode)mode API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0)) NS_SWIFT_NAME(init(colorRenderingMode:));
// Removes attributes from the configuration if they are set
- (instancetype)configurationWithoutTextStyle;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2025-04-23 23:35:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2025-05-30 23:45:29
@@ -99,6 +99,17 @@
UIImageDynamicRangeHigh = 2
} API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+typedef NS_ENUM(NSInteger, UIHDRHeadroomUsageLimit) {
+ /// Headroom usage limits are not defined
+ UIHDRHeadroomUsageLimitUnspecified = -1,
+#ifdef __APPLE_BLEACH_SDK__
+ /// Headroom usage limits are in effect, HDR headroom usage should be restricted
+ UIHDRHeadroomUsageLimitEnabled,
+ /// Headroom usage limits are disabled, HDR headroom usage is unrestricted.
+ UIHDRHeadroomUsageLimitDisabled,
+#endif
+};
+
// System colors
@interface UIColor (UIColorSystemColors)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2025-04-19 03:41:12
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2025-06-03 23:59:12
@@ -2447,8 +2447,6 @@
Availability: nonswift
- Name: UISceneWillConnectNotification
SwiftName: UIScene.willConnectNotification
-- Name: UISceneWillDisconnectNotification
- SwiftName: UIScene.willDisconnectNotification
- Name: UISceneDidDisconnectNotification
SwiftName: UIScene.didDisconnectNotification
- Name: UISceneDidActivateNotification
@@ -2471,6 +2469,8 @@
SwiftName: windowExternalDisplayNonInteractive
- Name: UIWindowSceneSessionRoleVolumetricApplication
SwiftName: windowApplicationVolumetric
+- Name: UIWindowSceneSessionRoleAssistiveAccessApplication
+ SwiftName: windowAssistiveAccessApplication
- Name: UISheetPresentationControllerDetentInactive
SwiftPrivate: true
- Name: UISheetPresentationControllerAutomaticDimension
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2025-04-19 04:11:32
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2025-05-31 00:52:33
@@ -44,6 +44,7 @@
#import <UIKit/UIOrientation.h>
#import <UIKit/UIBarButtonItem.h>
#import <UIKit/UIBarButtonItemGroup.h>
+#import <UIKit/UIBarButtonItemBadge.h>
#import <UIKit/UIBarItem.h>
#import <UIKit/UIButton.h>
#import <UIKit/UIButtonConfiguration.h>
@@ -91,8 +92,10 @@
#import <UIKit/NSFileProviderExtension.h>
#import <UIKit/UIVisualEffect.h>
#import <UIKit/UIBlurEffect.h>
+#import <UIKit/UIGlassEffect.h>
#import <UIKit/UIVibrancyEffect.h>
#import <UIKit/UIVisualEffectView.h>
+#import <UIKit/UIBackgroundExtensionView.h>
#import <UIKit/UIEvent.h>
#import <UIKit/UIFontPickerViewController.h>
#import <UIKit/UIFontPickerViewControllerConfiguration.h>
@@ -112,8 +115,11 @@
#import <UIKit/UILargeContentViewer.h>
#import <UIKit/UIApplicationShortcutItem.h>
#import <UIKit/UIUserNotificationSettings.h>
+#import <UIKit/UIFocusDefines.h>
#import <UIKit/UIFocus.h>
#import <UIKit/UIFocusSystem.h>
+#import <UIKit/UIFocusSystem+UIKitAdditions.h>
+#import <UIKit/UIFocusUpdateContext+UIKitAdditions.h>
#import <UIKit/UIFocusGuide.h>
#import <UIKit/UIFocusAnimationCoordinator.h>
#import <UIKit/UIFocusDebugger.h>
@@ -156,6 +162,7 @@
#import <UIKit/UIScreenEdgePanGestureRecognizer.h>
#import <UIKit/UIScreenMode.h>
#import <UIKit/UIScrollView.h>
+#import <UIKit/UIScrollEdgeElementContainerInteraction.h>
#import <UIKit/UISearchBar.h>
#import <UIKit/UISearchContainerViewController.h>
#import <UIKit/UISearchController.h>
@@ -163,7 +170,9 @@
#import <UIKit/UISearchTextField.h>
#import <UIKit/UISegmentedControl.h>
#import <UIKit/UISlider.h>
+#import <UIKit/UISliderTrackConfiguration.h>
#import <UIKit/UISplitViewController.h>
+#import <UIKit/UISplitViewControllerLayoutEnvironment.h>
#import <UIKit/UIStandardTextCursorView.h>
#import <UIKit/UIStepper.h>
#import <UIKit/UIStoryboard.h>
@@ -173,6 +182,7 @@
#import <UIKit/UISwipeGestureRecognizer.h>
#import <UIKit/UISwitch.h>
#import <UIKit/UISymbolEffectCompletion.h>
+#import <UIKit/UISymbolContentTransition.h>
#import <UIKit/UITabBar.h>
#import <UIKit/UITabBarController.h>
#import <UIKit/UITabBarItem.h>
@@ -304,9 +314,13 @@
#import <UIKit/UIScene+AVAudioSession.h>
#import <UIKit/UISceneSystemProtectionManager.h>
#import <UIKit/UIWindowScene.h>
+#import <UIKit/UISceneConfiguration.h>
#import <UIKit/UISceneSession.h>
#import <UIKit/UISceneSessionActivationRequest.h>
#import <UIKit/UISceneActivationConditions.h>
+#import <UIKit/UISceneDestructionCondition.h>
+#import <UIKit/UISceneSizeRestrictions.h>
+#import <UIKit/UISceneWindowingControlStyle.h>
#import <UIKit/UIWindowSceneGeometry.h>
#import <UIKit/UIWindowSceneGeometryPreferences.h>
#import <UIKit/UIWindowSceneGeometryPreferencesMac.h>
@@ -331,6 +345,8 @@
#import <UIKit/UIMenuElement.h>
#import <UIKit/UIDeferredMenuElement.h>
#import <UIKit/UIMenuSystem.h>
+#import <UIKit/UIContextMenuSystem.h>
+#import <UIKit/UIMainMenuSystem.h>
#import <UIKit/UIContextMenuInteraction.h>
#import <UIKit/UIContextMenuConfiguration.h>
#import <UIKit/UITextFormattingCoordinator.h>
@@ -375,7 +391,9 @@
#import <UIKit/UISearchTab.h>
#import <UIKit/UITabBarControllerSidebar.h>
#import <UIKit/UITabSidebarItem.h>
+#import <UIKit/UITabAccessory.h>
#import <UIKit/UIViewControllerTransition.h>
+#import <UIKit/UIViewLayoutRegion.h>
#import <UIKit/UIZoomTransitionOptions.h>
#import <UIKit/UIShadowProperties.h>
#import <UIKit/UITextFormattingViewController.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h 2025-04-21 00:48:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h 2025-06-03 00:22:45
@@ -7,15 +7,8 @@
//
#import <Availability.h>
+#import <UIUtilities/UIDefines.h>
-#ifdef __cplusplus
-#define UIKIT_EXTERN extern "C" __attribute__((visibility ("default")))
-#else
-#define UIKIT_EXTERN extern __attribute__((visibility ("default")))
-#endif
-
-#define UIKIT_STATIC_INLINE static inline
-
#define UIKIT_AVAILABLE_IOS_ONLY(vers) __IOS_AVAILABLE(vers) __WATCHOS_UNAVAILABLE __TVOS_UNAVAILABLE
#define UIKIT_AVAILABLE_WATCHOS_ONLY(vers) __IOS_UNAVAILABLE __WATCHOS_AVAILABLE(vers) __TVOS_UNAVAILABLE
#define UIKIT_AVAILABLE_TVOS_ONLY(vers) __IOS_UNAVAILABLE __WATCHOS_UNAVAILABLE __TVOS_AVAILABLE(vers)
@@ -34,16 +27,6 @@
#define UIKIT_SWIFT_FORWARD_DECLARE(DECLARATION)
#endif
-#if !defined(UIKIT_EXTERN_C_BEGIN) && !defined(UIKIT_EXTERN_C_END)
- #ifdef __cplusplus
- #define UIKIT_EXTERN_C_BEGIN extern "C" {
- #define UIKIT_EXTERN_C_END }
- #else
- #define UIKIT_EXTERN_C_BEGIN
- #define UIKIT_EXTERN_C_END
- #endif
-#endif
-
#if !defined(UIKIT_HAS_UIFOUNDATION_SYMBOLS)
#if defined(UIKIT_BUILDING_UIKITMACHELPER) || __has_feature(modules)
#define UIKIT_HAS_UIFOUNDATION_SYMBOLS TARGET_OS_IPHONE
@@ -51,6 +34,14 @@
#define UIKIT_HAS_UIFOUNDATION_SYMBOLS 1
#endif // defined(UIKIT_BUILDING_UIKITMACHELPER)
#endif // !defined(UIKIT_HAS_UIFOUNDATION_SYMBOLS)
+
+#ifndef UIKIT_FINAL
+ #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
+ #define UIKIT_FINAL __attribute__((objc_subclassing_restricted))
+ #else
+ #define UIKIT_FINAL
+ #endif
+#endif
#else
#import <UIKitCore/UIKitDefines.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMainMenuSystem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMainMenuSystem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMainMenuSystem.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMainMenuSystem.h 2025-06-03 00:22:50
@@ -0,0 +1,73 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIMainMenuSystem.h>)
+//
+// UIMainMenuSystem.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIMenuSystem.h>
+
+@class UIMainMenuSystemConfiguration;
+@protocol UIMenuBuilder;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// The main menu system.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UIMainMenuSystem : UIMenuSystem
+
+/// The shared main menu system.
+@property (class, nonatomic, readonly) UIMainMenuSystem *sharedSystem;
+
+/// Specifies that the main menu system should be built using the specified configuration.
+/// A build handler can be optionally provided, which the main menu system will use instead of calling `-buildMenuWithBuilder:`.
+/// Setting this will invalidate and rebuild the main menu system. Ideally it should be set once, and as early as possible, preferably in `-application:didFinishLaunchingWithOptions:`.
+/// Subsequent rebuilds of the main menu system will continue to use this `configuration` and `buildHandler`.
+/// It is a developer error to set the `configuration` while the main menu system is building. Doing so will assert.
+- (void)setBuildConfiguration:(UIMainMenuSystemConfiguration *)configuration buildHandler:(void(^ _Nullable)(id<UIMenuBuilder> builder))buildHandler NS_REFINED_FOR_SWIFT;
+
+@property (class, nonatomic, readonly) UIMenuSystem *mainSystem NS_UNAVAILABLE;
+@property (class, nonatomic, readonly) UIMenuSystem *contextSystem NS_UNAVAILABLE;
+
+@end
+
+/// A configuration for the main menu system.
+/// You can specify whether or not certain elements are present in the initial main menu, as well as a block to build the menu using a UIMenuBuilder.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIMainMenuSystem.Configuration) NS_SWIFT_UI_ACTOR
+@interface UIMainMenuSystemConfiguration : NSObject <NSCopying>
+
+/// Specifies a preference for new scene elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference newScenePreference;
+
+/// Specifies a preference for document elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference documentPreference;
+
+/// Specifies a preference for printing elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference printingPreference;
+
+/// Specifies a preference for finding elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference findingPreference;
+
+/// Configuration for the find elements should they be present in the main menu.
+@property (nonatomic, strong, readonly) UIMenuSystemFindElementGroupConfiguration *findingConfiguration;
+
+/// Specifies a preference for toolbar elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference toolbarPreference;
+
+/// Specifies a preference for sidebar elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference sidebarPreference;
+
+/// Specifies a preference for inspector elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference inspectorPreference;
+
+/// Specifies a preference for text formatting elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemElementGroupPreference textFormattingPreference;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIMainMenuSystem.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2025-04-21 00:54:55
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2025-05-31 00:16:25
@@ -153,8 +153,11 @@
/// -- Identifiers for File submenus
+/// New item menu
+UIKIT_EXTERN const UIMenuIdentifier UIMenuNewItem API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
/// New scene menu
-UIKIT_EXTERN const UIMenuIdentifier UIMenuNewScene API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIMenuIdentifier UIMenuNewScene API_DEPRECATED_WITH_REPLACEMENT("UIMenuNewItem", ios(13.0, 26.0)) API_UNAVAILABLE(watchos);
/// Open menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuOpen API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
@@ -179,8 +182,11 @@
/// Cut, Copy, Paste, Delete, Select, Select All menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuStandardEdit API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
-/// Find menu; empty in the default menubar configuration. Applications should use this when adding their own Find-related menu items.
+/// Find menu, containing Find Panel items and other finding operations like Use Selection for Find
UIKIT_EXTERN const UIMenuIdentifier UIMenuFind API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+
+/// Find panel menu (Find, Find and Replace, Find Next, Find Previous)
+UIKIT_EXTERN const UIMenuIdentifier UIMenuFindPanel API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
/// Replace..., Transliterate Chinese menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuReplace API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h 2025-04-21 00:48:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h 2025-06-03 00:34:02
@@ -55,12 +55,43 @@
- (void)replaceChildrenOfMenuForIdentifier:(UIMenuIdentifier)parentIdentifier
fromChildrenBlock:(NSArray<UIMenuElement *> *(NS_NOESCAPE ^)(NSArray<UIMenuElement *> *))childrenBlock NS_SWIFT_NAME(replaceChildren(ofMenu:from:));
+/// Replace an identified menu with menu elements.
+///
+/// @param replacedIdentifier The identifier of the menu to be replaced.
+/// @param replacementElements The replacement elements.
+- (void)replaceMenuForIdentifier:(UIMenuIdentifier)replacedIdentifier withElements:(NSArray<UIMenuElement *> *)replacementElements API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(replace(menu:with:));
+
+/// Replace an identified action with menu elements.
+///
+/// @param replacedIdentifier The identifier of the action to be replaced.
+/// @param replacementElements The replacement elements.
+- (void)replaceActionForIdentifier:(UIActionIdentifier)replacedIdentifier withElements:(NSArray<UIMenuElement *> *)replacementElements API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(replace(action:with:));
+
+/// Replace an identified command with menu elements.
+///
+/// @param replacedAction The action of the command to be replaced.
+/// @param replacedPropertyList Property list object to distinguish commands, if needed.
+/// @param replacementElements The replacement elements.
+- (void)replaceCommandForAction:(SEL)replacedAction propertyList:(nullable id)replacedPropertyList withElements:(NSArray<UIMenuElement *> *)replacementElements API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+
/// Insert a sibling menu before an identified sibling menu.
///
/// @param siblingGroup The sibling menu to insert.
/// @param siblingIdentifier The identifier of the sibling menu to insert before.
- (void)insertSiblingMenu:(UIMenu *)siblingMenu beforeMenuForIdentifier:(UIMenuIdentifier)siblingIdentifier NS_SWIFT_NAME(insertSibling(_:beforeMenu:));
+/// Insert elements before an identified menu.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingIdentifier The identifier of the menu to insert elements before.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements beforeMenuForIdentifier:(UIMenuIdentifier)siblingIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:beforeMenu:));
+
+/// Insert elements after an identified menu.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingIdentifier The identifier of the menu to insert elements after.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements afterMenuForIdentifier:(UIMenuIdentifier)siblingIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:afterMenu:));
+
/// Insert a sibling menu after an identified sibling menu.
///
/// @param siblingGroup The sibling menu to insert.
@@ -73,16 +104,65 @@
/// @param parentIdentifier The identifier of the parent menu to insert at the start of.
- (void)insertChildMenu:(UIMenu *)childMenu atStartOfMenuForIdentifier:(UIMenuIdentifier)parentIdentifier NS_SWIFT_NAME(insertChild(_:atStartOfMenu:));
+/// Insert elements before an identified action.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingIdentifier The identifier of the action to insert elements before.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements beforeActionForIdentifier:(UIActionIdentifier)siblingIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:beforeAction:));
+
+/// Insert elements after an identified action.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingIdentifier The identifier of the action to insert elements after.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements afterActionForIdentifier:(UIActionIdentifier)siblingIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:afterAction:));
+
+/// Insert elements before an identified command.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingAction The action of the command to insert elements before.
+/// @param siblingPropertyList Property list object to distinguish commands, if needed.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements beforeCommandForAction:(SEL)siblingAction propertyList:(nullable id)siblingPropertyList API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+
+/// Insert elements after an identified command.
+///
+/// @param insertedElements The elements to insert.
+/// @param siblingAction The action of the command to insert elements after.
+/// @param siblingPropertyList Property list object to distinguish commands, if needed.
+- (void)insertElements:(NSArray<UIMenuElement *> *)insertedElements afterCommandForAction:(SEL)siblingAction propertyList:(nullable id)siblingPropertyList API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+
+/// Insert elements at the start of an identified parent menu.
+///
+/// @param childElements The child elements to insert.
+/// @param parentIdentifier The identifier of the parent menu to insert elements at the start of.
+- (void)insertElements:(NSArray<UIMenuElement *> *)childElements atStartOfMenuForIdentifier:(UIMenuIdentifier)parentIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:atStartOfMenu:));
+
/// Insert a child menu at the end of an identified parent menu.
///
/// @param childGroup The child menu to insert.
/// @param parentIdentifier The identifier of the parent menu to insert at the end of.
- (void)insertChildMenu:(UIMenu *)childMenu atEndOfMenuForIdentifier:(UIMenuIdentifier)parentIdentifier NS_SWIFT_NAME(insertChild(_:atEndOfMenu:));
+/// Insert elements at the end of an identified parent menu.
+///
+/// @param childElements The child elements to insert.
+/// @param parentIdentifier The identifier of the parent menu to insert elements at the end of.
+- (void)insertElements:(NSArray<UIMenuElement *> *)childElements atEndOfMenuForIdentifier:(UIMenuIdentifier)parentIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(insertElements(_:atEndOfMenu:));
+
/// Remove an identified menu.
///
/// @param removedIdentifier The menu to remove.
- (void)removeMenuForIdentifier:(UIMenuIdentifier)removedIdentifier NS_SWIFT_NAME(remove(menu:));
+
+/// Remove an identified action.
+///
+/// @param removedIdentifier The identifier of the action to remove.
+- (void)removeActionForIdentifier:(UIActionIdentifier)removedIdentifier API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(remove(action:));
+
+/// Remove an identified command.
+///
+/// @param removedAction The action of the command to remove.
+/// @param removedPropertyList Property list object to distinguish commands, if needed.
+- (void)removeCommandForAction:(SEL)removedAction propertyList:(nullable id)removedPropertyList API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h 2025-04-21 00:48:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h 2025-06-03 00:22:46
@@ -28,6 +28,16 @@
UIMenuElementAttributesKeepsMenuPresented API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos) = 1 << 3
} API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+/// Possible repeat behaviors for a menu element.
+typedef NS_ENUM(NSInteger, UIMenuElementRepeatBehavior) {
+ /// Automatically uses the appropriate repeat behavior for this element.
+ UIMenuElementRepeatBehaviorAutomatic = 0,
+ /// The element should be allowed to repeat.
+ UIMenuElementRepeatBehaviorRepeatable,
+ /// The element should not be repeatable.
+ UIMenuElementRepeatBehaviorNonRepeatable,
+} API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIMenuElement.RepeatBehavior);
+
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h 2025-04-21 00:48:27
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h 2025-06-03 00:22:50
@@ -35,6 +35,11 @@
/// The element's selection state.
@property (nonatomic) UIMenuElementState state;
+/// The leaf's preferred repeat behavior.
+/// Menu leaves can repeatedly perform their primary actions on prolonged interactions,
+/// such as by holding down their keyboard shortcut.
+@property (nonatomic) UIMenuElementRepeatBehavior repeatBehavior;
+
/// The object on behalf of which the element's primary action is being performed.
/// This property is only populated during the execution of the element's
/// primary action (i.e. its handler or selector) if available.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h 2025-04-21 00:48:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h 2025-06-03 00:22:52
@@ -15,11 +15,11 @@
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIMenuSystem : NSObject
-/// The main command system.
-@property (class, nonatomic, readonly) UIMenuSystem *mainSystem;
+/// The main menu system. This is identical to `UIMainMenuSystem.sharedSystem`.
+@property (class, nonatomic, readonly) __kindof UIMenuSystem *mainSystem;
-/// The context command system.
-@property (class, nonatomic, readonly) UIMenuSystem *contextSystem;
+/// The context menu system. This is identical to `UIContextMenuSystem.sharedSystem`.
+@property (class, nonatomic, readonly) __kindof UIMenuSystem *contextSystem;
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@@ -29,6 +29,40 @@
/// Trigger a revalidate of this system at a suitable time.
- (void)setNeedsRevalidate;
+
+@end
+
+typedef NS_ENUM(NSInteger, UIMenuSystemElementGroupPreference) {
+ /// The default preference. The element group is automatically included based on the platform and other system behaviors.
+ UIMenuSystemElementGroupPreferenceAutomatic = 0,
+ /// Prefer that the element group is removed.
+ UIMenuSystemElementGroupPreferenceRemoved,
+ /// Prefer that the element group is included.
+ UIMenuSystemElementGroupPreferenceIncluded,
+} API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIMenuSystem.ElementGroupPreference) NS_SWIFT_SENDABLE;
+
+/// Represents a preference for the structure of Find elements in the main menu.
+typedef NS_ENUM(NSInteger, UIMenuSystemFindElementGroupConfigurationStyle) {
+ /// The default preference. Find elements are automatically included based on the platform and other system behaviors.
+ UIMenuSystemFindElementGroupConfigurationStyleAutomatic = 0,
+ /// Prefer a minimal set of find elements, only consisting of elements to search content in the app.
+ UIMenuSystemFindElementGroupConfigurationStyleSearch,
+ /// Prefer a set of elements for finding within a non-editable text area
+ UIMenuSystemFindElementGroupConfigurationStyleNonEditableText,
+ /// Prefer a full set of elements for finding and replacing text, such as Find, Find and Replace, Find Navigation, and so on.
+ UIMenuSystemFindElementGroupConfigurationStyleEditableText,
+} API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIMenuSystemFindElementGroupConfiguration.Style) NS_SWIFT_SENDABLE;
+
+/// Represents a configuration for find elements, should they be present.
+/// You don't create one of these directly. A configuration is provided as part of a `UIMainMenuSystemConfiguration`.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIMenuSystem.FindElementGroupConfiguration) NS_SWIFT_UI_ACTOR
+@interface UIMenuSystemFindElementGroupConfiguration : NSObject
+
+/// Specifies a preference for the style of Find elements in the main menu.
+@property (nonatomic, assign) UIMenuSystemFindElementGroupConfigurationStyle style;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h 2025-04-21 00:48:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h 2025-06-03 00:22:51
@@ -19,14 +19,24 @@
/// An additional adjustment to the inline title's position.
@property (nonatomic, readwrite, assign) UIOffset titlePositionAdjustment;
+/// The default text attributes to apply to the subtitle rendered in the navigation bar.
+@property (nonatomic, readwrite, copy) NSDictionary<NSAttributedStringKey, id> *subtitleTextAttributes API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+
/// Large Title text attributes. If the font or color are unspecified, appropriate defaults are supplied.
@property (nonatomic, readwrite, copy) NSDictionary<NSAttributedStringKey, id> *largeTitleTextAttributes;
+/// The default text attributes to apply to the subtitle when it’s rendered under
+/// the large title.
+@property (nonatomic, readwrite, copy) NSDictionary<NSAttributedStringKey, id> *largeSubtitleTextAttributes API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+
/// The appearance for plain-style bar button items
@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *buttonAppearance;
-/// The appearance for done-style bar button items
-@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *doneButtonAppearance;
+/// The appearance attributes for Prominent buttons.
+///
+/// Use this property to configure the appearance of bar button items that use `UIBarButtonItemStyleProminent`.
+/// If the navigation bar doesn't have any buttons using this style, this property has no effect.
+@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *prominentButtonAppearance;
/// The appearance for back buttons. Defaults are drawn from buttonAppearance when appropriate.
@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *backButtonAppearance;
@@ -37,6 +47,10 @@
@property (nonatomic, readonly, strong) UIImage *backIndicatorTransitionMaskImage;
/// Set the backIndicatorImage & backIndicatorTransitionMaskImage images. If either image is nil, then both images will be reset to their default.
- (void)setBackIndicatorImage:(nullable UIImage *)backIndicatorImage transitionMaskImage:(nullable UIImage *)backIndicatorTransitionMaskImage;
+
+/// The appearance for done-style bar button items
+@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *doneButtonAppearance API_DEPRECATED_WITH_REPLACEMENT("prominentButtonAppearance", ios(13.0, 26.0), tvos(13.0, 26.0)) API_UNAVAILABLE(watchos);
+
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2025-04-23 23:35:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2025-06-03 00:22:44
@@ -80,7 +80,15 @@
@property(null_resettable,nonatomic,readonly) UIToolbar *toolbar API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // For use when presenting an action sheet.
@property(nullable, nonatomic, weak) id<UINavigationControllerDelegate> delegate;
+
+/// The interactive pop gesture recognizes on the leading screen edge and initiates an interactive pop.
+/// This property should only be used to set up failure requirements with it.
@property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(tvos);
+
+/// The interactive content pop gesture recognizes on the entire content area of the navigation controller
+/// in cases that are not covered by the interactive pop gesture recognizer and initiates an interactive pop.
+/// This property should only be used to set up failure requirements with it.
+@property(nullable, nonatomic, readonly) UIGestureRecognizer *interactiveContentPopGestureRecognizer API_AVAILABLE(ios(26.0), macCatalyst(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos);
- (void)showViewController:(UIViewController *)vc sender:(nullable id)sender API_AVAILABLE(ios(8.0)); // Interpreted as pushViewController:animated:
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2025-04-19 04:27:55
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2025-06-03 00:22:52
@@ -40,9 +40,17 @@
/// The navigation bar will choose a placement for the search bar that is appropriate for the current layout
UINavigationItemSearchBarPlacementAutomatic,
/// The navigation bar will place the search bar inline with other content, on the trailing edge.
- UINavigationItemSearchBarPlacementInline,
+ /// On iPhone, when the navigation bar belongs to a UINavigationController, the search bar may be integrated into the toolbar.
+ UINavigationItemSearchBarPlacementIntegrated API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos),
/// The navigation bar will place the search bar vertically stacked with other content.
UINavigationItemSearchBarPlacementStacked,
+ /// Placement is the same as Integrated, except that in regular width on iPad, the search bar is centered in the navigation bar.
+ /// Only respected when used in a view controller that is a descendant of a tab bar controller or when using a navigation item style that requires a leading aligned title
+ UINavigationItemSearchBarPlacementIntegratedCentered API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos),
+ /// Placement is the same as Integrated, except that the inactive search bar is always shown as a button even when space permits a search field.
+ UINavigationItemSearchBarPlacementIntegratedButton API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos),
+ UINavigationItemSearchBarPlacementInline API_DEPRECATED_WITH_REPLACEMENT("UINavigationItemSearchBarPlacementIntegrated", ios(16.0, 26.0)) API_UNAVAILABLE(tvos, watchos)
+ = UINavigationItemSearchBarPlacementIntegrated,
} API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
typedef NS_ENUM(NSInteger, UINavigationItemStyle) {
@@ -87,8 +95,59 @@
/// Title when topmost on the stack. default is nil
@property (nonatomic, readwrite, copy, nullable) NSString *title;
+
+/// An attributed string that is rendered as the title in the navigation bar.
+///
+/// If `titleView` is non-nil, this property is ignored.
+@property (nonatomic, copy, nullable) NSAttributedString *attributedTitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos) NS_REFINED_FOR_SWIFT;
+
/// Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.
@property (nonatomic, readwrite, strong, nullable) UIView *titleView;
+
+/// A string to display as the subtitle in the navigation bar.
+///
+/// If `attributedSubtitle` is `non-nil`, this property just returns the `String`
+/// representation of the `attributedString`.
+/// If `subtitleView` is non-nil, this property is ignored.
+@property (nonatomic, copy, nullable) NSString *subtitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos);
+
+/// An attributed string to display as the subtitle in the navigation bar.
+///
+/// If non-nil, this property takes precedence over the `subtitle` property.
+/// If `subtitleView` is non-nil, this property is ignored.
+/// If `titleView` is non-nil, this property is ignored.
+@property (nonatomic, copy, nullable) NSAttributedString *attributedSubtitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos) NS_REFINED_FOR_SWIFT;
+
+/// A custom view to display below the title in the navigation bar.
+///
+/// If non-nil, this property takes precedence over the `subtitle` and `attributedSubtitle` properties.
+/// The view's layout constraints will determine its size, or the view may override `sizeThatFits(_:)`
+/// to return its desired size.
+@property (nonatomic, copy, nullable) UIView *subtitleView API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos);
+
+/// String to be used as the large title.
+///
+/// When `nil`, the navigation bar will use the navigation item's current title.
+@property (nonatomic, copy, nullable) NSString *largeTitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos);
+
+/// String to be rendered below the large title.
+///
+/// When `nil`, the navigation bar will fall back to the `subtitle`.
+@property (nonatomic, copy, nullable) NSString *largeSubtitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos);
+
+/// An attributed string to be rendered below the large title.
+///
+/// When `nil`, the navigation bar will fall back to the `largeSubtitle`.
+/// If a `largeSubtitleView` is set, this property is ignored.
+@property (nonatomic, copy, nullable) NSAttributedString *largeAttributedSubtitle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos) NS_REFINED_FOR_SWIFT;
+
+/// A custom view to display below the large title.
+///
+/// When non-nil, this takes precedence over any other subtitle.
+/// The view's layout constraints will determine its size, or the view may override `sizeThatFits(_:)`
+/// to return its desired size.
+@property (nonatomic, strong, nullable) UIView *largeSubtitleView API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, watchos) API_UNAVAILABLE(visionos);
+
/// Explanatory text to display above the navigation bar buttons.
@property (nonatomic, readwrite, copy, nullable) NSString *prompt API_UNAVAILABLE(tvos);
@@ -174,7 +233,7 @@
@property (nonatomic, readwrite, strong, nullable) UISearchController *searchController API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// If this property is true (the default), the searchController’s search bar will hide as the user scrolls in the top view controller’s scroll view. If false, the search bar will remain visible and pinned underneath the navigation bar.
-/// Not appicable and ignored for UINavigationItemSearchBarPlacementInline
+/// Not applicable and ignored for `UINavigationItemSearchBarPlacementIntegrated`
@property (nonatomic, readwrite, assign) BOOL hidesSearchBarWhenScrolling API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// The preferred search bar placement, when a search controller is assigned to this item.
@@ -182,6 +241,26 @@
/// The realized placement. Only valid if a search controller has been assigned to this item.
@property (nonatomic, readonly, assign) UINavigationItemSearchBarPlacement searchBarPlacement API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// When `searchBarPlacement` is `.integrated` or `.integratedButton` and a search controller is present, use this bar button item in the view controller's `toolbarItems` to control the placement of the search bar among them when the search bar is appearing in the UIToolbar on iPhone.
+/// Without this bar button item, the positioning for the search bar defaults to trailingmost for the UIToolbar case.
+/// This bar button item will be ignored during toolbar layout if `searchController` is `nil`.
+/// UIBarButtonItemGroup will throw an NSInvalidArgumentException when this bar button item is included in its initialization.
+/// UINavigationItem will throw an NSInvalidArgumentException when this bar button item is included in leftBarButtonItems or rightBarButtonItems.
+@property (nonatomic, readonly, strong) UIBarButtonItem *searchBarPlacementBarButtonItem API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// Defaults to `YES`
+/// Set to `NO` to prevent the search bar from being placed among other UIToolbar items on iPhone
+@property (nonatomic) BOOL searchBarPlacementAllowsToolbarIntegration API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// `AllowsExternalIntegration` means that something at a higher scope may take the search bar and integrate it somewhere other than the navigation bar (or toolbar) directly associated with this navigation item.
+/// On iOS 19, UISplitViewController uses this to allow Mac-like placement of the search bar on iPad.
+/// Defaults to `NO`
+/// Set to `YES` to allow the containing UISplitViewController to place the search bar in the navigation bar for the trailingmost column independent of the column used for this view controller.
+/// Ignored when `searchController` is `nil`, when `searchBarPlacement` is `.stacked`, or when not contained in a UISplitViewController.
+/// When the top view controller's navigation item has this property set to `YES` in more than one column at the same time, only one will be respected; the columns are checked in order of `.inspector`, `.secondary`, `.supplementary`, `.primary`
+/// If the search bar has a scope bar, the scope bar will not be moved into a different column.
+@property (nonatomic) BOOL searchBarPlacementAllowsExternalIntegration API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos);
/// When set and this item is topmost, overrides the hosting navigation bar's standardAppearance. See UINavigationBar.standardAppearance for further details.
@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *standardAppearance API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h 2025-04-19 02:29:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h 2025-05-25 08:20:51
@@ -18,7 +18,7 @@
@class UIPrintPageRenderer;
@class UIView, UIFont, UIColor;
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UIPrintFormatter : NSObject <NSCopying>
@property(nullable,nonatomic,readonly,weak) UIPrintPageRenderer *printPageRenderer API_UNAVAILABLE(tvos); // default is nil. set when formatter added to a print page renderer
@@ -42,7 +42,7 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UISimpleTextPrintFormatter : UIPrintFormatter {
}
@@ -59,7 +59,7 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UIMarkupTextPrintFormatter : UIPrintFormatter {
}
@@ -70,7 +70,7 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UIViewPrintFormatter : UIPrintFormatter
@property(nonatomic,readonly) UIView *view;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h 2025-04-19 05:04:44
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h 2025-05-25 02:36:31
@@ -24,7 +24,7 @@
UIPrintRenderingQualityResponsive
} API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UIPrintPageRenderer : NSObject
@property(nonatomic) CGFloat headerHeight; // top of contentRect from printableRect
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h 2025-04-19 05:04:44
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h 2025-05-25 02:36:31
@@ -12,7 +12,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos, watchos)
@interface UIPrintPaper : NSObject
+ (UIPrintPaper *)bestPaperForPageSize:(CGSize)contentSize withPapersFromArray:(NSArray<UIPrintPaper *> *)paperList; // for use by delegate. pass in list
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h 2025-04-19 04:27:47
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h 2025-06-03 00:34:02
@@ -19,6 +19,7 @@
@class UIPress;
@class UIPressesEvent;
+@class UIDeferredMenuElement, UIDeferredMenuElementProvider;
typedef NSDictionary<NSAttributedStringKey, id> * _Nonnull(^UITextAttributesConversionHandler)(NSDictionary<NSAttributedStringKey, id> * _Nonnull) API_UNAVAILABLE(watchos);
@@ -36,6 +37,7 @@
- (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
- (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
- (void)pasteAndSearch:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+- (void)newFromPasteboard:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
- (void)select:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
- (void)selectAll:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
- (void)delete:(nullable id)sender API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos);
@@ -48,6 +50,11 @@
- (void)increaseSize:(nullable id)sender API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
- (void)decreaseSize:(nullable id)sender API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
+- (void)alignLeft:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+- (void)alignCenter:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+- (void)alignJustified:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+- (void)alignRight:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
- (void)find:(nullable id)sender API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
- (void)findAndReplace:(nullable id)sender API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
- (void)findNext:(nullable id)sender API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
@@ -62,6 +69,11 @@
- (void)move:(nullable id)sender API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
- (void)export:(nullable id)sender API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
+- (void)toggleSidebar:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+- (void)toggleInspector:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
+- (void)performClose:(nullable id)sender API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
- (void)showWritingTools:(id)sender API_AVAILABLE(ios(18.2)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
@@ -115,6 +127,12 @@
// Overrides for menu building and validation
- (void)buildMenuWithBuilder:(id<UIMenuBuilder>)builder API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
- (void)validateCommand:(UICommand *)command API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+
+/// Asks the responder for an element provider to fulfill the given focus-based deferred element.
+/// Check the `identifier` of the deferred element to identify which deferred element this is.
+/// By default, this returns nil. Return a non-nil `provider` to make this responder responsible for providing
+/// elements for this fulfillment of the deferred element.
+- (nullable UIDeferredMenuElementProvider *)providerForDeferredMenuElement:(UIDeferredMenuElement *)deferredElement API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(provider(for:));
@property(nullable, nonatomic,readonly) NSUndoManager *undoManager API_AVAILABLE(ios(3.0));
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2025-04-19 04:27:47
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2025-06-03 00:34:02
@@ -13,7 +13,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-@class UISceneSession, UISceneConnectionOptions, UIOpenURLContext, UISceneOpenExternalURLOptions, UISceneActivationConditions;
+@class UISceneSession, UISceneConnectionOptions, UIOpenURLContext, UISceneOpenExternalURLOptions, UISceneActivationConditions, UISceneDestructionCondition;
@protocol UISceneDelegate;
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@@ -54,6 +54,9 @@
// use the activation conditions to influence which scene is activated for banner taps, URLs, etc.
@property (nonatomic, strong) UISceneActivationConditions *activationConditions;
+
+// Conditions that help the system shell determine whether the scene should be destroyed for certain actions
+@property (nonatomic, copy) NSSet<UISceneDestructionCondition *> *destructionConditions API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneConfiguration.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneConfiguration.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneConfiguration.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneConfiguration.h 2025-06-03 00:22:53
@@ -0,0 +1,40 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneConfiguration.h>)
+//
+// UISceneConfiguration.h
+// UIKit
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UISceneDefinitions.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIStoryboard;
+
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UISceneConfiguration : NSObject <NSCopying, NSSecureCoding>
+// Creates a UISceneConfiguration instance from your Info.plist using the name and session role provided.
+// If nil is provided for the name, the first matching instance of the provided session role is used.
+// If no matching name is found, or no descriptions of the provided session role exist in your Info.plist,
+// then an instance with a nil sceneSubclass, delegateClass, and storyboard is returned.
+// The name parameter passed in is used to lookup a predefined configuration from your app's Info.plist.
+// the returned UISceneConfiguration instance is not guaranteed to share the value of the parameter.
++ (instancetype)configurationWithName:(nullable NSString *)name sessionRole:(UISceneSessionRole)sessionRole;
+- (instancetype)initWithName:(nullable NSString *)name sessionRole:(UISceneSessionRole)sessionRole NS_DESIGNATED_INITIALIZER;
+
+@property (nonatomic, nullable, readonly) NSString *name;
+@property (nonatomic, readonly) UISceneSessionRole role;
+
+@property (nonatomic, nullable) Class sceneClass;
+@property (nonatomic, nullable) Class delegateClass;
+@property (nonatomic, nullable, strong) UIStoryboard *storyboard;
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISceneConfiguration.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDestructionCondition.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDestructionCondition.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDestructionCondition.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDestructionCondition.h 2025-06-03 00:22:45
@@ -0,0 +1,35 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneDestructionCondition.h>)
+//
+// UISceneDestructionCondition.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Specifies when UIKit destroys the current scene.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
+@interface UISceneDestructionCondition : NSObject <NSCopying>
+
+/// The scene should be destroyed when dismissed by the user.
+/// For example, swiping home on iOS, or tapping x on visionOS.
++ (instancetype)userInitiatedDismissal API_AVAILABLE(visionos(26.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/// The scene should be destroyed when disconnected by the system.
+/// For example, terminating the process, or rebooting the device.
++ (instancetype)systemDisconnection API_AVAILABLE(visionos(26.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISceneDestructionCondition.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2025-04-21 00:48:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2025-06-03 00:22:55
@@ -8,30 +8,12 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
+#import <UIKit/UISceneConfiguration.h>
#import <UIKit/UISceneDefinitions.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-@class UIScene, UIStoryboard;
-
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
-@interface UISceneConfiguration : NSObject <NSCopying, NSSecureCoding>
-// Creates a UISceneConfiguration instance from your Info.plist using the name and session role provided.
-// If nil is provided for the name, the first matching instance of the provided session role is used.
-// If no matching name is found, or no descriptions of the provided session role exist in your Info.plist,
-// then an instance with a nil sceneSubclass, delegateClass, and storyboard is returned.
-// The name parameter passed in is used to lookup a predefined configuration from your app's Info.plist.
-// the returned UISceneConfiguration instance is not guaranteed to share the value of the parameter.
-+ (instancetype)configurationWithName:(nullable NSString *)name sessionRole:(UISceneSessionRole)sessionRole;
-- (instancetype)initWithName:(nullable NSString *)name sessionRole:(UISceneSessionRole)sessionRole NS_DESIGNATED_INITIALIZER;
-
-@property (nonatomic, nullable, readonly) NSString *name;
-@property (nonatomic, readonly) UISceneSessionRole role;
-
-@property (nonatomic, nullable) Class sceneClass;
-@property (nonatomic, nullable) Class delegateClass;
-@property (nonatomic, nullable, strong) UIStoryboard *storyboard;
-@end
+@class UIScene;
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UISceneSession : NSObject <NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSizeRestrictions.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSizeRestrictions.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSizeRestrictions.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSizeRestrictions.h 2025-06-03 00:22:54
@@ -0,0 +1,39 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneSizeRestrictions.h>)
+//
+// UISceneSizeRestrictions.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Sizing preferences for the scene. Clients do not create `UISceneSizeRestrictions` directly. An instance is returned from `UIWindowScene.sizeRestrictions`
+/// if the platform supports scene resizing.
+/// - Note: The system imposes limits on each preference that may result in it not being honored.
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UISceneSizeRestrictions : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// The preferred minimum size of the scene
+@property (nonatomic, assign) CGSize minimumSize;
+
+/// The preferred maximum size of the scene
+@property (nonatomic, assign) CGSize maximumSize;
+
+/// Whether the scene supports full screen or not
+/// - Note: Currently only honored on Mac Catalyst
+@property (nonatomic) BOOL allowsFullScreen API_AVAILABLE(macCatalyst(16.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISceneSizeRestrictions.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingControlStyle.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingControlStyle.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingControlStyle.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingControlStyle.h 2025-06-03 00:22:45
@@ -0,0 +1,38 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneWindowingControlStyle.h>)
+//
+// UISceneWindowingControlStyle.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Describes the placement and style of the system windowing controls for a scene
+UIKIT_EXTERN
+NS_SWIFT_SENDABLE
+NS_SWIFT_NAME(UIWindowScene.WindowingControlStyle)
+API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UISceneWindowingControlStyle : NSObject
+
+/// Windowing controls will use the default system style
+@property (class, nonatomic, readonly) UISceneWindowingControlStyle *automaticStyle API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// Windowing controls will appear as part of the scene's content
+@property (class, nonatomic, readonly) UISceneWindowingControlStyle *unifiedStyle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+/// Windowing controls will occupy as little of the scene's space as possible
+@property (class, nonatomic, readonly) UISceneWindowingControlStyle *minimalStyle API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISceneWindowingControlStyle.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h 2025-06-03 00:22:44
@@ -0,0 +1,41 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIScrollEdgeElementContainerInteraction.h>)
+//
+// UIScrollEdgeElementContainerInteraction.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIInteraction.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIScrollView;
+
+/// Add this interaction to a container view of views that overlay the edge of a scroll view.
+/// Any descendants of this view that should affect the shape of the edge effect, such as labels, images, glass views, and controls, will automatically do so.
+///
+/// In the following example, an interaction is added to a container view of buttons that overlay the bottom edge of a scroll view.
+///
+/// let interaction = UIScrollEdgeElementContainerInteraction()
+/// interaction.scrollView = scrollView
+/// interaction.edge = .bottom
+/// buttonContainer.addInteraction(interaction)
+///
+UIKIT_FINAL UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UIScrollEdgeElementContainerInteraction : NSObject <UIInteraction>
+
+/// The scroll view to affect
+@property (nonatomic, nullable, weak, setter=_setScrollView:) UIScrollView *scrollView;
+
+/// The edge of the scroll view to affect
+@property (nonatomic, setter=_setEdge:) UIRectEdge edge;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIScrollEdgeElementContainerInteraction.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2025-04-19 04:05:05
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2025-06-03 00:34:11
@@ -46,6 +46,40 @@
UIKIT_EXTERN const UIScrollViewDecelerationRate UIScrollViewDecelerationRateNormal API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
UIKIT_EXTERN const UIScrollViewDecelerationRate UIScrollViewDecelerationRateFast API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
+/// Styles for a scroll view's edge effect.
+UIKIT_FINAL UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UIScrollEdgeEffect.Style)
+@interface UIScrollEdgeEffectStyle : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// The automatic scroll edge effect style.
+@property (nonatomic, readonly, class) UIScrollEdgeEffectStyle *automaticStyle;
+
+/// A soft-edged scroll edge effect.
+@property (nonatomic, readonly, class) UIScrollEdgeEffectStyle *softStyle;
+
+/// A scroll edge effect with a hard cutoff and dividing line.
+@property (nonatomic, readonly, class) UIScrollEdgeEffectStyle *hardStyle;
+
+@end
+
+/// Properties of the effect on a particular edge of the scroll view.
+UIKIT_FINAL UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UIScrollEdgeEffect : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// The style of this edge effect.
+@property (nonatomic, strong) UIScrollEdgeEffectStyle *style;
+
+/// Whether this edge effect is hidden.
+/// Default: false
+@property (nonatomic, getter=isHidden) BOOL hidden;
+
+@end
+
@class UIEvent, UIImageView, UIPanGestureRecognizer, UIPinchGestureRecognizer;
@protocol UIScrollViewDelegate;
@@ -145,6 +179,25 @@
// If contentOffset is set with animation, the scroll indicators will fade out when the animation completes.
- (void)withScrollIndicatorsShownForContentOffsetChanges:(void (NS_NOESCAPE ^)(void))changes API_AVAILABLE(ios(17.4)) API_UNAVAILABLE(watchos);
+/// The following properties can be used to access and modify the effect on a particular edge.
+///
+/// In the following example, the hard style is set for the top edge.
+///
+/// scrollView.topEdgeEffect.style = .hard
+///
+
+/// The effect for the top edge of the scroll view.
+@property (nonatomic, readonly) UIScrollEdgeEffect *topEdgeEffect API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// The effect for the left edge of the scroll view.
+@property (nonatomic, readonly) UIScrollEdgeEffect *leftEdgeEffect API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// The effect for the bottom edge of the scroll view.
+@property (nonatomic, readonly) UIScrollEdgeEffect *bottomEdgeEffect API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// The effect for the right edge of the scroll view.
+@property (nonatomic, readonly) UIScrollEdgeEffect *rightEdgeEffect API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
/*
Scrolling with no scroll bars is a bit complex. on touch down, we don't know if the user will want to scroll or track a subview like a control.
on touch down, we start a timer and also look at any movement. if the time elapses without sufficient change in position, we start sending events to
@@ -235,6 +288,10 @@
/// Set this to YES to make the scroll view animate its content offset in response to keys like Page Up/Down, Home/End, and the arrow keys.
/// The scroll view must be focused or first responder in order to receive these key events. Default is YES for apps linked after iOS 17.0.
@property (nonatomic, assign) BOOL allowsKeyboardScrolling API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+
+/// Defines which axes are considered for Look to Scroll.
+/// Does not affect when isPagingEnabled is true.
+@property (nonatomic) UIAxis lookToScrollAxes API_AVAILABLE(visionos(26.0)) API_UNAVAILABLE(ios, watchos, tvos);
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2025-04-19 03:50:03
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2025-06-03 00:34:04
@@ -114,7 +114,7 @@
@property (nullable, nonatomic, readwrite, strong) UIView *inputAccessoryView API_UNAVAILABLE(visionos);
/// When set to false, user interaction will be prevented and the search bar will take on a disabled appearance
-/// If the search bar is associated with a UINavigationItem with `UINavigationItemSearchBarPlacementInline`,
+/// If the search bar is associated with a UINavigationItem with `UINavigationItemSearchBarPlacementIntegrated`,
/// then the minimized (icon-only) UISearchBar will not grow to the text field while `enabled` is false.
@property (nonatomic, getter=isEnabled) BOOL enabled API_AVAILABLE(ios(16.4), tvos(16.4)) API_UNAVAILABLE(watchos); // Default YES
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2025-04-21 00:54:49
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2025-05-30 23:37:09
@@ -79,7 +79,10 @@
On tvOS, default is NO when contained in UISearchContainerViewController, YES otherwise.
*/
@property (nonatomic, assign) BOOL obscuresBackgroundDuringPresentation API_AVAILABLE(ios(9.1));
-@property (nonatomic, assign) BOOL hidesNavigationBarDuringPresentation; // default is YES
+
+/// Default is `YES` for apps linked before iOS 19.0, other than on MacCatalyst, where the default is `NO`.
+/// On iOS 19.0 and visionOS 3.0 for apps linked on iOS 19.0 and later, the value is determined by context unless directly set through the API. The default remains `NO` on MacCatalyst.
+@property (nonatomic, assign) BOOL hidesNavigationBarDuringPresentation;
@property (nullable, nonatomic, strong, readonly) UIViewController *searchResultsController;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h 2025-04-21 00:48:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTab.h 2025-06-03 00:22:51
@@ -14,6 +14,12 @@
API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos)
@interface UISearchTab : UITab
+/// Determines if the search tab should automatically activate the embedded search field when the tab becomes visible.
+///
+/// When this property is set to `YES`, the search field will be activated when the tab is selected. Moreover, when search is cancelled,
+/// the previously selected tab in the tab bar will be restored and selected. The default value is `NO`.
+@property (nonatomic, assign) BOOL automaticallyActivatesSearch API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos);
+
/// Creates a search tab with a system localized title and image.
- (instancetype)initWithViewControllerProvider:(UIViewController *(^_Nullable)(__kindof UITab *))viewControllerProvider NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISlider.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISlider.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISlider.h 2025-04-21 00:48:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISlider.h 2025-06-03 00:22:46
@@ -9,10 +9,17 @@
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <UIKit/UIControl.h>
+#import <UIKit/UISliderTrackConfiguration.h>
#import <UIKit/UIKitDefines.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+typedef NS_ENUM(NSInteger, UISliderStyle) {
+ UISliderStyleDefault, // normal slider with thumb
+ UISliderStyleThumbless, // without a thumb, typically for media playback
+} API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos)
+NS_SWIFT_NAME(UISlider.Style);
+
@class UIImageView, UIImage;
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@@ -26,6 +33,12 @@
@property(nullable, nonatomic,strong) UIImage *maximumValueImage; // default is nil. image that appears to right of control (e.g. speaker max)
@property(nonatomic,getter=isContinuous) BOOL continuous; // if set, value change events are generated any time the value changes due to dragging. default = YES
+
+// Defines how the slider track behaves
+@property(nonatomic, copy, nullable) UISliderTrackConfiguration *trackConfiguration API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos) NS_REFINED_FOR_SWIFT;
+
+// Allows adjusting the slider styling
+@property (nonatomic) UISliderStyle sliderStyle API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos);
@property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
@property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISliderTrackConfiguration.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISliderTrackConfiguration.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISliderTrackConfiguration.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISliderTrackConfiguration.h 2025-06-03 00:22:55
@@ -0,0 +1,49 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISliderTrackConfiguration.h>)
+//
+// UISliderTrackConfiguration.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIImage.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UISliderTick : NSObject <NSCopying, NSCoding>
+
+@property (nonatomic, readonly) float position;
+@property (nonatomic, readwrite, copy, nullable) NSString *title;
+@property (nonatomic, readwrite, copy, nullable) UIImage *image;
+
++ (instancetype)tickWithPosition:(float)position title:(nullable NSString *)title image:(nullable UIImage *)image NS_SWIFT_NAME(tick(position:title:image:));
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(tvos, watchos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UISliderTrackConfiguration : NSObject <NSCopying, NSCoding>
+
+@property (nonatomic, readwrite) BOOL allowsTickValuesOnly; // defaults to YES
+@property (nonatomic, readwrite) float neutralValue;
+@property (nonatomic, readwrite) float minimumEnabledValue;
+@property (nonatomic, readwrite) float maximumEnabledValue;
+@property (nonatomic, readonly, copy) NSArray<UISliderTick *> *ticks;
+
++ (instancetype)configurationWithTicks:(NSArray<UISliderTick *> *)ticks NS_SWIFT_NAME(configuration(ticks:));
++ (instancetype)configurationWithNumberOfTicks:(NSInteger)ticks NS_SWIFT_NAME(configuration(numberOfTicks:));
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISliderTrackConfiguration.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h 2025-04-19 03:50:08
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h 2025-05-31 00:16:25
@@ -50,6 +50,7 @@
UISplitViewControllerColumnSupplementary, // Valid for UISplitViewControllerStyleTripleColumn only
UISplitViewControllerColumnSecondary,
UISplitViewControllerColumnCompact, // If a vc is set for this column, it will be used when the UISVC is collapsed, instead of stacking the vc’s for the Primary, Supplementary, and Secondary columns
+ UISplitViewControllerColumnInspector API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos),
} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
// Allowed displayModes depend on the splitBehavior
@@ -79,15 +80,16 @@
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithStyle:(UISplitViewControllerStyle)style NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) UISplitViewControllerStyle style API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // For information only, will not be called from UIKit code
+
+@property (nonatomic, readonly) UISplitViewControllerStyle style API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // For information only, will not be called from UIKit code
@property (nullable, nonatomic, weak) id <UISplitViewControllerDelegate> delegate;
// Default NO. The secondary-only shortcut button is applicable only for UISplitViewControllerStyleTripleColumn
-@property(nonatomic) BOOL showsSecondaryOnlyButton API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(visionos, watchos);
+@property (nonatomic) BOOL showsSecondaryOnlyButton API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(visionos, watchos);
// Controls allowed display modes
-@property(nonatomic) UISplitViewControllerSplitBehavior preferredSplitBehavior API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // default Automatic, actual behavior will be determined by width buckets and view aspect ration
-@property(nonatomic, readonly) UISplitViewControllerSplitBehavior splitBehavior API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic) UISplitViewControllerSplitBehavior preferredSplitBehavior API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // default Automatic, actual behavior will be determined by width buckets and view aspect ration
+@property (nonatomic, readonly) UISplitViewControllerSplitBehavior splitBehavior API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
- (void)setViewController:(nullable UIViewController *)vc forColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // If the vc is not a UINavigationController, one will be created, except for UISplitViewControllerColumnCompact.
- (nullable __kindof UIViewController *)viewControllerForColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
@@ -117,13 +119,16 @@
- (void)hideColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
- (void)showColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+// Returns whether a given column is visible in the split view controller.
+- (BOOL)isShowingColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
@property (nonatomic, copy) NSArray<__kindof UIViewController *> *viewControllers; // -setViewController:forColumn:/-viewControllerForColumn: recommended for column-style UISplitViewController
// If 'YES', hidden view can be presented and dismissed via a swipe gesture. Defaults to 'YES'.
@property (nonatomic) BOOL presentsWithGesture API_AVAILABLE(ios(5.1)) API_UNAVAILABLE(visionos);
-// Specifies whether the split view controller has collapsed its primary and secondary view controllers together
-@property(nonatomic, readonly, getter=isCollapsed) BOOL collapsed API_AVAILABLE(ios(8.0));
+// Specifies whether the split view controller has collapsed its primary and secondary view controllers together.
+@property (nonatomic, readonly, getter=isCollapsed) BOOL collapsed API_AVAILABLE(ios(8.0));
// An animatable property that controls how the primary view controller is hidden and displayed. A value of `UISplitViewControllerDisplayModeAutomatic` specifies the default behavior split view controller, which on an iPad, corresponds to an overlay mode in portrait and a side-by-side mode in landscape.
@property (nonatomic) UISplitViewControllerDisplayMode preferredDisplayMode API_AVAILABLE(ios(8.0));
@@ -140,36 +145,71 @@
Set to UISplitViewControllerDisplayModeButtonVisibilityNever to prevent the displayModeButton from showing.
Set to UISplitViewControllerDisplayModeButtonVisibilityAlways to allow the displayModeButton to show when presentsWithGesture is NO. Note that in displayModes that would not be expected to show the button when presentsWithGesture is YES (e.g., UISplitViewControllerDisplayModeTwoOverSecondary), a value of Always will not force the button to show.
*/
-@property(nonatomic) UISplitViewControllerDisplayModeButtonVisibility displayModeButtonVisibility API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(visionos, watchos); // default: automatic
+@property (nonatomic) UISplitViewControllerDisplayModeButtonVisibility displayModeButtonVisibility API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(visionos, watchos); // default: automatic
-// An animatable property that can be used to adjust the relative width of the primary view controller in the split view controller. This preferred width will be limited by the maximum and minimum properties (and potentially other system heuristics).
-@property(nonatomic, assign) CGFloat preferredPrimaryColumnWidthFraction API_AVAILABLE(ios(8.0)); // default: UISplitViewControllerAutomaticDimension
+// An animatable property that specifies the preferred relative width of the primary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat preferredPrimaryColumnWidthFraction API_AVAILABLE(ios(8.0));
-// Allow setting the primary column width with point values. This is especially useful in Catalyst where the window may be resized more often.
-// If set to non-Automatic, takes precedence over preferredPrimaryColumnWidthFraction.
-@property(nonatomic, assign) CGFloat preferredPrimaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // default: UISplitViewControllerAutomaticDimension
+// An animatable property that specifies the preferred absolute width of the primary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+// If set to non-automatic, takes precedence over preferredPrimaryColumnWidthFraction.
+@property (nonatomic, assign) CGFloat preferredPrimaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-// An animatable property that can be used to adjust the minimum absolute width of the primary view controller in the split view controller.
-@property(nonatomic, assign) CGFloat minimumPrimaryColumnWidth API_AVAILABLE(ios(8.0)); // default: UISplitViewControllerAutomaticDimension
+// An animatable property that specifies the minimum absolute width of the primary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat minimumPrimaryColumnWidth API_AVAILABLE(ios(8.0));
-// An animatable property that can be used to adjust the maximum absolute width of the primary view controller in the split view controller.
-@property(nonatomic, assign) CGFloat maximumPrimaryColumnWidth API_AVAILABLE(ios(8.0)); // default: UISplitViewControllerAutomaticDimension
+// An animatable property that specifies the maximum absolute width of the primary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat maximumPrimaryColumnWidth API_AVAILABLE(ios(8.0));
-// The current primary view controller's column width.
-@property(nonatomic,readonly) CGFloat primaryColumnWidth API_AVAILABLE(ios(8.0));
+// The current width of the primary column.
+@property (nonatomic, readonly) CGFloat primaryColumnWidth API_AVAILABLE(ios(8.0));
-// Same as the "Primary" versions but applying to the Supplementary column for the triple-column style UISplitViewController
-@property(nonatomic, assign) CGFloat preferredSupplementaryColumnWidthFraction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-@property(nonatomic, assign) CGFloat preferredSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-@property(nonatomic, assign) CGFloat minimumSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-@property(nonatomic, assign) CGFloat maximumSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) CGFloat supplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+// An animatable property that specifies the preferred relative width of the supplementary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat preferredSupplementaryColumnWidthFraction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-// The edge of the UISplitViewController where the primary view controller should be positioned
-@property(nonatomic) UISplitViewControllerPrimaryEdge primaryEdge API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos); // default: UISplitViewControllerPrimaryEdgeLeading
+// An animatable property that specifies the preferred absolute width of the supplementary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+// If set to non-automatic, takes precedence over preferredSupplementaryColumnWidthFraction.
+@property (nonatomic, assign) CGFloat preferredSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+// An animatable property that specifies the minimum absolute width of the supplementary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat minimumSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+
+// An animatable property that specifies the maximum absolute width of the supplementary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat maximumSupplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+
+// The current width of the supplementary column.
+@property (nonatomic, readonly) CGFloat supplementaryColumnWidth API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+
+
+// An animatable property that specifies the preferred relative width of the secondary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat preferredSecondaryColumnWidthFraction API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+// An animatable property that specifies the preferred absolute width of the secondary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+// If set to non-automatic, takes precedence over preferredSecondaryColumnWidthFraction.
+@property (nonatomic, assign) CGFloat preferredSecondaryColumnWidth API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+// An animatable property that specifies the minimum absolute width of the secondary column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat minimumSecondaryColumnWidth API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+
+// An animatable property that specifies the preferred relative width of the inspector column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat preferredInspectorColumnWidthFraction API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+// An animatable property that specifies the preferred absolute width of the inspector column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+// If set to non-automatic, takes precedence over preferredInspectorColumnWidthFraction.
+@property (nonatomic, assign) CGFloat preferredInspectorColumnWidth API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+// An animatable property that specifies the minimum absolute width of the inspector column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat minimumInspectorColumnWidth API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+// An animatable property that specifies the maximum absolute width of the inspector column in the split view controller. Default is UISplitViewControllerAutomaticDimension.
+@property (nonatomic, assign) CGFloat maximumInspectorColumnWidth API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(tvos, visionos, watchos);
+
+
+// The edge of the UISplitViewController where the primary view controller should be positioned.
+@property (nonatomic) UISplitViewControllerPrimaryEdge primaryEdge API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos); // default: UISplitViewControllerPrimaryEdgeLeading
+
// In a horizontally-regular environment this will set either the master or detail view controller depending on the original target. In a compact environment this defaults to a full screen presentation. In general the master or detail view controller will have implemented showViewController:sender: so this method would not be invoked.
- (void)showViewController:(UIViewController *)vc sender:(nullable id)sender API_AVAILABLE(ios(8.0));
@@ -247,6 +287,8 @@
- (void)splitViewControllerDidExpand:(UISplitViewController *)svc API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
- (void)splitViewController:(UISplitViewController *)svc willShowColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
- (void)splitViewController:(UISplitViewController *)svc willHideColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+- (void)splitViewController:(UISplitViewController *)svc didShowColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+- (void)splitViewController:(UISplitViewController *)svc didHideColumn:(UISplitViewControllerColumn)column API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
- (void)splitViewControllerInteractivePresentationGestureWillBegin:(UISplitViewController *)svc API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
- (void)splitViewControllerInteractivePresentationGestureDidEnd:(UISplitViewController *)svc API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewControllerLayoutEnvironment.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewControllerLayoutEnvironment.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewControllerLayoutEnvironment.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewControllerLayoutEnvironment.h 2025-06-03 00:22:46
@@ -0,0 +1,31 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISplitViewControllerLayoutEnvironment.h>)
+//
+// UISplitViewControllerLayoutEnvironment.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UITrait.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSInteger, UISplitViewControllerLayoutEnvironment) {
+ /// There is no containing split view controller.
+ UISplitViewControllerLayoutEnvironmentNone,
+ /// Contained within an expanded split view controller.
+ UISplitViewControllerLayoutEnvironmentExpanded,
+ /// Contained within a collapsed split view controller.
+ UISplitViewControllerLayoutEnvironmentCollapsed
+} API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(UISplitViewController.LayoutEnvironment);
+
+/// A trait that specifies whether an ancestor split view controller, if any, is expanded or collapsed.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT
+@interface UITraitSplitViewControllerLayoutEnvironment : NSObject <UINSIntegerTraitDefinition>
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISplitViewControllerLayoutEnvironment.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolContentTransition.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolContentTransition.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolContentTransition.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolContentTransition.h 2025-06-03 00:22:54
@@ -0,0 +1,41 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISymbolContentTransition.h>)
+//
+// UISymbolContentTransition.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+@class NSSymbolContentTransition, NSSymbolEffectOptions;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Represents a symbol content transition and options.
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
+@interface UISymbolContentTransition : NSObject <NSCopying, NSSecureCoding>
+
+/// The symbol content transition.
+@property (nonatomic, strong, readonly) NSSymbolContentTransition *contentTransition NS_REFINED_FOR_SWIFT;
+
+/// Options for the symbol content transition.
+@property (nonatomic, strong, readonly) NSSymbolEffectOptions *options NS_REFINED_FOR_SWIFT;
+
+/// Initializes a `UISymbolContentTransition` with a symbol content transition.
++ (instancetype)transitionWithContentTransition:(NSSymbolContentTransition *)contentTransition NS_REFINED_FOR_SWIFT;
+
+/// Initializes a `UISymbolContentTransition` with a symbol content transition and options.
++ (instancetype)transitionWithContentTransition:(NSSymbolContentTransition *)contentTransition options:(NSSymbolEffectOptions *)options NS_REFINED_FOR_SWIFT;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISymbolContentTransition.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h 2025-04-21 00:48:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITab.h 2025-06-04 00:36:58
@@ -81,7 +81,7 @@
#pragma mark Managed Navigation
-/// The managing tab group for the tab. This returns the rootmost `UITabGroup` in the tab's parent hierarchy with an
+/// The managing tab group for the tab. This returns the root-most `UITabGroup` in the tab's parent hierarchy with an
/// active `managingNavigationController`. This can be different to `parent` if the tab is nested in multiple
/// levels of tab groups. If the tab does not belong to a hierarchy with a managing navigation controller, then this
/// will return nil. Default is nil.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabAccessory.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabAccessory.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabAccessory.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabAccessory.h 2025-06-03 00:22:51
@@ -0,0 +1,65 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITabAccessory.h>)
+//
+// UITabAccessory.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UITrait.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIView;
+
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos)
+@interface UITabAccessory: NSObject
+
+/// The content view of the accessory.
+@property (nonatomic, strong, nonnull, readonly) UIView *contentView;
+
+/// Creates a new accessory with the specified content view.
+- (instancetype)initWithContentView:(UIView *)contentView NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - UITabAccessoryEnvironment
+
+typedef NS_ENUM(NSInteger, UITabAccessoryEnvironment) {
+ /// Indicates the absence of any information about whether or not the trait collection is
+ /// from a view that is in a tab accessory.
+ UITabAccessoryEnvironmentUnspecified,
+
+ /// The trait collection is from a view that is not in an active tab accessory environment.
+ UITabAccessoryEnvironmentNone,
+
+ /// The environment for when the accessory is laid out either:
+ /// - above the bottom tab bar when it is visible; or,
+ /// - at the bottom of the UITabBarController's view.
+ UITabAccessoryEnvironmentRegular,
+
+ /// The environment for when the accessory is laid out inline with
+ /// the collapsed bottom tab bar.
+ UITabAccessoryEnvironmentInline,
+} API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos) NS_SWIFT_NAME(UITabAccessory.Environment);
+
+#pragma mark UITraitTabAccessoryEnvironment
+
+/// A trait that specifies the UITabAccessoryEnvironment, if any, that a view is in. It is set on views inside
+/// UITabBarController.bottomAccessory. Defaults to UITabAccessoryEnvironmentUnspecified.
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
+API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos)
+@interface UITraitTabAccessoryEnvironment : NSObject <UINSIntegerTraitDefinition>
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITabAccessory.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h 2025-04-21 00:48:30
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h 2025-05-31 00:16:28
@@ -29,7 +29,23 @@
} 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;
+typedef NS_ENUM(NSInteger, UITabBarMinimizeBehavior) {
+ /// Resolves to the system default minimize behavior.
+ UITabBarMinimizeBehaviorAutomatic = 0,
+
+ /// The tab bar does not minimize.
+ UITabBarMinimizeBehaviorNever API_UNAVAILABLE(tvos, visionos),
+
+ /// The tab bar minimizes when scrolling down, and expands when scrolling back up.
+ UITabBarMinimizeBehaviorOnScrollDown API_UNAVAILABLE(tvos, visionos),
+
+ /// The tab bar minimizes when scrolling up, and expands when scrolling back down.
+ /// Recommended if the scroll view content is aligned to the bottom.
+ UITabBarMinimizeBehaviorOnScrollUp API_UNAVAILABLE(tvos, visionos),
+
+} NS_SWIFT_NAME(UITabBarController.MinimizeBehavior) API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+@class UIView, UIImage, UINavigationController, UITabBarItem, UITabBarControllerSidebar, UITab, UITabGroup, UITabAccessory;
@protocol UITabBarControllerDelegate;
/*!
@@ -47,26 +63,37 @@
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.
+/// The object managing the delegate of the tab bar controller.
+///
+/// The default value for this property is `nil`.
@property(nonatomic, weak, nullable) id<UITabBarControllerDelegate> delegate;
-/// The object managing the tab sidebar for the tab bar controller. Default is `UITabBarControllerModeAutomatic`
+/// The object managing the tab sidebar for the tab bar controller.
+///
+/// The default value for this property 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.
+/// 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 customization 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.
+/// An optional filter to display only select root-level tabs when in a compact appearance.
+///
+/// The default value is 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 their descendants. Default is nil.
+/// The currently selected tab, which can be a root tab or any of their descendants.
+///
+/// The default value for this property 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.
+/// An array of root tabs representing view controllers to display by the tab bar interface.
+///
/// 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);
@@ -79,14 +106,32 @@
/// 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.
+/// Defines the minimize behavior for the tab bar, if it is supported.
+///
+/// The default value for this property is `UITabBarMinimizeBehaviorAutomatic`.
+@property (nonatomic, assign) UITabBarMinimizeBehavior tabBarMinimizeBehavior API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// Determines if the active tab bar is currently hidden.
+///
+/// The default value for this property 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);
+/// The content layout guide provides the layout area for the UITabBarController unobscured by the tab bar or sidebar.
+@property (nonatomic, strong, readonly) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// An optional bottom accessory of the tab bar controller.
+///
+/// The default value for this property is `nil`.
+@property (nonatomic, strong, nullable) UITabAccessory *bottomAccessory API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
+
+/// Sets a bottom accessory with an option to animate the change.
+- (void)setBottomAccessory:(nullable UITabAccessory *)bottomAccessory animated:(BOOL)animated API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
+
@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.
- (void)setViewControllers:(NSArray<__kindof UIViewController *> * __nullable)viewControllers animated:(BOOL)animated;
@@ -106,19 +151,25 @@
@optional
-/// Return YES if the specified `tab` can be selected by the user. Otherwise, return NO.
+/// Asks the delegate whether the specified tab should be made active.
+///
+/// Return @c YES if the specified @c tab can be selected by the user. Otherwise, return @c 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.
+/// Tells the delegate that the user selected the specified @c selectedTab in the tab bar controller.
+///
+/// This specified @c selectedTab is either a root tab or any of their descendants.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectTab:(UITab *)selectedTab previousTab:(nullable UITab *)previousTab 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.
+/// Asks the delegate for a drop operation to determine if drag items can be dropped into the specified @c 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.
+/// Notifies the delegate to perform a drop into the specified @c tab from the specified session.
+///
+/// This is only called if the 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.
@@ -130,7 +181,7 @@
/// 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.
+/// Notifies the delegate 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);
/// Used with `UITabGroup.managingNavigationController`, this method allows the delegate to customize the displayed view controllers
@@ -141,7 +192,7 @@
///
/// @param tabBarController The tab bar controller managed by the delegate.
/// @param tab The tab for which the displayed view controllers is being requested for by its `managingTabGroup`. Each tab in the selection hierarchy will be called once.
-/// @param proposedViewControllers The proposed view controllers for the given tab. In general, the propoesd view controller is a single-item array of the tab's viewController. If other view controllers are pushed onto the navigation stack, they will be part of the last (leafmost) tab's `proposedViewControllers` such that they are preserved between updates.
+/// @param proposedViewControllers The proposed view controllers for the given tab. In general, the proposed view controller is a single-item array of the tab's viewController. If other view controllers are pushed onto the navigation stack, they will be part of the last (leaf-most) tab's `proposedViewControllers` such that they are preserved between updates.
///
/// @return A list of view controllers represented by the tab in the navigation stack.
- (NSArray<UIViewController *> *)tabBarController:(UITabBarController *)tabBarController
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h 2025-04-19 04:05:01
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h 2025-05-30 23:37:15
@@ -140,7 +140,7 @@
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
+/// The passed in item will accrue 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
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h 2025-04-19 03:50:06
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabGroup.h 2025-05-31 00:23:44
@@ -60,7 +60,7 @@
/// A navigation controller used to automatically manage the view controller hierarchy of the group.
/// Set a `UINavigationController` to allow the tab group to manage the hierarchy automatically.
/// The navigation stack of the managing navigation controller will be managed by the tab group based on
-/// the selected tab of the group. When multiple navigation controllers are set on nested groups, the rootmost
+/// the selected tab of the group. When multiple navigation controllers are set on nested groups, the root-most
/// controller is used. Default is nil.
///
/// By default, the navigation stack is represented by the view controller of each tab of the selected tree, if a
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h 2025-04-21 00:48:27
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabSidebarItem.h 2025-06-03 00:22:50
@@ -31,7 +31,7 @@
/// 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.
+/// The content configuration 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.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h 2025-04-21 00:48:25
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h 2025-05-31 00:23:43
@@ -73,7 +73,6 @@
@property(nonatomic) BOOL allowsEditingTextAttributes API_AVAILABLE(ios(6.0)); // default is NO. allows editing text attributes with style operations and pasting rich text
@property(nullable, nonatomic,copy) NSDictionary<NSAttributedStringKey,id> *typingAttributes API_AVAILABLE(ios(6.0)); // automatically resets when the selection changes
-
// You can supply custom views which are displayed at the left or right
// sides of the text field. Uses for such views could be to show an icon or
// a button to operate on the text in the field in an application-defined
@@ -148,7 +147,19 @@
- (void)textFieldDidEndEditing:(UITextField *)textField; // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called
- (void)textFieldDidEndEditing:(UITextField *)textField reason:(UITextFieldDidEndEditingReason)reason API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos); // if implemented, called in place of textFieldDidEndEditing:
-- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text
+- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string API_DEPRECATED_WITH_REPLACEMENT("-textField:shouldChangeCharactersInRanges:replacementString:", ios(2.0, API_TO_BE_DEPRECATED)); // return NO to not change text
+/**
+ * @abstract Asks the delegate if the text at the specified `ranges` should be replaced with `string`.
+ *
+ * @discussion If this method returns YES then the text field will, at its own discretion, choose any one of the specified `ranges` of text and replace it with the specified `replacementString` before deleting the text at the other ranges.
+ *
+ * @param textField The text field asking the delegate
+ * @param ranges The ranges of the text that should be deleted before replacing
+ * @param replacementString The replacement string
+ *
+ * @return Returns YES if the text at the `ranges` should be replaced.
+ */
+- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRanges:(NSArray<NSValue *> *)ranges replacementString:(NSString *)string API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0));
- (void)textFieldDidChangeSelection:(UITextField *)textField API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
@@ -164,7 +175,18 @@
*
* @return Return a UIMenu describing the desired menu hierarchy. Return @c nil to present the default system menu.
*/
-- (nullable UIMenu *)textField:(UITextField *)textField editMenuForCharactersInRange:(NSRange)range suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
+- (nullable UIMenu *)textField:(UITextField *)textField editMenuForCharactersInRange:(NSRange)range suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_UNAVAILABLE(watchos) API_DEPRECATED_WITH_REPLACEMENT("-textField:editMenuForCharactersInRanges:suggestedActions", ios(16.0, API_TO_BE_DEPRECATED));
+
+/**
+ * @abstract Asks the delegate for the menu to be shown for the specified `ranges`.
+ *
+ * @param textField The text field requesting the menu.
+ * @param ranges The text ranges for which the menu is presented for.
+ * @param suggestedActions The actions and commands that the system suggests.
+ *
+ * @return Return a UIMenu describing the desired menu hierarchy. Return @c nil to present the default system menu.
+ */
+- (nullable UIMenu *)textField:(UITextField *)textField editMenuForCharactersInRanges:(NSArray<NSValue *> *)ranges suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0));
/**
* @abstract Called when the text field is about to present the edit menu.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewController.h 2025-04-19 03:50:02
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewController.h 2025-05-30 23:45:24
@@ -20,7 +20,7 @@
#pragma mark - UITextFormattingViewControllerDelegate
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR NS_REFINED_FOR_SWIFT
@protocol UITextFormattingViewControllerDelegate <NSObject>
/// Delegate method that will be invoked on any text formatting changes.
@@ -64,7 +64,7 @@
#pragma mark - UITextFormattingViewController
/// A view controller that manages the interface for common text formatting options.
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UITextFormattingViewController : UIViewController
/// Current text formatting configuration object.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerChangeValue.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerChangeValue.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerChangeValue.h 2025-04-21 00:54:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerChangeValue.h 2025-05-30 23:37:20
@@ -20,32 +20,32 @@
#pragma mark - UITextFormattingViewControllerChangeType
/// Enumeration of text formatting actions.
-typedef NSString * UITextFormattingViewControllerChangeType NS_TYPED_ENUM NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerUndefinedChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetBoldChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveBoldChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetItalicChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveItalicChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetUnderlineChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveUnderlineChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetStrikethroughChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveStrikethroughChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFontChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerIncreaseFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerDecreaseFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextColorChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerLineHeightPointSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerIncreaseIndentationChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerDecreaseIndentationChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFormattingStyleChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextListChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextAlignmentChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerHighlightChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+typedef NSString * UITextFormattingViewControllerChangeType NS_TYPED_ENUM NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerUndefinedChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetBoldChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveBoldChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetItalicChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveItalicChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetUnderlineChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveUnderlineChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerSetStrikethroughChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerRemoveStrikethroughChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFontChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerIncreaseFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerDecreaseFontSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextColorChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerLineHeightPointSizeChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerIncreaseIndentationChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerDecreaseIndentationChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerFormattingStyleChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextListChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerTextAlignmentChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerChangeType const UITextFormattingViewControllerHighlightChangeType NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - UITextFormattingViewControllerChangeValue
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
/// Describes text formatting change that is a result of user action.
/// Contains type of change, any associated value that may be applicable to that change.
@interface UITextFormattingViewControllerChangeValue : NSObject <NSCopying, NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerComponent.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerComponent.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerComponent.h 2025-04-19 04:04:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerComponent.h 2025-05-30 23:45:27
@@ -14,21 +14,21 @@
#pragma mark - UITextFormattingViewControllerComponentKey
/// Predefined text formatting view controller components.
-typedef NSString * UITextFormattingViewControllerComponentKey NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.ComponentKey) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+typedef NSString * UITextFormattingViewControllerComponentKey NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.ComponentKey) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFormattingStylesComponentKey NS_SWIFT_NAME(formattingStyles) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontAttributesComponentKey NS_SWIFT_NAME(fontAttributes) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontPickerComponentKey NS_SWIFT_NAME(fontPicker) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontSizeComponentKey NS_SWIFT_NAME(fontSize) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontPointSizeComponentKey NS_SWIFT_NAME(fontPointSize) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextAlignmentComponentKey NS_SWIFT_NAME(textAlignment) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextAlignmentAndJustificationComponentKey NS_SWIFT_NAME(textAlignmentAndJustification) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextIndentationComponentKey NS_SWIFT_NAME(textIndentation) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerLineHeightComponentKey NS_SWIFT_NAME(lineHeight) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerListStylesComponentKey NS_SWIFT_NAME(listStyles) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextColorComponentKey NS_SWIFT_NAME(textColor) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerHighlightComponentKey NS_SWIFT_NAME(highlight) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerHighlightPickerComponentKey NS_SWIFT_NAME(highlightPicker) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFormattingStylesComponentKey NS_SWIFT_NAME(formattingStyles) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontAttributesComponentKey NS_SWIFT_NAME(fontAttributes) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontPickerComponentKey NS_SWIFT_NAME(fontPicker) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontSizeComponentKey NS_SWIFT_NAME(fontSize) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerFontPointSizeComponentKey NS_SWIFT_NAME(fontPointSize) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextAlignmentComponentKey NS_SWIFT_NAME(textAlignment) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextAlignmentAndJustificationComponentKey NS_SWIFT_NAME(textAlignmentAndJustification) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextIndentationComponentKey NS_SWIFT_NAME(textIndentation) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerLineHeightComponentKey NS_SWIFT_NAME(lineHeight) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerListStylesComponentKey NS_SWIFT_NAME(listStyles) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerTextColorComponentKey NS_SWIFT_NAME(textColor) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerHighlightComponentKey NS_SWIFT_NAME(highlight) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerComponentKey const UITextFormattingViewControllerHighlightPickerComponentKey NS_SWIFT_NAME(highlightPicker) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - _UITextFormattingViewControllerComponentSize
@@ -40,11 +40,11 @@
UITextFormattingViewControllerComponentSizeRegular = 3,
UITextFormattingViewControllerComponentSizeLarge = 4,
UITextFormattingViewControllerComponentSizeExtraLarge = 5,
-} NS_SWIFT_NAME(UITextFormattingViewController.ComponentSize) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+} NS_SWIFT_NAME(UITextFormattingViewController.ComponentSize) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - UITextFormattingViewControllerComponent
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.Component)
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.Component)
/// Defines text formatting view component.
@interface UITextFormattingViewControllerComponent : NSObject <NSCopying, NSSecureCoding>
@@ -69,7 +69,7 @@
#pragma mark - UITextFormattingViewControllerComponentGroup
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.ComponentGroup)
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.ComponentGroup)
/// Defines grouping of text formatting components in view.
@interface UITextFormattingViewControllerComponentGroup : NSObject <NSCopying, NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerConfiguration.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerConfiguration.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerConfiguration.h 2025-04-21 00:48:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerConfiguration.h 2025-06-03 00:22:55
@@ -19,7 +19,7 @@
#pragma mark - UITextFormattingViewControllerConfiguration
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.Configuration)
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_NAME(UITextFormattingViewController.Configuration)
/// Text formatting view controller configuration object.
@interface UITextFormattingViewControllerConfiguration : NSObject <NSCopying, NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingDescriptor.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingDescriptor.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingDescriptor.h 2025-04-21 00:54:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingDescriptor.h 2025-06-03 00:22:54
@@ -17,39 +17,39 @@
#pragma mark - UITextFormattingViewControllerTextAlignment
/// Text formatting horizontal alignment state.
-typedef NSString * UITextFormattingViewControllerTextAlignment NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.TextAlignment) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+typedef NSString * UITextFormattingViewControllerTextAlignment NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.TextAlignment) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentLeft NS_SWIFT_NAME(left) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentCenter NS_SWIFT_NAME(center) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentRight NS_SWIFT_NAME(right) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentJustified NS_SWIFT_NAME(justified) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentNatural NS_SWIFT_NAME(natural) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentLeft NS_SWIFT_NAME(left) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentCenter NS_SWIFT_NAME(center) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentRight NS_SWIFT_NAME(right) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentJustified NS_SWIFT_NAME(justified) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextAlignment const UITextFormattingViewControllerTextAlignmentNatural NS_SWIFT_NAME(natural) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - UITextFormattingViewControllerTextList
/// Text formatting text list state.
-typedef NSString * UITextFormattingViewControllerTextList NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.TextList) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+typedef NSString * UITextFormattingViewControllerTextList NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.TextList) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListDisc NS_SWIFT_NAME(disc) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListHyphen NS_SWIFT_NAME(hyphen) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListDecimal NS_SWIFT_NAME(decimal) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListOther NS_SWIFT_NAME(other) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListDisc NS_SWIFT_NAME(disc) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListHyphen NS_SWIFT_NAME(hyphen) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListDecimal NS_SWIFT_NAME(decimal) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerTextList const UITextFormattingViewControllerTextListOther NS_SWIFT_NAME(other) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - UITextFormattingViewControllerHighlight
/// Text formatting highlight state.
-typedef NSString * UITextFormattingViewControllerHighlight NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.Highlight) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+typedef NSString * UITextFormattingViewControllerHighlight NS_TYPED_ENUM NS_SWIFT_NAME(UITextFormattingViewController.Highlight) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightDefault NS_SWIFT_NAME(default) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightPurple NS_SWIFT_NAME(purple) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightPink NS_SWIFT_NAME(pink) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightOrange NS_SWIFT_NAME(orange) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightMint NS_SWIFT_NAME(mint) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightBlue NS_SWIFT_NAME(blue) API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightDefault NS_SWIFT_NAME(default) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightPurple NS_SWIFT_NAME(purple) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightPink NS_SWIFT_NAME(pink) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightOrange NS_SWIFT_NAME(orange) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightMint NS_SWIFT_NAME(mint) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
+UIKIT_EXTERN UITextFormattingViewControllerHighlight const UITextFormattingViewControllerHighlightBlue NS_SWIFT_NAME(blue) API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
#pragma mark - UITextFormattingViewControllerFormattingDescriptor
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
/// Object that represents current text formatting state.
/// This can apply to formatting state of some selected range of text or currently applicable input formatting.
@interface UITextFormattingViewControllerFormattingDescriptor : NSObject <NSCopying, NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingStyle.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingStyle.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingStyle.h 2025-04-21 00:48:25
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextFormattingViewControllerFormattingStyle.h 2025-06-03 00:22:48
@@ -13,7 +13,7 @@
#pragma mark - UITextFormattingViewControllerFormattingStyle
-UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
+UIKIT_EXTERN API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT
/// Type that defines formatting style presented in text formatting view.
@interface UITextFormattingViewControllerFormattingStyle : NSObject <NSCopying, NSSecureCoding>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h 2025-04-19 04:04:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h 2025-05-30 23:37:09
@@ -271,8 +271,8 @@
/// Inserts the user or system’s input suggestion into the document.
- (void)insertInputSuggestion:(UIInputSuggestion *)inputSuggestion API_AVAILABLE(ios(18.4)) API_UNAVAILABLE(tvos, watchos, visionos, macCatalyst);
-@end
+@end
//---------------------------------------------------------------------------------------------------
/* UITextInput keys to style dictionaries are deprecated. Use NSAttributedString keys instead, such as NSFontAttribute, etc. */
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h 2025-04-23 23:25:23
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h 2025-06-03 00:34:03
@@ -209,6 +209,9 @@
/// implies `RichText`, and Writing Tools may provide attributes for tabular layout
UIWritingToolsResultTable = 1 << 3,
+
+ /// implies `RichText`, `List`, and `Table`, and Writing Tools may provide text with presentation intent attributes. Writing Tools will use `NSPresentationIntent` instead of `NSTextList` and `NSTextTable` to represent lists and tables.
+ UIWritingToolsResultPresentationIntent API_AVAILABLE(ios(26.0), visionos(26.0)) = 1 << 4,
} API_AVAILABLE(ios(18.0), visionos(2.4)) API_UNAVAILABLE(tvos, watchos);
typedef NSString * UITextContentType NS_TYPED_ENUM API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h 2025-04-19 03:50:11
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h 2025-05-31 00:16:28
@@ -39,7 +39,20 @@
- (void)textViewDidBeginEditing:(UITextView *)textView;
- (void)textViewDidEndEditing:(UITextView *)textView;
-- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
+- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text API_DEPRECATED_WITH_REPLACEMENT("-textView:shouldChangeTextInRanges:replacementText:", ios(2.0, API_TO_BE_DEPRECATED));
+/**
+ * @abstract Asks the delegate if the text at the specified `ranges` should be replaced with `text`.
+ *
+ * @discussion If this method returns YES then the text view will, at its own discretion, choose any one of the specified `ranges` of text and replace it with the specified `replacementText` before deleting the text at the other ranges.
+ *
+ * @param textView The text view asking the delegate
+ * @param ranges The ranges of the text that should be deleted before replacing
+ * @param replacementText The replacement text
+ *
+ * @return Returns true if the text at the `ranges` should be replaced.
+ */
+- (BOOL)textView:(UITextView *)textView shouldChangeTextInRanges:(NSArray<NSValue *> *)ranges replacementText:(NSString *)text API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0));
+
- (void)textViewDidChange:(UITextView *)textView;
- (void)textViewDidChangeSelection:(UITextView *)textView;
@@ -53,9 +66,20 @@
*
* @return Return a UIMenu describing the desired menu hierarchy. Return @c nil to present the default system menu.
*/
-- (nullable UIMenu *)textView:(UITextView *)textView editMenuForTextInRange:(NSRange)range suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
+- (nullable UIMenu *)textView:(UITextView *)textView editMenuForTextInRange:(NSRange)range suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_UNAVAILABLE(watchos) API_DEPRECATED_WITH_REPLACEMENT("-textView:editMenuForTextInRanges:suggestedActions:", ios(16.0, API_TO_BE_DEPRECATED));
/**
+ * @abstract Asks the delegate for the menu to be shown for the specified text ranges.
+ *
+ * @param textView The text view requesting the menu.
+ * @param ranges The text ranges for which the menu is presented for.
+ * @param suggestedActions The actions and commands that the system suggests.
+ *
+ * @return Return a UIMenu describing the desired menu hierarchy. Return @c nil to present the default system menu.
+ */
+- (nullable UIMenu *)textView:(UITextView *)textView editMenuForTextInRanges:(NSArray<NSValue *> *)ranges suggestedActions:(NSArray<UIMenuElement *> *)suggestedActions API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0));
+
+/**
* @abstract Called when the text view is about to present the edit menu.
*
* @param textView The text view displaying the menu.
@@ -148,28 +172,28 @@
*
* @param viewController The text formatting controller that is being presented.
*/
-- (void)textView:(UITextView *)textView willBeginFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+- (void)textView:(UITextView *)textView willBeginFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
/**
* @abstract Informs the delegate that text formatting controller has been presented.
*
* @param viewController The text formatting controller that is being presented.
*/
-- (void)textView:(UITextView *)textView didBeginFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+- (void)textView:(UITextView *)textView didBeginFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
/**
* @abstract Informs the delegate that text formatting controller is about to be dismissed.
*
* @param viewController The text formatting controller that is being presented.
*/
-- (void)textView:(UITextView *)textView willEndFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+- (void)textView:(UITextView *)textView willEndFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
/**
* @abstract Informs the delegate that text formatting controller has been dismissed.
*
* @param viewController The text formatting controller that is being presented.
*/
-- (void)textView:(UITextView *)textView didEndFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+- (void)textView:(UITextView *)textView didEndFormattingWithViewController:(UITextFormattingViewController *)viewController API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
/// Tells the delegate when the keyboard delivers an input suggestion.
///
@@ -198,7 +222,13 @@
@property(nullable,nonatomic,strong) UIFont *font;
@property(nullable,nonatomic,strong) UIColor *textColor;
@property(nonatomic) NSTextAlignment textAlignment; // default is NSLeftTextAlignment
-@property(nonatomic) NSRange selectedRange;
+/// A union of all the `selectedRanges`.
+@property(nonatomic) NSRange selectedRange API_DEPRECATED_WITH_REPLACEMENT("selectedRanges", ios(2.0, API_TO_BE_DEPRECATED));
+/**
+ * The `NSRange`s of the selection. In most cases, there will only be a single selected range. For cases where bidirectional text is selected, there may be multiple discontiguous ranges. These selected ranges will always be in the normal form, which means they are sorted in ascending order and there are no overlaps. The selected ranges will always be converted to its normal form when they are set. Empty array corresponds to no selection.
+ */
+@property(nonatomic, copy, nonnull) NSArray<NSValue *> *selectedRanges API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0)) NS_REFINED_FOR_SWIFT;
+
@property(nonatomic,getter=isEditable) BOOL editable API_UNAVAILABLE(tvos);
// Toggle selectability, which controls the ability of the user to select content and interact with URLs & attachments. On tvOS this also makes the text view focusable.
// By default, text item interaction follows selectable if the text item methods on UITextViewDelegate are not implemented; otherwise, they follow the result of the specified delegate methods.
@@ -288,7 +318,7 @@
/// when its presentation is requested.
///
/// It has a non-nil default value.
-@property(nonatomic, nullable, readwrite, copy) UITextFormattingViewControllerConfiguration *textFormattingConfiguration API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(visionos, macCatalyst) API_UNAVAILABLE(watchos, tvos);
+@property(nonatomic, nullable, readwrite, copy) UITextFormattingViewControllerConfiguration *textFormattingConfiguration API_AVAILABLE(ios(18.0), visionos(26.0)) API_UNAVAILABLE(macCatalyst) API_UNAVAILABLE(watchos, tvos);
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbarAppearance.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbarAppearance.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbarAppearance.h 2025-04-21 00:48:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbarAppearance.h 2025-06-03 00:22:56
@@ -17,8 +17,14 @@
/// The appearance for plain-style bar button items
@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *buttonAppearance;
+/// The appearance attributes for Prominent buttons.
+///
+/// Use this property to configure the appearance of bar button items that use `UIBarButtonItemStyleProminent`.
+/// If the navigation bar doesn't have any buttons using this style, this property has no effect.
+@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *prominentButtonAppearance API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(watchos);
+
/// The appearance for done-style bar button items
-@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *doneButtonAppearance;
+@property (nonatomic, readwrite, copy) UIBarButtonItemAppearance *doneButtonAppearance API_DEPRECATED_WITH_REPLACEMENT("prominentButtonAppearance", ios(13.0, 26.0), tvos(13.0, 26.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h 2025-04-23 23:35:27
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h 2025-06-04 00:37:02
@@ -123,6 +123,10 @@
@interface UITraitSceneCaptureState : NSObject <UINSIntegerTraitDefinition> // UISceneCaptureState
@end
+UIKIT_EXTERN NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UITraitHDRHeadroomUsageLimit : NSObject <UINSIntegerTraitDefinition> // UIHDRHeadroomUsageLimit
+@end
+
NS_HEADER_AUDIT_END(nullability, sendability)
#else
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h 2025-04-19 04:04:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h 2025-06-03 00:34:05
@@ -13,6 +13,8 @@
#import <UIKit/UIContentSizeCategory.h>
#import <UIKit/UISceneDefinitions.h>
#import <UIKit/UITraitListEnvironment.h>
+#import <UIKit/UITabAccessory.h>
+#import <UIKit/UISplitViewControllerLayoutEnvironment.h>
/*! A trait collection encapsulates the system traits of an interface's environment. */
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -101,6 +103,19 @@
/// 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);
+/// Constructs a new trait collection with the given `tabAccessoryEnvironment`.
++ (UITraitCollection *)traitCollectionWithTabAccessoryEnvironment:(UITabAccessoryEnvironment)tabAccessoryEnvironment API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+
+/// The tab accessory environment represents whether a given trait collection is from a view in a `UITabAccessory` content view.
+@property (nonatomic, readonly) UITabAccessoryEnvironment tabAccessoryEnvironment API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+
+/// The split view controller layout environment represents whether an ancestor split view controller is expanded or collapsed.
+@property (nonatomic, readonly) UISplitViewControllerLayoutEnvironment splitViewControllerLayoutEnvironment API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// If HDR headroom should be used for the current UI configuration. Headroom usage is disabled in certain UI configurations, such as when all an application's windows are in the background.
+@property (nonatomic, readonly) UIHDRHeadroomUsageLimit hdrHeadroomUsageLimit API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
++ (UITraitCollection *)traitCollectionWithHDRHeadroomUsageLimit:(UIHDRHeadroomUsageLimit)hdrHeadroomUsageLimit API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
+
@end
@@ -134,6 +149,8 @@
@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);
+@property (nonatomic) UITabAccessoryEnvironment tabAccessoryEnvironment API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+@property (nonatomic) UISplitViewControllerLayoutEnvironment splitViewControllerLayoutEnvironment API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
@end
typedef void (^UITraitMutations)(id<UIMutableTraits> mutableTraits) API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h 2025-04-21 00:48:27
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateActionPhase.h 2025-05-30 23:45:30
@@ -31,7 +31,7 @@
/// 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)
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos, macCatalyst)
@interface UIUpdateActionPhase: NSObject
+(instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h 2025-04-19 04:04:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateInfo.h 2025-05-31 01:31:43
@@ -17,7 +17,7 @@
/// 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)
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos, macCatalyst)
@interface UIUpdateInfo: NSObject
+(instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h 2025-04-19 03:50:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUpdateLink.h 2025-06-03 00:22:44
@@ -18,7 +18,7 @@
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)
+UIKIT_EXTERN NS_SWIFT_UI_ACTOR API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos, macCatalyst)
@interface UIUpdateLink: NSObject
+(instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h 2025-04-23 23:35:26
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h 2025-05-31 00:52:43
@@ -15,7 +15,11 @@
#import <UIKit/UIDynamicBehavior.h>
#import <UIKit/NSLayoutConstraint.h>
#import <UIKit/UITraitCollection.h>
+#import <UIKit/UILayoutGuide.h>
#import <UIKit/UIFocus.h>
+#import <UIKit/UIViewLayoutRegion.h>
+#import <UIKit/UIFocusEffect.h>
+#import <UIUtilities/UICoordinateSpace.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -61,7 +65,7 @@
} API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSUInteger, UIViewAnimationOptions) {
- UIViewAnimationOptionLayoutSubviews = 1 << 0,
+ UIViewAnimationOptionLayoutSubviews = 1 << 0, // resized views will perform layout; consider using UIViewAnimationOptionFlushUpdates instead
UIViewAnimationOptionAllowUserInteraction = 1 << 1, // turn on user interaction while animating
UIViewAnimationOptionBeginFromCurrentState = 1 << 2, // start all views from current value, not initial value
UIViewAnimationOptionRepeat = 1 << 3, // repeat animation indefinitely
@@ -90,6 +94,16 @@
UIViewAnimationOptionPreferredFramesPerSecond60 = 3 << 24,
UIViewAnimationOptionPreferredFramesPerSecond30 = 7 << 24,
+ /// Flush all pending updates (including traits, properties, and layout) whenever the animation context changes.
+ /// This includes flushing updates:
+ /// - Before entering an animation scope, for invalidations that happened previously without animation.
+ /// - Before entering a nested animation scope, for invalidations that happened in the outer animation scope.
+ /// - Before exiting any animation scope, for invalidations that happened in that animation scope.
+ /// - Before disabling animations, for invalidations that happened in the animation scope with animations enabled.
+ /// - Before re-enabling animations, for invalidations that happened in the scope with animations disabled.
+ /// This animation option implicitly applies to any nested animation scopes, even if they don't explicitly use this option.
+ UIViewAnimationOptionFlushUpdates API_AVAILABLE(ios(26.0), macos(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) = 1 << 28,
+
} API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSUInteger, UIViewKeyframeAnimationOptions) {
@@ -127,18 +141,6 @@
UISemanticContentAttributeForceRightToLeft
} API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
-API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
-@protocol UICoordinateSpace <NSObject>
-
-- (CGPoint)convertPoint:(CGPoint)point toCoordinateSpace:(id <UICoordinateSpace>)coordinateSpace API_AVAILABLE(ios(8.0));
-- (CGPoint)convertPoint:(CGPoint)point fromCoordinateSpace:(id <UICoordinateSpace>)coordinateSpace API_AVAILABLE(ios(8.0));
-- (CGRect)convertRect:(CGRect)rect toCoordinateSpace:(id <UICoordinateSpace>)coordinateSpace API_AVAILABLE(ios(8.0));
-- (CGRect)convertRect:(CGRect)rect fromCoordinateSpace:(id <UICoordinateSpace>)coordinateSpace API_AVAILABLE(ios(8.0));
-
-@property (readonly, nonatomic) CGRect bounds API_AVAILABLE(ios(8.0));
-
-@end
-
@class UIBezierPath, UIEvent, UIWindow, UIViewController, UIColor, UIGestureRecognizer, UIMotionEffect, CALayer, UILayoutGuide, UIKeyboardLayoutGuide;
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@@ -148,6 +150,7 @@
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+- (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
@property(nonatomic) NSInteger tag; // default is 0
@@ -244,6 +247,16 @@
- (BOOL)isDescendantOfView:(UIView *)view; // returns YES for self.
- (nullable __kindof UIView *)viewWithTag:(NSInteger)tag; // recursive search. includes self
+/// Call to manually request a properties update for the view.
+/// Multiple requests may be coalesced into a single update alongside the next layout pass.
+- (void)setNeedsUpdateProperties API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Override point for subclasses to update properties of this view.
+/// Never call this method directly; use `setNeedsUpdateProperties` to schedule an update.
+- (void)updateProperties NS_REQUIRES_SUPER API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Forces an immediate properties update for this view (and its view controller, if applicable)
+/// and any subviews, including any view controllers or views in its subtree.
+- (void)updatePropertiesIfNeeded API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
// Allows you to perform layout before the drawing cycle happens. -layoutIfNeeded forces layout early
- (void)setNeedsLayout;
- (void)layoutIfNeeded;
@@ -724,6 +737,16 @@
/// Forces an immediate trait update for this view (and its view controller, if applicable) and any subviews,
/// including any view controllers or views in its subtree. Any trait change callbacks are sent synchronously.
- (void)updateTraitsIfNeeded API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+
+API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UIView (LayoutRegions)
+
+- (UILayoutGuide *)layoutGuideForLayoutRegion:(UIViewLayoutRegion *)layoutRegion NS_REFINED_FOR_SWIFT;
+- (UIEdgeInsets)edgeInsetsForLayoutRegion:(UIViewLayoutRegion *)layoutRegion NS_REFINED_FOR_SWIFT;
+- (NSDirectionalEdgeInsets)directionalEdgeInsetsForLayoutRegion:(UIViewLayoutRegion *)layoutRegion NS_REFINED_FOR_SWIFT;
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h 2025-04-23 23:25:36
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h 2025-06-03 00:34:13
@@ -187,6 +187,16 @@
/// Called after the view has fully been dismissed, covered, or otherwise hidden, when any transition animations have completed.
- (void)viewDidDisappear:(BOOL)animated;
+/// Call to manually request a properties update for the view controller.
+/// Multiple requests may be coalesced into a single update alongside the next layout pass.
+- (void)setNeedsUpdateProperties API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Override point for subclasses to update properties of this view controller or its view.
+/// Never call this method directly; use `setNeedsUpdateProperties` to schedule an update.
+- (void)updateProperties NS_REQUIRES_SUPER API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Forces an immediate properties update for this view controller and its view,
+/// including any view controllers and views in this subtree.
+- (void)updatePropertiesIfNeeded API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
// Called just before the view controller's view's layoutSubviews method is invoked. Subclasses can implement as necessary. The default is a no-op.
- (void)viewWillLayoutSubviews API_AVAILABLE(ios(5.0));
// Called just after the view controller's view's layoutSubviews method is invoked. Subclasses can implement as necessary. The default is a no-op.
@@ -702,6 +712,21 @@
/// Subclasses should override this method and update the content unavailable's configuration using the state provided.
/// This method should not be called directly, use `setNeedsUpdateContentUnavailableConfiguration` to request an update.
- (void)updateContentUnavailableConfigurationUsingState:(UIContentUnavailableConfigurationState *)state API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+@interface UIViewController ()
+
+/// Override to return a child view controller or nil. If non-nil, that view controller's preference for interface orientation lock will be used. If nil, `self` is used.
+/// Whenever the return value changes, call `setNeedsUpdateOfPrefersInterfaceOrientationLocked()`.
+@property (nonatomic, readonly, nullable) UIViewController *childViewControllerForInterfaceOrientationLock API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
+
+/// Whether this view controller prefers the scene's interface orientation to be locked when shown. The default is `NO`. Note that this preference may or may not be honored.
+/// See `UIWindowScene.Geometry` for the current state of interface orientation lock.
+@property (nonatomic, readonly) BOOL prefersInterfaceOrientationLocked API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
+
+/// Call whenever the view controller's preference for interface orientation lock has changed
+- (void)setNeedsUpdateOfPrefersInterfaceOrientationLocked API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h 2025-04-21 00:48:26
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransition.h 2025-06-03 00:22:49
@@ -12,7 +12,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-@class UIView, UIViewController, UIZoomTransitionSourceViewProviderContext;
+@class UIView, UIViewController, UIZoomTransitionSourceViewProviderContext, UIBarButtonItem;
UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos)
NS_SWIFT_NAME(UIViewController.Transition)
@@ -37,6 +37,9 @@
/// present(cityViewController, animated: true)
/// ```
+ (instancetype)zoomWithOptions:(nullable UIZoomTransitionOptions *)options sourceViewProvider:(UIView * _Nullable (^)(UIZoomTransitionSourceViewProviderContext *))sourceViewProvider NS_REFINED_FOR_SWIFT;
+
+/// Zoom from the `UIBarButtonItem` provided by the `sourceBarButtonItemProvider` to the presented or pushed view controller's view.
++ (instancetype)zoomWithOptions:(nullable UIZoomTransitionOptions *)options sourceBarButtonItemProvider:(UIBarButtonItem * _Nullable (^)(UIZoomTransitionSourceViewProviderContext *))sourceBarButtonItemProvider API_AVAILABLE(ios(26.0)) NS_REFINED_FOR_SWIFT;
/// View slides up from the bottom of the screen. Same as `UIModalTransitionStyle.coverVertical`.
+ (instancetype)coverVerticalTransition NS_REFINED_FOR_SWIFT;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewLayoutRegion.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewLayoutRegion.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewLayoutRegion.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewLayoutRegion.h 2025-06-03 00:22:55
@@ -0,0 +1,35 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIViewLayoutRegion.h>)
+//
+// UIViewLayoutRegion.h
+// UIKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSUInteger, UIViewLayoutRegionAdaptivityAxis) {
+ UIViewLayoutRegionAdaptivityAxisNone,
+ UIViewLayoutRegionAdaptivityAxisHorizontal,
+ UIViewLayoutRegionAdaptivityAxisVertical,
+} API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT
+@interface UIViewLayoutRegion: NSObject
+
++ (UIViewLayoutRegion *)safeAreaLayoutRegionWithCornerAdaptation:(UIViewLayoutRegionAdaptivityAxis)adaptivityAxis;
++ (UIViewLayoutRegion *)marginsLayoutRegionWithCornerAdaptation:(UIViewLayoutRegionAdaptivityAxis)adaptivityAxis;
++ (UIViewLayoutRegion *)readableContentLayoutRegionWithCornerAdaptation:(UIViewLayoutRegionAdaptivityAxis)adaptivityAxis;
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIViewLayoutRegion.h>
+#endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h 2025-04-19 04:04:56
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h 2025-05-30 23:45:26
@@ -38,6 +38,16 @@
/// Defaults to NO. Provides the ability for an animator to pause on completion instead of transitioning to the .inactive state.
@property(nonatomic) BOOL pausesOnCompletion API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
+/// Flush all pending updates (including traits, properties, and layout) whenever the animation context changes.
+/// This includes flushing updates:
+/// - Before entering an animation scope, for invalidations that happened previously without animation.
+/// - Before entering a nested animation scope, for invalidations that happened in the outer animation scope.
+/// - Before exiting any animation scope, for invalidations that happened in that animation scope.
+/// - Before disabling animations, for invalidations that happened in the animation scope with animations enabled.
+/// - Before re-enabling animations, for invalidations that happened in the scope with animations disabled.
+/// This behavior implicitly applies to any nested animation scopes, even if they don't explicitly specify this.
+@property(nonatomic) BOOL flushUpdates API_AVAILABLE(ios(26.0), macos(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
- (instancetype)initWithDuration:(NSTimeInterval)duration timingParameters:(id <UITimingCurveProvider>)parameters NS_DESIGNATED_INITIALIZER;
/// All convenience initializers return an animator which is not running.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h 2025-04-21 00:48:29
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h 2025-05-31 01:31:53
@@ -22,7 +22,10 @@
@interface UIWindow : UIView
// instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
-- (instancetype)initWithWindowScene:(UIWindowScene *)windowScene API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithWindowScene:(UIWindowScene *)windowScene NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+
+- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER API_DEPRECATED("Use init(windowScene:) instead.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
+- (instancetype)init API_DEPRECATED("Use init(windowScene:) instead.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
// If nil, window will not appear on any screen.
// changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h 2025-04-19 04:04:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h 2025-05-30 23:37:13
@@ -9,6 +9,8 @@
#import <UIKit/UIScene.h>
#import <UIKit/UIApplication.h>
#import <UIKit/UISceneOptions.h>
+#import <UIKit/UISceneSizeRestrictions.h>
+#import <UIKit/UISceneWindowingControlStyle.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -20,8 +22,8 @@
#pragma mark Geometry
@property (nonatomic, readonly) UIScreen *screen API_UNAVAILABLE(visionos);
-@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation API_UNAVAILABLE(tvos);
-@property (nonatomic, readonly) id<UICoordinateSpace> coordinateSpace;
+@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation API_DEPRECATED("Use effectiveGeometry.interfaceOrientation instead.", ios(13.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic, readonly) id<UICoordinateSpace> coordinateSpace API_DEPRECATED("Use effectiveGeometry.coordinateSpace instead.", ios(13.0, 26.0), tvos(13.0, 26.0), visionos(1.0, 26.0));
@property (nonatomic, readonly) UITraitCollection *traitCollection;
// Request an update to the window scene's geometry in system space.
@@ -30,7 +32,8 @@
// Provides the current resolved values for the window scene's geometry in system space.
@property (nonatomic, readonly) UIWindowSceneGeometry *effectiveGeometry API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
-// Restrictions which the system should use when resizing the scene. This property will be NULL on platforms which don't support scene resize, else a mutable object is returned which the client may customize.
+/// Preferences the system should evaluate when resizing the scene. If non `nil`, returns a mutable instance that the client may customize.
+/// - Note: This property will be `nil` on platforms that don't support scene resizing.
@property (nonatomic, readonly, nullable) UISceneSizeRestrictions *sizeRestrictions API_AVAILABLE(ios(13.0));
#pragma mark Window management
@@ -63,10 +66,16 @@
@optional
@property (nullable, nonatomic, strong) UIWindow *window;
-// Called when the coordinate space, interface orientation, or trait collection of a UIWindowScene changes
-// Always called when a UIWindowScene moves between screens
-- (void)windowScene:(UIWindowScene *)windowScene didUpdateCoordinateSpace:(id<UICoordinateSpace>)previousCoordinateSpace interfaceOrientation:(UIInterfaceOrientation)previousInterfaceOrientation traitCollection:(UITraitCollection *)previousTraitCollection API_UNAVAILABLE(tvos);
+/// Called when the coordinate space, interface orientation, or trait collection of a `UIWindowScene` changes.
+///
+/// Always called when a UIWindowScene moves between screens.
+- (void)windowScene:(UIWindowScene *)windowScene didUpdateCoordinateSpace:(id<UICoordinateSpace>)previousCoordinateSpace interfaceOrientation:(UIInterfaceOrientation)previousInterfaceOrientation traitCollection:(UITraitCollection *)previousTraitCollection API_DEPRECATED("Use windowScene(_: didUpdateEffectiveGeometry:) to be notified of the scene's geometry changes, or use traits whose values are inherited from the scene via the traitCollection of views and view controllers instead.", ios(13.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(tvos);
+/// Called when the window scene's effective geometry has changed.
+///
+/// Always called when a `UIWindowScene` moves between screens.
+- (void)windowScene:(UIWindowScene *)windowScene didUpdateEffectiveGeometry:(UIWindowSceneGeometry *)previousEffectiveGeometry API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
#pragma mark - System Integration
// Called when the user activates your application by selecting a shortcut on the home screen,
// and the window scene is already connected.
@@ -77,6 +86,11 @@
// You should use the CKShareMetadata object's shareURL and containerIdentifier to schedule a CKAcceptSharesOperation, then start using
// the resulting CKShare and its associated record(s), which will appear in the CKContainer's shared database in a zone matching that of the record's owner.
- (void)windowScene:(UIWindowScene *)windowScene userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata;
+
+/// Called by the system to determine the windowing control style for the provided scene.
+/// `automaticStyle` will be used if this method is not implemented.
+- (UISceneWindowingControlStyle *)preferredWindowingControlStyleForScene:(UIWindowScene *)windowScene API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
@end
#pragma mark - Session Roles
@@ -90,6 +104,9 @@
// A session role which defines a 3D volumetric application
UIKIT_EXTERN UISceneSessionRole const UIWindowSceneSessionRoleVolumetricApplication API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, tvos, macos, watchos);
+// A session role which defines an application for Assistive Access
+UIKIT_EXTERN UISceneSessionRole const UIWindowSceneSessionRoleAssistiveAccessApplication API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
#pragma mark - UIWindowSceneDismissalAnimation
typedef NS_ENUM(NSInteger, UIWindowSceneDismissalAnimation) {
UIWindowSceneDismissalAnimationStandard = 1,
@@ -100,20 +117,6 @@
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIWindowSceneDestructionRequestOptions : UISceneDestructionRequestOptions
@property (nonatomic, readwrite) UIWindowSceneDismissalAnimation windowDismissalAnimation;
-@end
-
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
-@interface UISceneSizeRestrictions : NSObject
-
-// Clients should never make one of these directly. See -[UIWindowScene sizeRestrictions].
-- (instancetype)init NS_UNAVAILABLE;
-+ (instancetype)new NS_UNAVAILABLE;
-
-@property (nonatomic, assign) CGSize minimumSize;
-@property (nonatomic, assign) CGSize maximumSize;
-
-@property (nonatomic) BOOL allowsFullScreen API_AVAILABLE(macCatalyst(16.0)) API_UNAVAILABLE(watchos);
-
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h 2025-04-21 00:48:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h 2025-06-03 00:22:51
@@ -34,8 +34,16 @@
+ (instancetype)new NS_UNAVAILABLE;
@property (nonatomic, readonly) CGRect systemFrame API_AVAILABLE(macCatalyst(16.0)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
+
+/// The coordinate space of the scene
+@property (nonatomic, readonly) id<UICoordinateSpace> coordinateSpace API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// The interface orientation of the scene
@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation API_UNAVAILABLE(tvos);
+/// If the scene's interface orientation is locked and preventing changes. To express a preference for this value, override `UIViewController`'s `prefersInterfaceOrientationLocked`.
+@property (nonatomic, getter=isInterfaceOrientationLocked, readonly) BOOL interfaceOrientationLocked API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos);
+
/// The current app specified minimumSize. A value of 0,0 is returned if a minimum is not set by the application
@property (nonatomic, readonly) CGSize minimumSize API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, tvos, macos, watchos);
@@ -44,6 +52,9 @@
/// The current app specified resizingRestriction. Default value UIWindowSceneResizingRestrictionsUnspecified
@property (nonatomic, readonly) UIWindowSceneResizingRestrictions resizingRestrictions API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, tvos, macos, watchos);
+
+/// Returns true when the scene is being resized interactively, otherwise false.
+@property (nonatomic, readonly, getter=isInteractivelyResizing) BOOL interactivelyResizing API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0));
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h 2025-04-23 23:25:31
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h 2025-05-30 23:37:18
@@ -260,6 +260,9 @@
/// which lets the system determine the type of content to generate.
@property(nonatomic) UIWritingToolsResultOptions preferredResultOptions; // Defaults to "Default"
+// When YES, the Writing Tools subsystem interprets and generates the text list paragraph incorporating the text list marker string. By default, it employs ``NSTextList.includesTextListMarkers`` as the value.
+@property BOOL includesTextListMarkers API_AVAILABLE(ios(26.0), visionos(26.0)) API_UNAVAILABLE(watchos, tvos);
+
/// The type of content the system generates for your custom text view.
///
/// This property contains the set of options that Writing Tools outputs