-
Notifications
You must be signed in to change notification settings - Fork 507
UIKit tvOS xcode15.0 b1
Manuel de la Pena edited this page Oct 20, 2023
·
3 revisions
#UIKit.framework https://github.com/xamarin/xamarin-macios/pull/19120
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2023-03-09 23:51:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2023-05-20 00:33:19
@@ -39,15 +39,11 @@
UIKIT_EXTERN NSAttributedStringKey const NSBaselineOffsetAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSNumber containing floating point value, in points; offset from baseline, default 0
UIKIT_EXTERN NSAttributedStringKey const NSUnderlineColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // UIColor, default nil: same as foreground color
UIKIT_EXTERN NSAttributedStringKey const NSStrikethroughColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // UIColor, default nil: same as foreground color
-UIKIT_EXTERN NSAttributedStringKey const NSObliquenessAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
-UIKIT_EXTERN NSAttributedStringKey const NSExpansionAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
UIKIT_EXTERN NSAttributedStringKey const NSWritingDirectionAttributeName API_AVAILABLE(macos(10.6), ios(7.0)); // NSArray of NSNumbers representing the nested levels of writing direction overrides as defined by Unicode LRE, RLE, LRO, and RLO characters. The control characters can be obtained by masking NSWritingDirection and NSWritingDirectionFormatType values. LRE: NSWritingDirectionLeftToRight|NSWritingDirectionEmbedding, RLE: NSWritingDirectionRightToLeft|NSWritingDirectionEmbedding, LRO: NSWritingDirectionLeftToRight|NSWritingDirectionOverride, RLO: NSWritingDirectionRightToLeft|NSWritingDirectionOverride,
-UIKIT_EXTERN NSAttributedStringKey const NSVerticalGlyphFormAttributeName API_AVAILABLE(macos(10.7), ios(6.0)); // An NSNumber containing an integer value. 0 means horizontal text. 1 indicates vertical text. If not specified, it could follow higher-level vertical orientation settings. Currently on iOS, it's always horizontal. The behavior for any other value is undefined.
-
/************************ Attribute values ************************/
// This defines currently supported values for NSUnderlineStyleAttributeName and NSStrikethroughStyleAttributeName. These values are or'ed together to produce an underline style.
// Underlines will be drawn with a solid pattern by default, so NSUnderlineStylePatternSolid does not need to be specified.
@@ -188,6 +184,10 @@
/************************ Deprecated ************************/
+UIKIT_EXTERN NSAttributedStringKey const NSObliquenessAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED)); // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
+UIKIT_EXTERN NSAttributedStringKey const NSExpansionAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED)); // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
+UIKIT_EXTERN NSAttributedStringKey const NSVerticalGlyphFormAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.7, API_TO_BE_DEPRECATED), ios(6.0, API_TO_BE_DEPRECATED)); // An NSNumber containing an integer value. 0 means horizontal text. 1 indicates vertical text. If not specified, it could follow higher-level vertical orientation settings. Currently on iOS, it's always horizontal. The behavior for any other value is undefined.
+
// NSUnderlineByWord and the NSUnderlinePattern* values are soft deprecated starting with macOS 10.14/iOS 12 and will be officially deprecated in a future release. Please use the NSUnderlineStyle* equivalents instead.
// Underlines will be drawn with a solid pattern by default, so NSUnderlinePatternSolid does not need to be specified.
static const NSUnderlineStyle NSUnderlinePatternSolid = NSUnderlineStylePatternSolid;
@@ -201,15 +201,15 @@
typedef NS_ENUM(NSInteger, NSTextWritingDirection) {
NSTextWritingDirectionEmbedding = (0 << 1),
NSTextWritingDirectionOverride = (1 << 1)
-} API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionFormatType", ios(7.0, 9.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionFormatType", ios(7.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
#endif
@interface NSAttributedString(NSDeprecatedKitAdditions)
-- (nullable instancetype)initWithFileURL:(NSURL *)url options:(NSDictionary *)options documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithURL:options:documentAttributes:error:", ios(7.0, 9.0)) API_UNAVAILABLE(tvos);
+- (nullable instancetype)initWithFileURL:(NSURL *)url options:(NSDictionary *)options documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithURL:options:documentAttributes:error:", ios(7.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@interface NSMutableAttributedString (NSDeprecatedKitAdditions)
-- (BOOL)readFromFileURL:(NSURL *)url options:(NSDictionary *)opts documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("readFromURL:options:documentAttributes:error:", ios(7.0, 9.0)) API_UNAVAILABLE(tvos);
+- (BOOL)readFromFileURL:(NSURL *)url options:(NSDictionary *)opts documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("readFromURL:options:documentAttributes:error:", ios(7.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2023-03-09 19:10:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2023-05-23 03:16:55
@@ -355,12 +355,12 @@
/************************ Deprecated ************************/
enum {
- NSControlCharacterZeroAdvancementAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionZeroAdvancement", ios(7.0, 9.0)) = NSControlCharacterActionZeroAdvancement,
- NSControlCharacterWhitespaceAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionWhitespace", ios(7.0, 9.0)) = NSControlCharacterActionWhitespace,
- NSControlCharacterHorizontalTabAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionHorizontalTab", ios(7.0, 9.0)) = NSControlCharacterActionHorizontalTab,
- NSControlCharacterLineBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionLineBreak", ios(7.0, 9.0)) = NSControlCharacterActionLineBreak,
- NSControlCharacterParagraphBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionParagraphBreak", ios(7.0, 9.0)) = NSControlCharacterActionParagraphBreak,
- NSControlCharacterContainerBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionContainerBreak", ios(7.0, 9.0)) = NSControlCharacterActionContainerBreak
+ NSControlCharacterZeroAdvancementAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionZeroAdvancement", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionZeroAdvancement,
+ NSControlCharacterWhitespaceAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionWhitespace", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionWhitespace,
+ NSControlCharacterHorizontalTabAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionHorizontalTab", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionHorizontalTab,
+ NSControlCharacterLineBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionLineBreak", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionLineBreak,
+ NSControlCharacterParagraphBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionParagraphBreak", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionParagraphBreak,
+ NSControlCharacterContainerBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionContainerBreak", ios(7.0, 9.0)) API_UNAVAILABLE(xros) = NSControlCharacterActionContainerBreak
};
@interface NSLayoutManager (NSLayoutManagerDeprecated)
@@ -369,10 +369,10 @@
- (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex; // Use -CGGlyphAtIndex: instead
// 0.0 - 1.0. Whenever (width of the real contents of the line) / (the line fragment width) is below this value, hyphenation will be attempted when laying out the line. By default, the value is 0.0, meaning hyphenation is off. A value of 1.0 causes hyphenation to be attempted always. Note that hyphenation will slow down text layout and increase memory usage, so it should be used sparingly. Maybe overridden on a per-paragraph basis by the NSParagraphStyle's hyphenationFactor.
-@property CGFloat hyphenationFactor API_DEPRECATED("Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.", macos(10.0,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(macCatalyst);
+@property CGFloat hyphenationFactor API_DEPRECATED("Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.", macos(10.0,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(macCatalyst);
// This is the glyph rendering primitive method. Renders glyphs at positions into the graphicsContext. The positions are in the user space coordinate system. graphicsContext that passed in is already configured according to the text attributes arguments: font, textMatrix, and attributes. The font argument represents the font applied to the graphics state. The value can be different from the NSFontAttributeName value in the attributes argument because of various font substitutions that the system automatically executes. The textMatrix is the affine transform mapping the text space coordinate system to the user space coordinate system. The tx and ty components of textMatrix are ignored since Quartz overrides them with the glyph positions.
-- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSUInteger)glyphCount font:(UIFont *)font matrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)graphicsContext API_DEPRECATED_WITH_REPLACEMENT("showCGGlyphs:positions:count:font:textMatrix:attributes:inContext:", macos(10.7,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(macCatalyst);
+- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSUInteger)glyphCount font:(UIFont *)font matrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)graphicsContext API_DEPRECATED_WITH_REPLACEMENT("showCGGlyphs:positions:count:font:textMatrix:attributes:inContext:", macos(10.7,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(macCatalyst);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2023-03-09 19:14:43
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2023-05-23 03:09:20
@@ -68,8 +68,8 @@
/************************ Deprecated ************************/
@interface NSStringDrawingContext (NSStringDrawingContextDeprecated)
-@property (nonatomic) CGFloat minimumTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(tvos);
-@property (nonatomic, readonly) CGFloat actualTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic) CGFloat minimumTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+@property (nonatomic, readonly) CGFloat actualTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2023-03-09 23:54:03
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2023-06-01 00:03:58
@@ -3,7 +3,7 @@
// NSTextLayoutFragment.h
// Text Kit
//
-// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2023, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
@@ -59,6 +59,12 @@
// An array of NSTextLineFragments. Valid when NSTextLayoutFragmentStateLayoutAvailable. KVO-compliant
@property (copy, readonly) NSArray<NSTextLineFragment *> *textLineFragments;
+// Returns the NSTextLineFragment containing verticalOffset if found. When requiresExactMatch=NO, it returns the closest line fragment beyond verticalOffset if no line fragment contains verticalOffset.
+- (nullable NSTextLineFragment *)textLineFragmentForVerticalOffset:(CGFloat)verticalOffset requiresExactMatch:(BOOL)requiresExactMatch API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
+// Returns the NSTextLineFragment containing textLocation. When isUpstreamAffinity=YES, it returns the text line fragment ending at textLocation.
+- (nullable NSTextLineFragment *)textLineFragmentForTextLocation:(id <NSTextLocation>)textLocation isUpstreamAffinity:(BOOL)isUpstreamAffinity API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
// When non-nil, the layout operation is dispatched to the queue asynchronously.
@property (nullable, strong) NSOperationQueue *layoutQueue;
@@ -72,7 +78,7 @@
// The rect for tiling the layout fragment inside the target layout coordinate system typically in an NSTextContainer.
@property (readonly) CGRect layoutFragmentFrame;
-// The bounds defining the area required for rendering the contents. The coordinate system is vertically flipped from the layoutFragmentFrame origin ({0,0} is at the upper left corner). The size should be larger than layoutFragmentFrame.size. The origin could be in the negative coordinate since the rendering could be stretched out of layoutFragmentFrame. Only valid when state > NSTextLayoutFragmentStateEstimatedUsageBounds.
+// The bounds defining the area required for rendering the contents. The coordinate system is relative to the layoutFragmentFrame. The coordinate system is vertically flipped, meaning origin ({0,0} is at the upper-left corner). The size should be larger than layoutFragmentFrame.size. The origin could be in the negative coordinate since the rendering could be stretched out of layoutFragmentFrame. Only valid when state > NSTextLayoutFragmentStateEstimatedUsageBounds.
@property (readonly) CGRect renderingSurfaceBounds;
#pragma mark Custom spacing
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2023-03-09 19:14:33
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2023-05-23 03:09:16
@@ -14,11 +14,11 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-typedef double UIAccelerationValue API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0), tvos(9.0, 13.0));
+typedef double UIAccelerationValue API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros);
@protocol UIAccelerometerDelegate;
-UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIAcceleration : NSObject
@property(nonatomic,readonly) NSTimeInterval timestamp;
@@ -28,8 +28,8 @@
@end
-UIKIT_EXTERN API_DEPRECATED("UIAccelerometer has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
-@interface UIAccelerometer : NSObject
+UIKIT_EXTERN API_DEPRECATED("UIAccelerometer has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIAccelerometer : NSObject
+ (UIAccelerometer *)sharedAccelerometer;
@@ -38,11 +38,11 @@
@end
-API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIAccelerometerDelegate<NSObject>
@optional
-- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration API_DEPRECATED("", ios(2.0, 5.0)) API_UNAVAILABLE(tvos);
+- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration API_DEPRECATED("", ios(2.0, 5.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h 2023-03-09 23:50:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h 2023-05-23 03:09:14
@@ -226,7 +226,74 @@
*/
@property(nullable, nonatomic, strong) UIAccessibilityTextualContext accessibilityTextualContext API_AVAILABLE(ios(13.0), tvos(13.0));
+// Configure how VoiceOver interacts with direct touch areas.
+@property(nonatomic, assign) UIAccessibilityDirectTouchOptions accessibilityDirectTouchOptions API_AVAILABLE(ios(17.0));
+/*
+ Block based setters take precedence over single line setters (i.e setAccessibilityLabel:(NSString *)) and property overrides (i.e. accessibilityLabel).
+ These methods require the block to have a specific return type that corresponds to the attribute's type.
+ Each of these block based setters have a corresponding accessibility property.
+ See the notes for the property for more specific information about that property.
+*/
+
+typedef BOOL (^AXBoolReturnBlock)(void);
+typedef NSString * __nullable (^AXStringReturnBlock)(void);
+typedef NSArray<NSString *> * __nullable (^AXStringArrayReturnBlock)(void);
+typedef NSAttributedString * __nullable (^AXAttributedStringReturnBlock)(void);
+typedef NSArray<NSAttributedString *> * __nullable (^AXAttributedStringArrayReturnBlock)(void);
+typedef CGRect (^AXRectReturnBlock)(void);
+typedef UIBezierPath * __nullable (^AXPathReturnBlock)(void);
+typedef CGPoint (^AXPointReturnBlock)(void);
+typedef __nullable id (^AXObjectReturnBlock)(void);
+typedef NSArray * __nullable (^AXArrayReturnBlock)(void);
+typedef void (^AXVoidReturnBlock)(void);
+typedef UIAccessibilityTraits (^AXTraitsReturnBlock)(void);
+typedef UIAccessibilityNavigationStyle (^AXNavigationStyleReturnBlock)(void);
+typedef UIAccessibilityContainerType (^AXContainerTypeReturnBlock)(void);
+typedef __nullable UIAccessibilityTextualContext (^AXTextualContextReturnBlock)(void);
+typedef NSArray<UIAccessibilityCustomAction *> * __nullable (^AXCustomActionsReturnBlock)(void);
+
+// Basic accessibility
+@property (nullable, nonatomic, copy) AXBoolReturnBlock isAccessibilityElementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityValueBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityHintBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXTraitsReturnBlock accessibilityTraitsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityIdentifierBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+
+// Defining accessibility text and language
+@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityHeaderElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedHintBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLanguageBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXTextualContextReturnBlock accessibilityTextualContextBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXStringArrayReturnBlock accessibilityUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXAttributedStringArrayReturnBlock accessibilityAttributedUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedValueBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+
+// Configuring behavior
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityElementsHiddenBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityRespondsToUserInteractionBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityViewIsModalBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityShouldGroupAccessibilityChildrenBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+
+// Navigating elements
+@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXArrayReturnBlock automationElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXContainerTypeReturnBlock accessibilityContainerTypeBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXPointReturnBlock accessibilityActivationPointBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXRectReturnBlock accessibilityFrameBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXNavigationStyleReturnBlock accessibilityNavigationStyleBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXPathReturnBlock accessibilityPathBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+
+// Actions
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityActivateBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityIncrementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityDecrementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityPerformEscapeBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityMagicTapBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXCustomActionsReturnBlock accessibilityCustomActionsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+
@end
@@ -283,6 +350,18 @@
- (void)accessibilityDecrement API_AVAILABLE(ios(4.0));
/*
+ If an element has the UIAccessibilityTraitSupportsZoom trait, it must also implement
+ the following methods. The point is the center point in the coordinate space of the
+ corresponding view. For example, if an element allows an expand gesture that modifies the
+ view in some way, you may implement accessibilityZoomInAtPoint so that VoiceOver's zoom in
+ custom action will receive the same behavior. If your implementation successfully handles
+ zooming, return YES, otherwise return NO.
+ default == NO
+ */
+- (BOOL)accessibilityZoomInAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0));
+- (BOOL)accessibilityZoomOutAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0));
+
+/*
If the user interface requires a scrolling action (e.g. turning the page of a book), a view in the view
hierarchy should implement the following method. The return result indicates whether the action
succeeded for that direction. If the action failed, the method will be called on a view higher
@@ -416,7 +495,8 @@
Listen for UIAccessibilityVoiceOverStatusDidChangeNotification to know when VoiceOver starts or stops.
*/
UIKIT_EXTERN BOOL UIAccessibilityIsVoiceOverRunning(void) API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN NSString *const UIAccessibilityVoiceOverStatusChanged API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilityVoiceOverStatusDidChangeNotification", ios(4.0, 11.0), tvos(9.0, 11.0));
+UIKIT_EXTERN NSString *const UIAccessibilityVoiceOverStatusChanged API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilityVoiceOverStatusDidChangeNotification", ios(4.0, 11.0), tvos(9.0, 11.0))
+ API_UNAVAILABLE(xros);
UIKIT_EXTERN NSNotificationName const UIAccessibilityVoiceOverStatusDidChangeNotification API_AVAILABLE(ios(11.0), tvos(11.0));
// Returns whether system audio is mixed down from stereo to mono.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h 2023-03-09 19:22:13
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h 2023-05-20 00:29:13
@@ -105,7 +105,15 @@
*/
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitTabBar API_AVAILABLE(ios(10.0));
+// Used when the element should be treated as a toggle.
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitToggleButton API_AVAILABLE(ios(17.0));
+
/*
+ Used when the element has zoom functionality.
+ */
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSupportsZoom API_AVAILABLE(ios(17.0));
+
+/*
Accessibility Notifications
UIKit posts notifications for standard events as appropriate, however the
@@ -226,6 +234,14 @@
UIAccessibilityContainerTypeSemanticGroup API_AVAILABLE(ios(13.0),tvos(13.0)) // Assistive technologies might query the accessibility properties set on the container, such as the accessibilityLabel, in order to output appropriate information about the semantic group to the user
} API_AVAILABLE(ios(11.0));
+typedef NS_OPTIONS(NSUInteger, UIAccessibilityDirectTouchOptions) {
+ UIAccessibilityDirectTouchOptionNone = 0,
+ // Allows a direct touch area to immediately receive touch events without VoiceOver speaking. Appropriate
+ // for apps that provide direct audio feedback during interaction that would conflict with VoiceOver (like a drum pad in a music creation app).
+ UIAccessibilityDirectTouchOptionSilentOnTouch = 1 << 0,
+ // Requires VoiceOver to activate the element before touch passthrough starts.
+ UIAccessibilityDirectTouchOptionRequiresActivation = 1 << 1,
+} NS_SWIFT_NAME(UIAccessibility.DirectTouchOptions) API_AVAILABLE(ios(17.0));
// The following constants can be used with either the accessibilityTextualContext property, or with the
// UIAccessibilityTextAttributeContext attributed key.
@@ -238,6 +254,17 @@
UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextSourceCode API_AVAILABLE(ios(13.0), tvos(13.0));
UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextConsole API_AVAILABLE(ios(13.0), tvos(13.0));
+
+// The following constants can be used with either the accessibilityAnnouncementPriority property, or with the
+// UIAccessibilityAnnouncementPriority attributed key.
+typedef NSString * UIAccessibilityPriority NS_TYPED_ENUM API_AVAILABLE(ios(17.0));
+// Announcements will interrupt other speech and cannot be interrupted once started.
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityHigh API_AVAILABLE(ios(17.0));
+// Announcements will interrupt existing speech, but are interruptible if a new speech utterance is started.
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityDefault API_AVAILABLE(ios(17.0));
+// Announcements are queued and spoken when other speech utterances have completed.
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityLow API_AVAILABLE(ios(17.0));
+
/*
Accessibility Speech Attributes
@@ -262,14 +289,18 @@
// The corresponding value for this key should be a NSNumber with a YES or NO value.
// If YES, then this announcement will be queued behind existing speech; if NO, then it will interrupt existing speech.
// Default behavior is to interrupt existing speech.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeQueueAnnouncement API_AVAILABLE(ios(11.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeQueueAnnouncement API_AVAILABLE(ios(11.0)) API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilitySpeechAttributeAnnouncementPriority", ios(11.0, 17.0), xros(1.0, 1.0));
+// Use with a UIAccessibilityAnnouncementPriority value to specify whether this announcement can be queued or interrupted.
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeAnnouncementPriority API_AVAILABLE(ios(17.0));
+
// Use an NSString, containing International Phonetic Alphabet (IPA) symbols.
// Controls the pronunciation of a word or phrase, e.g. a proper name.
UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeIPANotation API_AVAILABLE(ios(11.0));
// Use an NSNumber with a YES or NO value to specify whether each letter in the string should be spoken separately.
UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeSpellOut API_AVAILABLE(ios(13.0));
+
/*
Accessibility Text Attributes
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2023-03-09 19:14:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2023-05-26 22:50:44
@@ -57,6 +57,13 @@
// default == UIAccessibilityContainerTypeNone
@property (nonatomic) UIAccessibilityContainerType accessibilityContainerType API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR;
+// An array of container elements similar to accessibilityElements but specific for automation.
+// This can be used to modify the children in the accessibility tree for automation.
+// If not set, automationElements will default first to accessibilityElements if it’s not an accessibility element.
+// If there are no accessibilityElements and the view is an accessibility element, it will return the list of subviews that have accessibilityIdentifier.
+// Otherwise, the default will be an empty array.
+@property (nullable, nonatomic, strong) NSArray *automationElements API_AVAILABLE(ios(17.0), tvos(17.0)) NS_SWIFT_UI_ACTOR;
+
@end
/*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2023-03-09 19:17:54
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2023-05-23 03:09:20
@@ -64,6 +64,9 @@
// Create the array of UIAccessibilityCustomRotors and set it on the target element or ancestor element to which it applies.
@interface NSObject (UIAccessibilityCustomRotor)
@property (nonatomic, retain, nullable) NSArray<UIAccessibilityCustomRotor *> *accessibilityCustomRotors API_AVAILABLE(ios(10.0));
+
+typedef NSArray<UIAccessibilityCustomRotor *> * __nullable (^AXCustomRotorsReturnBlock)(void);
+@property (nullable, nonatomic, copy) AXCustomRotorsReturnBlock accessibilityCustomRotorsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
@end
// UIAccessibilityCustomRotorSearchPredicate is a container for search parameters.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2023-03-09 23:50:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2023-05-26 22:50:40
@@ -21,12 +21,12 @@
UIActionSheetStyleDefault = UIBarStyleDefault,
UIActionSheetStyleBlackTranslucent = UIBarStyleBlackTranslucent,
UIActionSheetStyleBlackOpaque = UIBarStyleBlackOpaque ,
-} API_UNAVAILABLE(tvos) API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.", ios(2.0, 13.0));
+} API_UNAVAILABLE(tvos) API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
-UIKIT_EXTERN API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIActionSheet : UIView
-- (instancetype)initWithTitle:(nullable NSString *)title delegate:(nullable id<UIActionSheetDelegate>)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION NS_EXTENSION_UNAVAILABLE_IOS("Use UIAlertController instead.");
+- (instancetype)initWithTitle:(nullable NSString *)title delegate:(nullable id<UIActionSheetDelegate>)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
@property(nullable,nonatomic,weak) id<UIActionSheetDelegate> delegate;
@property(nonatomic,copy) NSString *title;
@@ -64,17 +64,17 @@
@optional
// Called when a button is clicked. The view will be automatically dismissed after this call returns
-- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos);
+- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
-- (void)actionSheetCancel:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos);
+- (void)actionSheetCancel:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (void)willPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos); // before animation and showing view
-- (void)didPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos); // after animation
+- (void)willPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // before animation and showing view
+- (void)didPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // after animation
-- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos); // before animation and hiding view
-- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos); // after animation
+- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // before animation and hiding view
+- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // after animation
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2023-05-23 03:09:19
@@ -15,9 +15,9 @@
UIActivityIndicatorViewStyleMedium API_AVAILABLE(ios(13.0), tvos(13.0)) = 100,
UIActivityIndicatorViewStyleLarge API_AVAILABLE(ios(13.0), tvos(13.0)) = 101,
- UIActivityIndicatorViewStyleWhiteLarge API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleLarge", ios(2.0, 13.0), tvos(9.0, 13.0)) = 0,
- UIActivityIndicatorViewStyleWhite API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0), tvos(9.0, 13.0)) = 1,
- UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) = 2,
+ UIActivityIndicatorViewStyleWhiteLarge API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleLarge", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros) = 0,
+ UIActivityIndicatorViewStyleWhite API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros) = 1,
+ UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos, xros) = 2,
};
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2023-03-09 19:10:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2023-05-23 03:09:12
@@ -23,10 +23,10 @@
@protocol UIAlertViewDelegate;
@class UILabel, UIToolbar, UITabBar, UIWindow, UIBarButtonItem, UIPopoverController;
-UIKIT_EXTERN API_DEPRECATED("UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead", ios(2.0, 9.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIAlertView : UIView
-- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message delegate:(nullable id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION NS_EXTENSION_UNAVAILABLE_IOS("Use UIAlertController instead.");
+- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message delegate:(nullable id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
- (id)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype) initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -63,25 +63,25 @@
@end
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, xros) NS_SWIFT_UI_ACTOR
@protocol UIAlertViewDelegate <NSObject>
@optional
// Called when a button is clicked. The view will be automatically dismissed after this call returns
-- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0));
+- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros);
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
-- (void)alertViewCancel:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0));
+- (void)alertViewCancel:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros);
-- (void)willPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)); // before animation and showing view
-- (void)didPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)); // after animation
+- (void)willPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros); // before animation and showing view
+- (void)didPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros); // after animation
-- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)); // before animation and hiding view
-- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)); // after animation
+- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros); // before animation and hiding view
+- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros); // after animation
// Called after edits in any of the default fields added by the style
-- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0));
+- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2023-03-09 19:14:36
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2023-05-23 03:09:17
@@ -43,11 +43,11 @@
In other words, the containment statement is treated as a partial ordering. Given a concrete ordering (actual subview hierarchy), we select the partial ordering that is the first unique match when reading the actual hierarchy from the window down.
*/
-+ (instancetype)appearanceWhenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceWhenContainedInInstancesOfClasses:", ios(5.0, 9.0)) API_UNAVAILABLE(tvos);
++ (instancetype)appearanceWhenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceWhenContainedInInstancesOfClasses:", ios(5.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+ (instancetype)appearanceWhenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes API_AVAILABLE(ios(9.0));
+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait API_AVAILABLE(ios(8.0));
-+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceForTraitCollection:whenContainedInInstancesOfClasses:", ios(8.0, 9.0)) API_UNAVAILABLE(tvos);
++ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceForTraitCollection:whenContainedInInstancesOfClasses:", ios(8.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes API_AVAILABLE(ios(9.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2023-03-09 23:54:04
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2023-05-23 03:16:58
@@ -14,6 +14,7 @@
#import <UIKit/UIDevice.h>
#import <UIKit/UIAlert.h>
#import <UIKit/UIContentSizeCategory.h>
+#import <UIKit/UIOrientation.h>
#import <UIKit/UISceneDefinitions.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -23,8 +24,8 @@
UIStatusBarStyleLightContent API_AVAILABLE(ios(7.0)) = 1, // Light content, for use on dark backgrounds
UIStatusBarStyleDarkContent API_AVAILABLE(ios(13.0)) = 3, // Dark content, for use on light backgrounds
- UIStatusBarStyleBlackTranslucent API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) = 1,
- UIStatusBarStyleBlackOpaque API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) = 2,
+ UIStatusBarStyleBlackTranslucent API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(xros) = 1,
+ UIStatusBarStyleBlackOpaque API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(xros) = 2,
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIStatusBarAnimation) {
@@ -33,46 +34,18 @@
UIStatusBarAnimationSlide API_AVAILABLE(ios(3.2)),
} API_UNAVAILABLE(tvos);
-// Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
-// This is because rotating the device to the left requires rotating the content to the right.
-typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
- UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown,
- UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
- UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
- UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
- UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
-} API_UNAVAILABLE(tvos);
-
/* This exception is raised if supportedInterfaceOrientations returns 0, or if preferredInterfaceOrientationForPresentation
returns an orientation that is not supported.
*/
UIKIT_EXTERN NSExceptionName const UIApplicationInvalidInterfaceOrientationException API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
-typedef NS_OPTIONS(NSUInteger, UIInterfaceOrientationMask) {
- UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait),
- UIInterfaceOrientationMaskLandscapeLeft = (1 << UIInterfaceOrientationLandscapeLeft),
- UIInterfaceOrientationMaskLandscapeRight = (1 << UIInterfaceOrientationLandscapeRight),
- UIInterfaceOrientationMaskPortraitUpsideDown = (1 << UIInterfaceOrientationPortraitUpsideDown),
- UIInterfaceOrientationMaskLandscape = (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
- UIInterfaceOrientationMaskAll = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown),
- UIInterfaceOrientationMaskAllButUpsideDown = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
-} API_UNAVAILABLE(tvos);
-
-static inline BOOL UIInterfaceOrientationIsPortrait(UIInterfaceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIInterfaceOrientationPortrait || (orientation) == UIInterfaceOrientationPortraitUpsideDown);
-}
-
-static inline BOOL UIInterfaceOrientationIsLandscape(UIInterfaceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIInterfaceOrientationLandscapeLeft || (orientation) == UIInterfaceOrientationLandscapeRight);
-}
-
typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) {
UIRemoteNotificationTypeNone = 0,
UIRemoteNotificationTypeBadge = 1 << 0,
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
-} API_DEPRECATED("Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.", ios(3.0, 8.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.", ios(3.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSUInteger, UIBackgroundFetchResult) {
UIBackgroundFetchResultNewData,
@@ -94,7 +67,7 @@
typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM;
UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0));
+UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros);
UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0));
UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalNever API_AVAILABLE(ios(7.0), tvos(11.0));
@@ -106,7 +79,7 @@
@protocol UIApplicationDelegate;
@class INIntent;
@class INIntentResponse;
-@class UIScene, UIWindowScene, UISceneSession, UISceneConfiguration, UISceneConnectionOptions, UISceneActivationRequestOptions, UISceneDestructionRequestOptions;
+@class UIScene, UIWindowScene, UISceneSession, UISceneSessionActivationRequest, UISceneConfiguration, UISceneConnectionOptions, UISceneActivationRequestOptions, UISceneDestructionRequestOptions;
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
@interface UIApplication : UIResponder
@@ -115,35 +88,35 @@
@property(nullable, nonatomic, assign) id<UIApplicationDelegate> delegate;
-- (void)beginIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) NS_EXTENSION_UNAVAILABLE_IOS(""); // nested. set should be set during animations & transitions to ignore touch and other events
-- (void)endIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) NS_EXTENSION_UNAVAILABLE_IOS("");
-@property(nonatomic, readonly, getter=isIgnoringInteractionEvents) BOOL ignoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)); // returns YES if we are at least one deep in ignoring events
+- (void)beginIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // nested. set should be set during animations & transitions to ignore touch and other events
+- (void)endIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0));
+@property(nonatomic, readonly, getter=isIgnoringInteractionEvents) BOOL ignoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // returns YES if we are at least one deep in ignoring events
@property(nonatomic,getter=isIdleTimerDisabled) BOOL idleTimerDisabled; // default is NO
-- (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT("openURL:options:completionHandler:", ios(2.0, 10.0)) NS_EXTENSION_UNAVAILABLE_IOS("");
+- (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT("openURL:options:completionHandler:", ios(2.0, 10.0)) API_UNAVAILABLE(xros);
- (BOOL)canOpenURL:(NSURL *)url API_AVAILABLE(ios(3.0));
// Options are specified in the section below for openURL options. An empty options dictionary will result in the same
// behavior as the older openURL call, aside from the fact that this is asynchronous and calls the completion handler rather
// than returning a result.
// The completion handler is called on the main queue.
-- (void)openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion API_AVAILABLE(ios(10.0)) NS_EXTENSION_UNAVAILABLE_IOS("");
+- (void)openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion API_AVAILABLE(ios(10.0));
- (void)sendEvent:(UIEvent *)event;
-@property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0));
-@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0));
+@property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
+@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), xros(1.0, 1.0));
- (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
-@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible API_UNAVAILABLE(tvos) API_DEPRECATED("Provide a custom network activity UI in your app if desired.", ios(2.0, 13.0));
+@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible API_UNAVAILABLE(tvos) API_DEPRECATED("Provide a custom network activity UI in your app if desired.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
-@property(readonly, nonatomic) UIStatusBarStyle statusBarStyle API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)); // default is UIStatusBarStyleDefault
+@property(readonly, nonatomic) UIStatusBarStyle statusBarStyle API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // default is UIStatusBarStyleDefault
-@property(readonly, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0));
+@property(readonly, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
-@property(readonly, nonatomic) UIInterfaceOrientation statusBarOrientation API_UNAVAILABLE(tvos) API_DEPRECATED("Use the interfaceOrientation property of the window scene instead.", ios(2.0, 13.0));
+@property(readonly, nonatomic) UIInterfaceOrientation statusBarOrientation API_UNAVAILABLE(tvos) API_DEPRECATED("Use the interfaceOrientation property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
// The system only calls this method if the application delegate has not
// implemented the delegate equivalent. It returns the orientations specified by
@@ -154,8 +127,8 @@
// orientations supported by this application.
- (UIInterfaceOrientationMask)supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
-@property(nonatomic,readonly) NSTimeInterval statusBarOrientationAnimationDuration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // Returns the animation duration for the status bar during a 90 degree orientation change. It should be doubled for a 180 degree orientation change.
-@property(nonatomic,readonly) CGRect statusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)); // returns CGRectZero if the status bar is hidden
+@property(nonatomic,readonly) NSTimeInterval statusBarOrientationAnimationDuration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // Returns the animation duration for the status bar during a 90 degree orientation change. It should be doubled for a 180 degree orientation change.
+@property(nonatomic,readonly) CGRect statusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // returns CGRectZero if the status bar is hidden
@property(nonatomic) NSInteger applicationIconBadgeNumber; // set to 0 to hide. default is 0. In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to set the icon badge.
@@ -176,7 +149,7 @@
This setter will have no effect unless your application has the "fetch"
UIBackgroundMode. See the UIApplicationDelegate method
`application:performFetchWithCompletionHandler:` for more. */
-- (void)setMinimumBackgroundFetchInterval:(NSTimeInterval)minimumBackgroundFetchInterval API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0));
+- (void)setMinimumBackgroundFetchInterval:(NSTimeInterval)minimumBackgroundFetchInterval API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(xros);
;
/*! When background refresh is available for an application, it may launched or resumed in the background to handle significant
@@ -201,11 +174,18 @@
// returns YES if the application both declares multiple scene support in its info.plist and the executing environment allows multiple scenes for at least one system type. NO otherwise.
@property(nonatomic, readonly) BOOL supportsMultipleScenes API_AVAILABLE(ios(13.0));
-// Request a given session be activated, first connecting it to the application if necessary.
-// Providing a session will activate, connecting if necessary, the interface backed by the already existing UISceneSession.
-// Providing a user activity will dispatch that activity to the provided session's scene. If no session is provided, then the system will select one (possibly creating a new session, if appropriate) and pass the activity to the session scene's delegate.
-- (void)requestSceneSessionActivation:(nullable UISceneSession *)sceneSession userActivity:(nullable NSUserActivity *)userActivity options:(nullable UISceneActivationRequestOptions *)options errorHandler:(nullable void (^)(NSError * error))errorHandler API_AVAILABLE(ios(13.0));
+/// Asks the system to activate an existing scene, or create a new scene and associate it with your app.
+/// - Parameters:
+/// - request: The activation request.
+/// - errorHandler: A handler to be called if the request fails.
+- (void)activateSceneSessionForRequest:(UISceneSessionActivationRequest *)request
+ errorHandler:(nullable void (^)(NSError * error))errorHandler API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+- (void)requestSceneSessionActivation:(nullable UISceneSession *)sceneSession
+ userActivity:(nullable NSUserActivity *)userActivity
+ options:(nullable UISceneActivationRequestOptions *)options
+ errorHandler:(nullable void (^)(NSError * error))errorHandler API_DEPRECATED("Please use activateSceneSessionForRequest:errorHandler:", ios(13.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
+
// requests that a given session be closed, disconnecting the currently connected scene if present, and calling the -application:didDiscardSceneSessions: method on the application's delegate
- (void)requestSceneSessionDestruction:(UISceneSession *)sceneSession options:(nullable UISceneDestructionRequestOptions *)options errorHandler:(nullable void (^)(NSError * error))errorHandler API_AVAILABLE(ios(13.0));
@@ -224,23 +204,23 @@
// Returns YES if the application is currently registered for remote notifications, taking into account any systemwide settings; doesn't relate to connectivity.
@property(nonatomic, readonly, getter=isRegisteredForRemoteNotifications) BOOL registeredForRemoteNotifications API_AVAILABLE(ios(8.0));
-- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types API_DEPRECATED("Use -[UIApplication registerForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(3.0, 8.0)) API_UNAVAILABLE(tvos);
+- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types API_DEPRECATED("Use -[UIApplication registerForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(3.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Returns the enabled types, also taking into account any systemwide settings; doesn't relate to connectivity.
-- (UIRemoteNotificationType)enabledRemoteNotificationTypes API_DEPRECATED("Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings", ios(3.0, 8.0)) API_UNAVAILABLE(tvos);
+- (UIRemoteNotificationType)enabledRemoteNotificationTypes API_DEPRECATED("Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings", ios(3.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
// In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to schedule and present UILocalNotifications
@interface UIApplication (UILocalNotifications)
-- (void)presentLocalNotificationNow:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)presentLocalNotificationNow:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (void)scheduleLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos); // copies notification
-- (void)cancelLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
-- (void)cancelAllLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)scheduleLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // copies notification
+- (void)cancelLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (void)cancelAllLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-@property(nullable,nonatomic,copy) NSArray<UILocalNotification *> *scheduledLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getPendingNotificationRequestsWithCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
+@property(nullable,nonatomic,copy) NSArray<UILocalNotification *> *scheduledLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getPendingNotificationRequestsWithCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@@ -248,10 +228,10 @@
@interface UIApplication (UIUserNotificationSettings)
// Registering UIUserNotificationSettings more than once results in previous settings being overwritten.
-- (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:]", ios(8.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Returns the enabled user notification settings, also taking into account any systemwide settings.
-@property(nonatomic, readonly, nullable) UIUserNotificationSettings *currentUserNotificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] and -[UNUserNotificationCenter getNotificationCategoriesWithCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic, readonly, nullable) UIUserNotificationSettings *currentUserNotificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] and -[UNUserNotificationCenter getNotificationCategoriesWithCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@@ -263,7 +243,7 @@
@end
@interface UIApplication (UINewsstand)
-- (void)setNewsstandIconImage:(nullable UIImage *)image API_DEPRECATED("Newsstand apps now behave like normal apps on SpringBoard", ios(5.0, 9.0)) API_UNAVAILABLE(tvos);
+- (void)setNewsstandIconImage:(nullable UIImage *)image API_DEPRECATED("Newsstand apps now behave like normal apps on SpringBoard", ios(5.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@class UIApplicationShortcutItem;
@@ -316,8 +296,8 @@
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
-- (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);
+- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (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(xros) API_UNAVAILABLE(tvos);
typedef NSString * UIApplicationOpenURLOptionsKey NS_TYPED_ENUM;
@@ -328,36 +308,36 @@
- (void)applicationWillTerminate:(UIApplication *)application;
- (void)applicationSignificantTimeChange:(UIApplication *)application; // midnight, carrier time update, daylight savings time change
-- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0));
-- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0));
+- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
+- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
-- (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // in screen coordinates
-- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0));
+- (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // in screen coordinates
+- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
// This callback will be made upon calling -[UIApplication registerUserNotificationSettings:]. The settings the user has granted to the application will be passed in as the second argument.
- - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken API_AVAILABLE(ios(3.0));
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error API_AVAILABLE(ios(3.0));
-- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:] for user visible notifications and -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] for silent remote notifications", ios(3.0, 10.0));
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:] for user visible notifications and -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] for silent remote notifications", ios(3.0, 10.0)) API_UNAVAILABLE(xros);
-- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Called when your app has been activated by the user selecting an action from a local notification.
// A nil action identifier indicates the default action.
// You should call the completion handler as soon as you've finished handling the action.
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Called when your app has been activated by the user selecting an action from a remote notification.
// A nil action identifier indicates the default action.
// You should call the completion handler as soon as you've finished handling the action.
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
/*! This delegate method offers an opportunity for applications with the "remote-notification" background mode to fetch appropriate new data in response to an incoming remote notification. 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.
@@ -365,7 +345,7 @@
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler API_AVAILABLE(ios(7.0));
/// 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));
+- (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(xros);
// Called when the user activates your application by selecting a shortcut on the home screen,
// except when -application:willFinishLaunchingWithOptions: or -application:didFinishLaunchingWithOptions returns NO.
@@ -384,7 +364,7 @@
- (nullable id)application:(UIApplication *)application handlerForIntent:(INIntent *)intent API_AVAILABLE(ios(14.0));
-- (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler API_DEPRECATED("Use application:handlerForIntent: instead", ios(11.0, 14.0));
+- (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler API_DEPRECATED("Use application:handlerForIntent: instead", ios(11.0, 14.0), xros(1.0, 1.0));
- (void)applicationDidEnterBackground:(UIApplication *)application API_AVAILABLE(ios(4.0));
- (void)applicationWillEnterForeground:(UIApplication *)application API_AVAILABLE(ios(4.0));
@@ -412,8 +392,8 @@
- (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder API_AVAILABLE(ios(6.0));
// Deprecated State Restoration opt-in methods:
-- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldSaveSecureApplicationState: instead", ios(6.0, 13.2));
-- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldRestoreSecureApplicationState: instead", ios(6.0, 13.2));
+- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldSaveSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(xros);
+- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldRestoreSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(xros);
#pragma mark -- User Activity Continuation protocol adopted by UIApplication delegate --
@@ -448,7 +428,7 @@
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options API_AVAILABLE(ios(13.0));
// Called when the system, due to a user interaction or a request from the application itself, removes one or more representation from the -[UIApplication openSessions] set
-// If sessions are discarded while the application is not running, this method is called shortly after the applications next launch.
+// If sessions are discarded while the application is not running, this method is called shortly after the application's next launch.
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0));
#pragma mark -- UIKeyCommand Support --
@@ -461,23 +441,23 @@
@interface UIApplication(UIApplicationDeprecated)
-@property(nonatomic,getter=isProximitySensingEnabled) BOOL proximitySensingEnabled API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is NO. see UIDevice for replacement
-- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 3.2)) API_UNAVAILABLE(tvos);
+@property(nonatomic,getter=isProximitySensingEnabled) BOOL proximitySensingEnabled API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros, tvos); // default is NO. see UIDevice for replacement
+- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 3.2)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Explicit setting of the status bar orientation is more limited in iOS 6.0 and later.
-@property(readwrite, nonatomic) UIInterfaceOrientation statusBarOrientation API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
-- (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic) UIInterfaceOrientation statusBarOrientation API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Setting the statusBarStyle does nothing if your application is using the default UIViewController-based status bar system.
-@property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
-- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.
-@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
-- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(3.2, 9.0)) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(3.2, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(tvos);
-- (void)clearKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(tvos);
+- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (void)clearKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@@ -496,12 +476,12 @@
UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification;
UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification;
UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo contains NSNumber with new orientation
-UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo contains NSNumber with old orientation
-UIKIT_EXTERN NSString *const UIApplicationStatusBarOrientationUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo dictionary key for status bar orientation
-UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo contains NSValue with new frame
-UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo contains NSValue with old frame
-UIKIT_EXTERN NSString *const UIApplicationStatusBarFrameUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)); // userInfo dictionary key for status bar frame
+UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo contains NSNumber with new orientation
+UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo contains NSNumber with old orientation
+UIKIT_EXTERN NSString *const UIApplicationStatusBarOrientationUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo dictionary key for status bar orientation
+UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo contains NSValue with new frame
+UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo contains NSValue with old frame
+UIKIT_EXTERN NSString *const UIApplicationStatusBarFrameUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(xros); // userInfo dictionary key for status bar frame
UIKIT_EXTERN NSNotificationName const UIApplicationBackgroundRefreshStatusDidChangeNotification API_AVAILABLE(ios(7.0), tvos(11.0));
UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataWillBecomeUnavailable API_AVAILABLE(ios(4.0));
@@ -510,8 +490,8 @@
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsURLKey NS_SWIFT_NAME(url) API_AVAILABLE(ios(3.0)); // userInfo contains NSURL with launch URL
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsSourceApplicationKey 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 NS_SWIFT_NAME(remoteNotification) API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // userInfo contains NSDictionary with payload
-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(tvos); // userInfo contains a UILocalNotification
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsAnnotationKey NS_SWIFT_NAME(annotation) API_DEPRECATED("This dictionary key is no longer used.", ios(3.2, 16.0)); // userInfo contains object with annotation property list
+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(xros) API_UNAVAILABLE(tvos); // userInfo contains a UILocalNotification
+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(xros); // userInfo contains object with annotation property list
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocationKey NS_SWIFT_NAME(location) API_AVAILABLE(ios(4.0)); // app was launched in response to a CoreLocation event.
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsNewsstandDownloadsKey NS_SWIFT_NAME(newsstandDownloads) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // userInfo contains an NSArray of NKAssetDownload identifiers
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothCentralsKey NS_SWIFT_NAME(bluetoothCentrals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBCentralManager restore identifiers
@@ -527,7 +507,7 @@
UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString API_AVAILABLE(ios(8.0));
#if __swift__
-UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_DEPRECATED_WITH_REPLACEMENT("UIApplication.openNotificationSettingsURLString", ios(15.4, 16.0));
+UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_DEPRECATED_WITH_REPLACEMENT("UIApplication.openNotificationSettingsURLString", ios(15.4, 16.0), xros(1.0, 1.0));
#else
UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_AVAILABLE(ios(15.4));
#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2023-03-09 19:10:55
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2023-05-23 03:09:13
@@ -35,7 +35,7 @@
/// Returns the default configuration for a sidebar list header.
+ (instancetype)listSidebarHeaderConfiguration API_UNAVAILABLE(tvos, watchos);
/// Returns the default configuration for a sidebar list cell.
-+ (instancetype)listSidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
++ (instancetype)listSidebarCellConfiguration API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// Returns the default configuration for an accompanied sidebar list cell.
+ (instancetype)listAccompaniedSidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2023-03-09 19:17:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2023-05-26 22:50:41
@@ -15,11 +15,13 @@
#import <UIKit/UIBarCommon.h>
#import <UIKit/UISpringLoadedInteractionSupporting.h>
+#import <Symbols/NSSymbolEffect.h>
+
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
typedef NS_ENUM(NSInteger, UIBarButtonItemStyle) {
UIBarButtonItemStylePlain,
- UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)),
+ UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)) API_UNAVAILABLE(xros),
UIBarButtonItemStyleDone,
};
@@ -47,7 +49,7 @@
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo API_AVAILABLE(ios(3.0)),
UIBarButtonSystemItemRedo API_AVAILABLE(ios(3.0)),
- UIBarButtonSystemItemPageCurl API_DEPRECATED("", ios(4.0, 11.0)),
+ UIBarButtonSystemItemPageCurl API_DEPRECATED("", ios(4.0, 11.0)) API_UNAVAILABLE(xros),
UIBarButtonSystemItemClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos)
};
@@ -105,21 +107,24 @@
@property (nonatomic, readwrite, copy, nullable) UIAction *primaryAction API_AVAILABLE(ios(14.0));
/// 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.
-@property (nonatomic, readwrite, copy, nullable) UIMenu *menu API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, copy, nullable) UIMenu *menu API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Preferred menu element ordering strategy for menus displayed by this button.
-@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Indicates if the button changes selection as its primary action.
/// This shows the menu as options for selection if a menu is populated and no action when tapped is enabled.
/// If no menu is provided and no action is enabled when tapped, the item is toggled on and off for the primary action.
-@property (nonatomic, readwrite, assign) BOOL changesSelectionAsPrimaryAction API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, assign) BOOL changesSelectionAsPrimaryAction API_AVAILABLE(ios(15.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@property (nonatomic, readwrite, assign, getter=isSelected) BOOL selected API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
/// If the item should be hidden from display.
@property (nonatomic, readwrite, assign, getter = isHidden) BOOL hidden API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+/// Whether or not symbol animations are enabled for this bar button item.
+@property (nonatomic, readwrite, assign, getter=isSymbolAnimationEnabled) BOOL symbolAnimationEnabled API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
/// 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);
@@ -187,6 +192,41 @@
@interface UIBarButtonItem (SpringLoading) <UISpringLoadedInteractionSupporting>
@end
#endif
+
+@interface UIBarButtonItem (/*Symbol animation presets*/)
+
+/// Adds a symbol effect to the bar button item with default options and animation.
+/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Adds a symbol effect to the bar button item with specified options and default animation.
+/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Adds a symbol effect to the bar button item with specified options and animation.
+/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Removes from the bar button item the symbol effect matching the type of effect passed in, with default options and animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes from the bar button item the symbol effect matching the type of effect passed in, with specified options and default animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes from the bar button item the symbol effect matching the type of effect passed in, with specified options and animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Removes all symbol effects from the bar button item with default options and animation.
+- (void)removeAllSymbolEffects API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes all symbol effects from the bar button item with specified options and default animation.
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes all symbol effects from the bar button item with specified options and animation.
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Sets the symbol image on the bar button item with a symbol content transition and default options.
+/// Passing in a non-symbol image will result in undefined behavior.
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Sets the symbol image on the bar button item with a symbol content transition and specified options.
+/// Passing in a non-symbol image will result in undefined behavior.
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2023-03-09 19:14:41
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2023-05-23 03:09:20
@@ -16,8 +16,8 @@
UIBarMetricsDefaultPrompt = 101, // Applicable only in bars with the prompt property, such as UINavigationBar and UISearchBar
UIBarMetricsCompactPrompt,
- UIBarMetricsLandscapePhone API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompact", ios(5.0, 8.0)) = UIBarMetricsCompact,
- UIBarMetricsLandscapePhonePrompt API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompactPrompt", ios(7.0, 8.0)) = UIBarMetricsCompactPrompt,
+ UIBarMetricsLandscapePhone API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompact", ios(5.0, 8.0)) API_UNAVAILABLE(xros) = UIBarMetricsCompact,
+ UIBarMetricsLandscapePhonePrompt API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompactPrompt", ios(7.0, 8.0)) API_UNAVAILABLE(xros) = UIBarMetricsCompactPrompt,
};
typedef NS_ENUM(NSInteger, UIBarPosition) {
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2023-03-09 19:14:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2023-05-23 03:09:14
@@ -42,11 +42,11 @@
/* And always-light and always-dark versions:
*/
- UIBlurEffectStyleSystemUltraThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
- UIBlurEffectStyleSystemThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
- UIBlurEffectStyleSystemMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
- UIBlurEffectStyleSystemThickMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
- UIBlurEffectStyleSystemChromeMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
+ UIBlurEffectStyleSystemUltraThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemThickMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemChromeMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
UIBlurEffectStyleSystemUltraThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
UIBlurEffectStyleSystemThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2023-03-09 23:50:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2023-05-31 00:46:40
@@ -102,15 +102,15 @@
@property (nonatomic, readwrite, copy, nullable) UIButtonPointerStyleProvider pointerStyleProvider API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
/// An optional menu for the button to display. The button will automatically enable or disable its contextMenuInteraction when a non-nil or nil menu is set. Defaults to nil.
-@property (nonatomic, readwrite, copy, nullable) UIMenu *menu API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, copy, nullable) UIMenu *menu API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Preferred menu element ordering strategy for menus displayed by this button.
-@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Indicates if the button changes selection as its primary action.
/// This shows the menu as options for selection if a menu is populated and showsMenuAsPrimaryAction is enabled.
/// If no menu is provided or it is not the primary action, UIControlStateSelected is toggled on and off for the primary action.
-@property (nonatomic, readwrite, assign) BOOL changesSelectionAsPrimaryAction API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, assign) BOOL changesSelectionAsPrimaryAction API_AVAILABLE(ios(15.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// you can set the image, title color, title shadow color, and background image to use for each state. you can specify data
// for a combined state by using the flags added together. in general, you should specify a value for the normal state to be used
@@ -154,29 +154,29 @@
@interface UIButton(/*UIButtonDeprecated*/)
-@property(nonatomic,strong) UIFont *font API_DEPRECATED("Specify an attributed title with a custom font", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
-@property(nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("Specify an attributed title with a customized paragraph style", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
-@property(nonatomic) CGSize titleShadowOffset API_DEPRECATED("Specify an attributed title with a customized shadow style", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic,strong) UIFont *font API_DEPRECATED("Specify an attributed title with a custom font", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+@property(nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("Specify an attributed title with a customized paragraph style", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+@property(nonatomic) CGSize titleShadowOffset API_DEPRECATED("Specify an attributed title with a customized shadow style", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// The effect of these properties can be replicated via UIButtonConfiguration.contentInset and UIButtonConfiguration.imageToTitlePadding. They are ignored when a configuration is set.
-@property(nonatomic) UIEdgeInsets contentEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0)) UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero. On tvOS 10 or later, default is nonzero except for custom buttons.
-@property(nonatomic) UIEdgeInsets titleEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0)); // default is UIEdgeInsetsZero
-@property(nonatomic) UIEdgeInsets imageEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0)); // default is UIEdgeInsetsZero
+@property(nonatomic) UIEdgeInsets contentEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)) UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero. On tvOS 10 or later, default is nonzero except for custom buttons.
+@property(nonatomic) UIEdgeInsets titleEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)); // default is UIEdgeInsetsZero
+@property(nonatomic) UIEdgeInsets imageEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)); // default is UIEdgeInsetsZero
// The effect of these properties can be replicated by providing an appropriate UIButtonConfiguration. They are ignored when a configuration set.
-@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0)); // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
-@property(nonatomic) BOOL adjustsImageWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0)); // default is YES. if YES, image is drawn darker when highlighted(pressed)
-@property(nonatomic) BOOL adjustsImageWhenDisabled API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0)); // default is YES. if YES, image is drawn lighter when disabled
+@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)); // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
+@property(nonatomic) BOOL adjustsImageWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)); // default is YES. if YES, image is drawn darker when highlighted(pressed)
+@property(nonatomic) BOOL adjustsImageWhenDisabled API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0)); // default is YES. if YES, image is drawn lighter when disabled
// These properties are ignored when a configuration is set and have no replacement.
-@property(nonatomic) BOOL showsTouchWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic) BOOL showsTouchWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
// These methods will not be called when using a configuration.
// To change the layout of button content, override -layoutSubviews, call super, and then position views as you see fit.
-- (CGRect)backgroundRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0));
-- (CGRect)contentRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0));
-- (CGRect)titleRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0));
-- (CGRect)imageRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0));
+- (CGRect)backgroundRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0));
+- (CGRect)contentRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0));
+- (CGRect)titleRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0));
+- (CGRect)imageRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), xros(1.0, 1.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarViewDecoration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarViewDecoration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarViewDecoration.h 2023-03-09 19:14:18
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarViewDecoration.h 2023-05-23 03:09:12
@@ -27,7 +27,7 @@
/**
* @abstract Creates a new image-based decoration with the specified image, color, and size.
*
- * @param image The image of the decoration, defaults to @c circlebadge.fill if nil.
+ * @param image The image of the decoration, defaults to @c circ lebadge.fill if nil.
* @param color The color of the the decoration. defaults to @c UIColor.systemFillColor if nil.
* @param size The preferred size of the decoration. The default is UICalendarViewDecorationSizeMedium
*/
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2023-03-09 19:14:26
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2023-05-31 00:46:43
@@ -154,7 +154,7 @@
/// Up/down chevrons that indicate a tap anywhere in the cell presents a pop-up menu.
-UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryPopUpMenu : UICellAccessory
/// Creates a new pop-up menu accessory using the provided menu.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h 2023-03-09 19:14:19
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h 2023-05-23 03:09:13
@@ -45,7 +45,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UICloudSharingController : UIViewController
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2023-03-09 19:11:02
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2023-05-23 03:09:16
@@ -168,9 +168,9 @@
// These methods provide support for copy/paste actions on cells.
// All three should be implemented if any are.
-- (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0));
-- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0));
-- (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0));
+- (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(xros);
+- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(xros);
+- (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(xros);
// support for custom transition layout
- (nonnull UICollectionViewTransitionLayout *)collectionView:(UICollectionView *)collectionView transitionLayoutForOldLayout:(UICollectionViewLayout *)fromLayout newLayout:(UICollectionViewLayout *)toLayout;
@@ -186,7 +186,7 @@
- (BOOL)collectionView:(UICollectionView *)collectionView selectionFollowsFocusForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveOfItemFromOriginalIndexPath:(NSIndexPath *)originalIndexPath atCurrentIndexPath:(NSIndexPath *)currentIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
-- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveFromItemAtIndexPath:(NSIndexPath *)currentIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:targetIndexPathForMoveOfItemFromOriginalIndexPath:atCurrentIndexPath:toProposedIndexPath:", ios(9.0, 15.0));
+- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveFromItemAtIndexPath:(NSIndexPath *)currentIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:targetIndexPathForMoveOfItemFromOriginalIndexPath:atCurrentIndexPath:toProposedIndexPath:", ios(9.0, 15.0), xros(1.0, 1.0));
- (CGPoint)collectionView:(UICollectionView *)collectionView targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset API_AVAILABLE(ios(9.0)); // customize the content offset to be applied during transition or update animations
@@ -260,7 +260,7 @@
*/
- (nullable UIContextMenuConfiguration *)collectionView:(UICollectionView *)collectionView
contextMenuConfigurationForItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths
- point:(CGPoint)point API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+ point:(CGPoint)point API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when a context menu interaction begins in this collection view to request a preview for the interaction's initial highlight effect.
@@ -272,7 +272,7 @@
*/
- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView
contextMenuConfiguration:(UIContextMenuConfiguration *)configuration
- highlightPreviewForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+ highlightPreviewForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when a context menu presented from this collection view is dismissed. Return a @c UITargetedPreview corresponding to the item at the given indexPath.
@@ -283,7 +283,7 @@
*/
- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView
contextMenuConfiguration:(UIContextMenuConfiguration *)configuration
- dismissalPreviewForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+ dismissalPreviewForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the interaction is about to "commit" in response to the user tapping the preview.
@@ -301,7 +301,7 @@
* @param configuration The configuration of the menu about to be displayed.
* @param animator Appearance animator. Add animations to run them alongside the appearance transition.
*/
-- (void)collectionView:(UICollectionView *)collectionView willDisplayContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos, tvos);
+- (void)collectionView:(UICollectionView *)collectionView willDisplayContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(13.2), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the collection view's context menu interaction is about to end.
@@ -310,7 +310,7 @@
* @param configuration Ending configuration.
* @param animator Disappearance animator. Add animations to run them alongside the disappearance transition.
*/
-- (void)collectionView:(UICollectionView *)collectionView willEndContextMenuInteractionWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos, tvos);
+- (void)collectionView:(UICollectionView *)collectionView willEndContextMenuInteractionWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(13.2), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Return a valid @c UIWindowSceneActivationConfiguration to allow for the cell to be expanded into a new scene. Return nil to prevent the interaction from starting.
@@ -335,7 +335,7 @@
*/
- (nullable UIContextMenuConfiguration *)collectionView:(UICollectionView *)collectionView
contextMenuConfigurationForItemAtIndexPath:(NSIndexPath *)indexPath
- point:(CGPoint)point API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(13.0, 16.0)) API_UNAVAILABLE(watchos, tvos);
+ point:(CGPoint)point API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(13.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(watchos, tvos);
/*!
* @abstract Called when the interaction begins. Return a UITargetedPreview describing the desired highlight preview.
@@ -344,7 +344,7 @@
* @param collectionView The @c UICollectionView.
* @param configuration The configuration of the menu about to be displayed by this interaction.
*/
-- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView previewForHighlightingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfiguration:highlightPreviewForItemAtIndexPath:", ios(13.0, 16.0)) API_UNAVAILABLE(watchos, tvos);
+- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView previewForHighlightingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfiguration:highlightPreviewForItemAtIndexPath:", ios(13.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(watchos, tvos);
/*!
* @abstract Called when the interaction is about to dismiss. Return a UITargetedPreview describing the desired dismissal target.
@@ -354,7 +354,7 @@
* @param collectionView The @c UICollectionView.
* @param configuration The configuration of the menu displayed by this interaction.
*/
-- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView previewForDismissingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfiguration:dismissalPreviewForItemAtIndexPath:", ios(13.0, 16.0)) API_UNAVAILABLE(watchos, tvos);
+- (nullable UITargetedPreview *)collectionView:(UICollectionView *)collectionView previewForDismissingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfiguration:dismissalPreviewForItemAtIndexPath:", ios(13.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(watchos, tvos);
@end
@@ -381,7 +381,7 @@
*/
@property (nonatomic) BOOL dragInteractionEnabled API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-@property (nonatomic, readonly, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readonly, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(13.2), tvos(17.0)) API_UNAVAILABLE(watchos);
/* Reordering cadence affects how easily reordering occurs while dragging around a reorder-capable drop destination.
* Default is UICollectionViewReorderingCadenceImmediate.
@@ -396,10 +396,10 @@
// If a nib is registered, it must contain exactly 1 top level object which is a UICollectionViewCell.
// If a class is registered, it will be instantiated via alloc/initWithFrame:
- (void)registerClass:(nullable Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier;
-- (void)registerNib:(nullable UINib *)nib forCellWithReuseIdentifier:(NSString *)identifier;
+- (void)registerNib:(nullable UINib *)nib forCellWithReuseIdentifier:(NSString *)identifier API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
- (void)registerClass:(nullable Class)viewClass forSupplementaryViewOfKind:(NSString *)elementKind withReuseIdentifier:(NSString *)identifier;
-- (void)registerNib:(nullable UINib *)nib forSupplementaryViewOfKind:(NSString *)kind withReuseIdentifier:(NSString *)identifier;
+- (void)registerNib:(nullable UINib *)nib forSupplementaryViewOfKind:(NSString *)kind withReuseIdentifier:(NSString *)identifier API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
- (__kindof UICollectionViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;
- (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind withReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;
@@ -440,7 +440,7 @@
- (nullable NSIndexPath *)indexPathForCell:(UICollectionViewCell *)cell;
// Returns any existing visible or prepared cell for the index path. Returns nil when no cell exists, or if index path is out of range.
-- (nullable UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath;
+- (nullable __kindof UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath;
@property (nonatomic, readonly) NSArray<__kindof UICollectionViewCell *> *visibleCells;
@property (nonatomic, readonly) NSArray<NSIndexPath *> *indexPathsForVisibleItems;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2023-03-09 23:50:55
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2023-05-31 00:47:36
@@ -64,24 +64,24 @@
@end
typedef NS_ENUM(NSInteger,UICollectionLayoutSectionOrthogonalScrollingBehavior) {
- // default behavior. Section will layout along main layout axis (i.e. configuration.scrollDirection)
+ // The section will layout along the main layout axis.
UICollectionLayoutSectionOrthogonalScrollingBehaviorNone,
// NOTE: For each of the remaining cases, the section content will layout orthogonal to the main layout axis (e.g. main layout axis == .vertical, section will scroll in .horizontal axis)
- // Standard scroll view behavior: UIScrollViewDecelerationRateNormal
+ // The section allows users to scroll its content orthogonally with continuous scrolling.
UICollectionLayoutSectionOrthogonalScrollingBehaviorContinuous,
- // Scrolling will come to rest on the leading edge of a group boundary
+ // The section allows users to scroll its content orthogonally, coming to a natural stop at the leading boundary of the visible group.
UICollectionLayoutSectionOrthogonalScrollingBehaviorContinuousGroupLeadingBoundary,
- // Standard scroll view paging behavior (UIScrollViewDecelerationRateFast) with page size == extent of the collection view's bounds
+ // The section allows users to page its content orthogonally.
UICollectionLayoutSectionOrthogonalScrollingBehaviorPaging,
- // Fractional size paging behavior determined by the sections layout group's dimension
+ // The section allows users to page its content orthogonally one group at a time.
UICollectionLayoutSectionOrthogonalScrollingBehaviorGroupPaging,
- // Same of group paging with additional leading and trailing content insets to center each group's contents along the orthogonal axis
+ // The section allows users to page its content orthogonally one group at a time, centering each group.
UICollectionLayoutSectionOrthogonalScrollingBehaviorGroupPagingCentered,
} API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
@@ -89,6 +89,28 @@
typedef void (^NSCollectionLayoutSectionVisibleItemsInvalidationHandler)(NSArray<id<NSCollectionLayoutVisibleItem>> *visibleItems, CGPoint contentOffset, id<NSCollectionLayoutEnvironment> layoutEnvironment);
+typedef CGFloat UICollectionLayoutSectionOrthogonalScrollingDecelerationRate NS_TYPED_ENUM;
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateAutomatic API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateNormal API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateFast API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+typedef NS_ENUM(NSInteger, UICollectionLayoutSectionOrthogonalScrollingBounce) {
+ UICollectionLayoutSectionOrthogonalScrollingBounceAutomatic,
+ UICollectionLayoutSectionOrthogonalScrollingBounceAlways,
+ UICollectionLayoutSectionOrthogonalScrollingBounceNever
+} API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionLayoutSectionOrthogonalScrollingProperties : NSObject <NSCopying>
+
+/// The orthogonal scroll view's rate of deceleration after the user lifts their finger.
+@property(nonatomic) UICollectionLayoutSectionOrthogonalScrollingDecelerationRate decelerationRate;
+
+/// The orthogonal scroll view's bounce behavior.
+@property(nonatomic) UICollectionLayoutSectionOrthogonalScrollingBounce bounce;
+
+@end
+
UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutSection : NSObject<NSCopying>
+ (instancetype)sectionWithGroup:(NSCollectionLayoutGroup*)group;
@@ -109,6 +131,9 @@
// default is .none
@property(nonatomic) UICollectionLayoutSectionOrthogonalScrollingBehavior orthogonalScrollingBehavior;
+// Properties to configure the orthogonal scrolling section.
+@property(nonatomic,readonly) UICollectionLayoutSectionOrthogonalScrollingProperties *orthogonalScrollingProperties API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
// Supplementaries associated with the boundary edges of the section
@property(nonatomic,copy) NSArray<NSCollectionLayoutBoundarySupplementaryItem*> *boundarySupplementaryItems;
@@ -247,13 +272,30 @@
// dimension is estimated with a point value. Actual size will be determined when the content is rendered.
+ (instancetype)estimatedDimension:(CGFloat)estimatedDimension;
+/// Items with this dimension type will receive at least as much room as the view requires, and will
+/// grow to match the dimension of the largest estimated sibling in their parent.
+/// When specified on the outermost group for a section, the largest size will be shared across the entire section.
+///
+/// Eg: All `NSCollectionLayoutItem`s specified with a `uniformAcrossSiblingsWithEstimate:` `heightDimension` in a horizontal `NSCollectionLayoutGroup`
+/// will have a height equal to the height of the tallest item in that group.
+///
+/// When computing the size for a dimension of this type, the layout will need to retrieve preferred attributes for all siblings
+/// in its parent, which in `UICollectionView` means creating views for all dependent items. This can be very expensive, so `uniformAcrossSiblingsWithEstimate` should
+/// only be used in layouts where the number of dependent items is known to be relatively small.
++ (instancetype)uniformAcrossSiblingsWithEstimate:(CGFloat)estimatedDimension API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@property(nonatomic,readonly) BOOL isFractionalWidth;
@property(nonatomic,readonly) BOOL isFractionalHeight;
@property(nonatomic,readonly) BOOL isAbsolute;
+
+/// Returns `YES` if the receiver is `estimated` OR `uniformAcrossSiblings`.
@property(nonatomic,readonly) BOOL isEstimated;
+
+@property(nonatomic,readonly) BOOL isUniformAcrossSiblings API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
@property(nonatomic,readonly) CGFloat dimension;
@end
@@ -554,18 +596,18 @@
@interface NSCollectionLayoutSection (Deprecated)
// by default, section supplementaries will follow any section-specific contentInsets
-@property(nonatomic) BOOL supplementariesFollowContentInsets API_DEPRECATED_WITH_REPLACEMENT("supplementaryContentInsetsReference", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0));
+@property(nonatomic) BOOL supplementariesFollowContentInsets API_DEPRECATED_WITH_REPLACEMENT("supplementaryContentInsetsReference", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0), xros(1.0, 1.0));
@end
@interface NSCollectionLayoutGroup (Deprecated)
// Specifies a group that will have N items equally sized along the horizontal axis. use interItemSpacing to insert space between items
// Forces the width dimension of the subitem to .fractionalWidth(1.0/count).
-+ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("+horizontalGroupWithLayoutSize:repeatingSubitem:count:", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0));
++ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("+horizontalGroupWithLayoutSize:repeatingSubitem:count:", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0), xros(1.0, 1.0));
// Specifies a group that will have N items equally sized along the vertical axis. use interItemSpacing to insert space between items
// Forces the height dimension of the subitem to .fractionalHeight(1.0/count).
-+ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("+verticalGroupWithLayoutSize:repeatingSubitem:count:", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0));
++ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("+verticalGroupWithLayoutSize:repeatingSubitem:count:", ios(13.0, 16.0), tvos(13.0, 16.0), watchos(6.0, 9.0), xros(1.0, 1.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h 2023-05-23 03:09:19
@@ -19,7 +19,7 @@
@interface UICollectionViewCellRegistration : NSObject
+ (instancetype)registrationWithCellClass:(Class)cellClass configurationHandler:(UICollectionViewCellRegistrationConfigurationHandler)configurationHandler;
-+ (instancetype)registrationWithCellNib:(UINib*)cellNib configurationHandler:(UICollectionViewCellRegistrationConfigurationHandler)configurationHandler;
++ (instancetype)registrationWithCellNib:(UINib*)cellNib configurationHandler:(UICollectionViewCellRegistrationConfigurationHandler)configurationHandler API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
@property(nonatomic,readonly,nullable) Class cellClass;
@property(nonatomic,readonly,nullable) UINib *cellNib;
@@ -35,7 +35,7 @@
@interface UICollectionViewSupplementaryRegistration : NSObject
+ (instancetype)registrationWithSupplementaryClass:(Class)supplementaryClass elementKind:(NSString*)elementKind configurationHandler:(UICollectionViewSupplementaryRegistrationConfigurationHandler)configurationHandler;
-+ (instancetype)registrationWithSupplementaryNib:(UINib*)supplementaryNib elementKind:(NSString*)elementKind configurationHandler:(UICollectionViewSupplementaryRegistrationConfigurationHandler)configurationHandler;
++ (instancetype)registrationWithSupplementaryNib:(UINib*)supplementaryNib elementKind:(NSString*)elementKind configurationHandler:(UICollectionViewSupplementaryRegistrationConfigurationHandler)configurationHandler API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
@property(nonatomic,readonly,nullable) Class supplementaryClass;
@property(nonatomic,readonly,nullable) UINib *supplementaryNib;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h 2023-03-09 19:11:09
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h 2023-05-23 03:17:03
@@ -102,7 +102,7 @@
- (void)invalidateLayoutWithContext:(UICollectionViewLayoutInvalidationContext *)context API_AVAILABLE(ios(7.0));
- (void)registerClass:(nullable Class)viewClass forDecorationViewOfKind:(NSString *)elementKind;
-- (void)registerNib:(nullable UINib *)nib forDecorationViewOfKind:(NSString *)elementKind;
+- (void)registerNib:(nullable UINib *)nib forDecorationViewOfKind:(NSString *)elementKind API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2023-03-09 19:14:43
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2023-05-23 03:09:20
@@ -20,7 +20,7 @@
/// Called when the `selectedColor` changes.
- (void)colorPickerViewControllerDidSelectColor:(UIColorPickerViewController *)viewController
- API_DEPRECATED_WITH_REPLACEMENT("colorPickerViewController:didSelectColor:continuously:", ios(14.0, 15.0));
+ API_DEPRECATED_WITH_REPLACEMENT("colorPickerViewController:didSelectColor:continuously:", ios(14.0, 15.0), xros(1.0, 1.0));
/// Called when the selected color changes.
///
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableButtonProperties.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableButtonProperties.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableButtonProperties.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableButtonProperties.h 2023-05-23 03:09:16
@@ -0,0 +1,39 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableButtonProperties.h>)
+//
+// UIContentUnavailableButtonProperties.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIButton.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIButtonConfiguration;
+@class UIAction;
+@class UIMenu;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableButtonProperties : NSObject <NSCopying, NSSecureCoding>
+
+/// The primary action of the button.
+@property (nonatomic, copy, nullable) UIAction *primaryAction;
+
+/// An optional menu for the button to display.
+@property (nonatomic, copy, nullable) UIMenu *menu;
+
+/// Whether the button is enabled. Default is YES.
+@property (nonatomic, getter=isEnabled) BOOL enabled;
+
+/// The role of the button.
+@property (nonatomic) UIButtonRole role;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableButtonProperties.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfiguration.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfiguration.h 2023-05-23 03:16:57
@@ -0,0 +1,90 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableConfiguration.h>)
+//
+// UIContentUnavailableConfiguration.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIContentConfiguration.h>
+#import <UIKit/UIContentUnavailableImageProperties.h>
+#import <UIKit/UIContentUnavailableTextProperties.h>
+#import <UIKit/UIContentUnavailableButtonProperties.h>
+#import <UIKit/UIBackgroundConfiguration.h>
+#import <UIKit/UIGeometry.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSInteger, UIContentUnavailableAlignment) {
+ UIContentUnavailableAlignmentCenter,
+ UIContentUnavailableAlignmentNatural
+} API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableConfiguration : NSObject <UIContentConfiguration, NSSecureCoding>
+
+/// Returns the default configuration for unavailable content.
++ (instancetype)emptyConfiguration;
+/// Returns the default configuration for content which is loading.
++ (instancetype)loadingConfiguration;
+/// Returns the default configuration for searches which return no results.
++ (instancetype)searchConfiguration;
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The image to display.
+@property (nonatomic, strong, nullable) UIImage *image;
+/// Additional properties to configure the image. When adopting the loading configuration, relevant properties are applied to the activity indicator.
+@property (nonatomic, readonly) UIContentUnavailableImageProperties *imageProperties;
+
+/// The primary text.
+@property (nonatomic, copy, nullable) NSString *text;
+/// An attributed variant of the primary text, which supersedes the `text` and some properties of the `textProperties` if set.
+@property (nonatomic, copy, nullable) NSAttributedString *attributedText;
+/// Additional properties to configure the primary text.
+@property (nonatomic, readonly) UIContentUnavailableTextProperties *textProperties;
+
+/// The secondary text.
+@property (nonatomic, copy, nullable) NSString *secondaryText;
+/// An attributed variant of the secondary text, which supersedes the `secondaryText` and some properties of the `secondaryTextProperties` if set.
+@property (nonatomic, copy, nullable) NSAttributedString *secondaryAttributedText;
+/// Additional properties to configure the secondary text.
+@property (nonatomic, readonly) UIContentUnavailableTextProperties *secondaryTextProperties;
+
+/// The primary button.
+@property (nonatomic, strong) UIButtonConfiguration *button;
+/// Additional properties to configure the primary button.
+@property (nonatomic, readonly) UIContentUnavailableButtonProperties *buttonProperties;
+
+/// The secondary button.
+@property (nonatomic, strong) UIButtonConfiguration *secondaryButton;
+/// Additional properties to configure the secondary button.
+@property (nonatomic, readonly) UIContentUnavailableButtonProperties *secondaryButtonProperties;
+
+/// The alignment of the image, text and buttons.
+@property (nonatomic) UIContentUnavailableAlignment alignment;
+/// Whether the content view will preserve inherited layout margins from its superview on the horizontal and/or vertical axes.
+@property (nonatomic) UIAxis axesPreservingSuperviewLayoutMargins;
+/// The margins for the content to the edges of the content view. (When preserving superview layout margins on one or both axes, these are just minimum margins, as inherited margins may be larger.)
+@property (nonatomic) NSDirectionalEdgeInsets directionalLayoutMargins;
+
+/// Padding between the image and text. Only applies when there is both an image and text.
+@property (nonatomic) CGFloat imageToTextPadding;
+/// Padding between the text and secondary text. Only applies when there is both text and secondary text.
+@property (nonatomic) CGFloat textToSecondaryTextPadding;
+/// Padding between the button and text. Only applies when there is both a button and text.
+@property (nonatomic) CGFloat textToButtonPadding;
+/// Padding between the button and secondary button. Only applies when there is both a button and a secondary button.
+@property (nonatomic) CGFloat buttonToSecondaryButtonPadding;
+
+/// The background configuration.
+@property (nonatomic, strong) UIBackgroundConfiguration *background;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableConfiguration.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfigurationState.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfigurationState.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfigurationState.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableConfigurationState.h 2023-05-23 03:09:11
@@ -0,0 +1,36 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableConfigurationState.h>)
+//
+// UIContentUnavailableConfigurationState.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIConfigurationState.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UITraitCollection;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableConfigurationState : NSObject <UIConfigurationState>
+
+- (instancetype)initWithTraitCollection:(UITraitCollection *)traitCollection NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// The trait collection.
+@property (nonatomic, strong) UITraitCollection *traitCollection;
+
+/// The search text. Default is the search bar text of the view controller's search controller.
+@property (nonatomic, strong, nullable) NSString *searchText;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableConfigurationState.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableImageProperties.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableImageProperties.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableImageProperties.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableImageProperties.h 2023-05-23 03:09:19
@@ -0,0 +1,46 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableImageProperties.h>)
+//
+// UIContentUnavailableImageProperties.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIImage;
+@class UIImageSymbolConfiguration;
+@class UIColor;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableImageProperties : NSObject <NSCopying, NSSecureCoding>
+
+/// The symbol configuration to use.
+@property (nonatomic, copy, nullable) UIImageSymbolConfiguration *preferredSymbolConfiguration;
+
+/// The tint color to apply to the image view. Nil will use the image view's normal inherited tint color.
+@property (nonatomic, strong, nullable) UIColor *tintColor;
+
+/// The preferred corner radius (using a continuous corner curve) for the image.
+/// Default is 0. If the image is too small to fit the requested radius, the corner curve
+/// and radius will be adjusted to fit.
+@property (nonatomic) CGFloat cornerRadius;
+
+/// Enforces a maximum size for the image. The default value is CGSizeZero. A zero width or
+/// height means the size is unconstrained on that dimension. If the image exceeds this size
+/// on either dimension, its size will be reduced proportionately (maintaining aspect ratio).
+@property (nonatomic) CGSize maximumSize;
+
+/// Prevents the image from inverting its colors when the accessibility setting is enabled.
+@property (nonatomic) BOOL accessibilityIgnoresInvertColors;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableImageProperties.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableTextProperties.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableTextProperties.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableTextProperties.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableTextProperties.h 2023-05-23 03:09:14
@@ -0,0 +1,48 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableTextProperties.h>)
+//
+// UIContentUnavailableTextProperties.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/NSParagraphStyle.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIFont;
+@class UIColor;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableTextProperties : NSObject <NSCopying, NSSecureCoding>
+
+/// The font used for the text.
+@property (nonatomic, strong) UIFont *font;
+
+/// The color of the text.
+@property (nonatomic, strong) UIColor *color;
+
+/// The line break mode to use for the text.
+@property (nonatomic) NSLineBreakMode lineBreakMode;
+
+/// The maximum number of lines for the text. 0 indicates the number of lines is unlimited.
+@property (nonatomic) NSInteger numberOfLines;
+
+/// Whether the font size of the text is automatically adjusted when necessary to fit in the available width.
+@property (nonatomic) BOOL adjustsFontSizeToFitWidth;
+
+/// When `adjustsFontSizeToFitWidth` is enabled, the smallest multiplier for the font size used to make the text fit.
+@property (nonatomic) CGFloat minimumScaleFactor;
+
+/// Whether the text is tightened before truncating.
+@property (nonatomic) BOOL allowsDefaultTighteningForTruncation;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableTextProperties.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableView.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentUnavailableView.h 2023-05-23 03:09:16
@@ -0,0 +1,37 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIContentUnavailableView.h>)
+//
+// UIContentUnavailableView.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIContentConfiguration.h>
+#import <UIKit/UIView.h>
+#import <UIKit/UIContentUnavailableConfiguration.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UIContentUnavailableView : UIView <UIContentView>
+
+- (instancetype)initWithConfiguration:(UIContentUnavailableConfiguration *)configuration NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// The content unavailable configuration.
+@property (nonatomic, copy) UIContentUnavailableConfiguration *configuration;
+
+/// Whether the content can scroll. Default is NO.
+@property (nonatomic, getter=isScrollEnabled) BOOL scrollEnabled;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIContentUnavailableView.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h 2023-03-09 19:14:25
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h 2023-05-23 03:09:14
@@ -16,7 +16,7 @@
UIContextMenuConfigurationElementOrderAutomatic = 0, /// Allows the system to choose the appropriate ordering strategy for the current context.
UIContextMenuConfigurationElementOrderPriority, /// Order menu elements according to priority. Keeping the first element in the UIMenu closest to user's interaction point.
UIContextMenuConfigurationElementOrderFixed, /// Display menu elements using their order in the UIMenu's children array.
-} NS_SWIFT_NAME(UIContextMenuConfiguration.ElementOrder) API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+} NS_SWIFT_NAME(UIContextMenuConfiguration.ElementOrder) API_AVAILABLE(ios(16.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@class UIViewController;
@@ -35,7 +35,7 @@
typedef UIViewController * _Nullable (^UIContextMenuContentPreviewProvider)(void);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIContextMenuConfiguration : NSObject
/// This configuration's identifier. When representing multiple items in your app, this identifier
@@ -43,14 +43,14 @@
@property (nonatomic, readonly) id<NSCopying> identifier;
/// When this menu acts on multiple items, you may include the identifiers of secondary items to display a multi-item menu.
-@property (nonatomic, copy) NSSet<id<NSCopying>> *secondaryItemIdentifiers API_AVAILABLE(ios(16.0));
+@property (nonatomic, copy) NSSet<id<NSCopying>> *secondaryItemIdentifiers API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos);
/// Number of items on which this menu acts. Used to badge a multi-item menu's preview stack.
/// When unset, this value is determined automatically by the system. Values lower than 2 hide the badge.
-@property (nonatomic) NSInteger badgeCount API_AVAILABLE(ios(16.0));
+@property (nonatomic) NSInteger badgeCount API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos);
/// Preferred menu element ordering strategy for this menu.
-@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0));
+@property (nonatomic) UIContextMenuConfigurationElementOrder preferredMenuElementOrder API_AVAILABLE(ios(16.0), tvos(17.0));
/*!
* @abstract Returns a UIContextMenuConfiguration.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h 2023-03-09 23:54:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h 2023-05-26 22:50:39
@@ -20,15 +20,15 @@
typedef NS_ENUM(NSInteger, UIContextMenuInteractionCommitStyle) {
UIContextMenuInteractionCommitStyleDismiss = 0,
UIContextMenuInteractionCommitStylePop,
-} API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos);
+} API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIContextMenuInteractionAppearance) {
UIContextMenuInteractionAppearanceUnknown = 0,
UIContextMenuInteractionAppearanceRich, // Modal "rich" menu with optional preview.
UIContextMenuInteractionAppearanceCompact, // Non-modal, compact menu with no preview.
-} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+} API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIContextMenuInteraction : NSObject <UIInteraction>
/// The interaction's delegate.
@@ -75,7 +75,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIContextMenuInteractionAnimating <NSObject>
/// Displayed preview view controller.
@@ -86,7 +86,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIContextMenuInteractionCommitAnimating <UIContextMenuInteractionAnimating>
/// Preferred animation style for the menu's commit action. Triggered when the user taps the preview.
@@ -95,7 +95,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIContextMenuInteractionDelegate <NSObject>
/*!
@@ -120,7 +120,7 @@
* @param configuration Configuration of the menu that will be presented if the interaction proceeds.
* @param identifier Identifier for the item whose preview is being requested.
*/
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier API_AVAILABLE(ios(16.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier API_AVAILABLE(ios(16.0), tvos(17.0));
/*!
* @abstract Called when a context menu is dismissed. Return a UITargetedPreview corresponding to the item with the given identifier.
@@ -129,7 +129,7 @@
* @param configuration Configuration of the menu being dismissed.
* @param identifier Identifier for the item whose preview is being requested.
*/
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration dismissalPreviewForItemWithIdentifier:(id<NSCopying>)identifier API_AVAILABLE(ios(16.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration dismissalPreviewForItemWithIdentifier:(id<NSCopying>)identifier API_AVAILABLE(ios(16.0), tvos(17.0));
/*!
* @abstract Called when the interaction is about to "commit" in response to the user tapping the preview.
@@ -138,7 +138,7 @@
* @param configuration Configuration of the currently displayed menu.
* @param animator Commit animator. Add animations to this object to run them alongside the commit transition.
*/
-- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willPerformPreviewActionForMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(id<UIContextMenuInteractionCommitAnimating>)animator;
+- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willPerformPreviewActionForMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(id<UIContextMenuInteractionCommitAnimating>)animator API_UNAVAILABLE(tvos);
/*!
* @abstract Called when the interaction is about to display a menu.
@@ -164,7 +164,7 @@
* @param interaction The UIContextMenuInteraction requesting a highlighting preview.
* @param configuration The configuration of the menu about to be displayed by this interaction.
*/
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("contextMenuInteraction:configuration:previewForHighlightingItemWithIdentifier:", ios(13.0, 16.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:", ios(13.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
/*!
* @abstract Called when the interaction is about to dismiss. Return a UITargetedPreview describing the desired dismissal target.
@@ -176,7 +176,7 @@
* @return Return a UITargetedPreview describing the desired dismissal target. Return nil to cause the menu to
* animate away without morphing into a specific view.
*/
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("contextMenuInteraction:configuration:previewForDismissingToItemWithIdentifier:", ios(13.0, 16.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_DEPRECATED_WITH_REPLACEMENT("contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:", ios(13.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h 2023-03-09 23:51:09
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h 2023-05-23 03:17:03
@@ -129,42 +129,47 @@
- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents;
/// Returns a UIContextMenuInteraction with this control set as its delegate. Before constructing the UIContextMenuInteraction, UIControl verifies 'self' is a viable delegate. See 'Implementing UIControl Menus' below for more details.
-@property (nonatomic, readonly, strong, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readonly, strong, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Specifies if the context menu interaction is enabled. NO by default.
-@property (nonatomic, readwrite, assign, getter = isContextMenuInteractionEnabled) BOOL contextMenuInteractionEnabled API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, assign, getter = isContextMenuInteractionEnabled) BOOL contextMenuInteractionEnabled API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// If the contextMenuInteraction is the primary action of the control, invoked on touch-down. NO by default.
-@property (nonatomic, readwrite, assign) BOOL showsMenuAsPrimaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readwrite, assign) BOOL showsMenuAsPrimaryAction API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Return a point in this control's coordinate space to which to attach the given configuration's menu.
-- (CGPoint)menuAttachmentPointForConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+- (CGPoint)menuAttachmentPointForConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Assigning a value to this property causes the tool tip to be displayed for the view. Setting the property to nil cancels the display of the tool tip for the view.
@property (nonatomic, copy, nullable) NSString *toolTip API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
/// Returns the control's default UIToolTipInteraction.
@property (nonatomic, readonly, strong, nullable) UIToolTipInteraction *toolTipInteraction API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+/// Whether or not symbol animations are enabled for this control.
+/// The default value varies depending on the control.
+@property (nonatomic, getter=isSymbolAnimationEnabled) BOOL symbolAnimationEnabled API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
@end
-#if TARGET_OS_IOS
+#if TARGET_OS_IOS || TARGET_OS_TV
/// Implementing UIControl Menus
/// UIControl will only create a UIContextMenuInteraction if you've created a subclass of UIControl with a minimum viable delegate implementation. UIControl extends the contract of UIContextMenuInteractionDelegate for these methods, see each method for more detail.
+API_AVAILABLE(ios(14.0), tvos(17.0))
@interface UIControl() <UIContextMenuInteractionDelegate>
/// An override is required for UIControl to create a UIContextMenuInteraction. Direct UIControl subclasses do not need to call super.
-- (nullable UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location API_AVAILABLE(ios(14.0));
+- (nullable UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location API_AVAILABLE(ios(14.0), tvos(17.0));
/// Direct UIControl subclasses do not need to call super.
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0), tvos(17.0));
/// Direct UIControl subclasses do not need to call super.
-- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0));
+- (nullable UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(14.0), tvos(17.0));
/// UIControl subclasses should always call super.
-- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willDisplayMenuForConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator NS_REQUIRES_SUPER API_AVAILABLE(ios(14.0));
+- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willDisplayMenuForConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator NS_REQUIRES_SUPER API_AVAILABLE(ios(14.0), tvos(17.0));
/// UIControl subclasses should always call super.
-- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willEndForConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator NS_REQUIRES_SUPER API_AVAILABLE(ios(14.0));
+- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willEndForConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator NS_REQUIRES_SUPER API_AVAILABLE(ios(14.0), tvos(17.0));
/// UIControl based menus do not display previews, so this method will not be called even if implemented. UIControl does not have an implementation.
- (void)contextMenuInteraction:(UIContextMenuInteraction *)interaction willPerformPreviewActionForMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(id<UIContextMenuInteractionCommitAnimating>)animator NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h 2023-03-09 19:14:34
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h 2023-05-23 03:09:17
@@ -8,19 +8,10 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIOrientation.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
- UIDeviceOrientationUnknown,
- UIDeviceOrientationPortrait, // Device oriented vertically, home button on the bottom
- UIDeviceOrientationPortraitUpsideDown, // Device oriented vertically, home button on the top
- UIDeviceOrientationLandscapeLeft, // Device oriented horizontally, home button on the right
- UIDeviceOrientationLandscapeRight, // Device oriented horizontally, home button on the left
- UIDeviceOrientationFaceUp, // Device oriented flat, face up
- UIDeviceOrientationFaceDown // Device oriented flat, face down
-} API_UNAVAILABLE(tvos);
-
typedef NS_ENUM(NSInteger, UIDeviceBatteryState) {
UIDeviceBatteryStateUnknown,
UIDeviceBatteryStateUnplugged, // on battery, discharging
@@ -35,24 +26,9 @@
UIUserInterfaceIdiomTV API_AVAILABLE(ios(9.0)), // Apple TV style UI
UIUserInterfaceIdiomCarPlay API_AVAILABLE(ios(9.0)), // CarPlay style UI
UIUserInterfaceIdiomMac API_AVAILABLE(ios(14.0)) = 5, // Optimized for Mac UI
+ UIUserInterfaceIdiomReality API_AVAILABLE(ios(17.0)) = 6, // Reality UI
};
-static inline BOOL UIDeviceOrientationIsPortrait(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown);
-}
-
-static inline BOOL UIDeviceOrientationIsLandscape(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight);
-}
-
-static inline __attribute__((always_inline)) BOOL UIDeviceOrientationIsFlat(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIDeviceOrientationFaceUp || (orientation) == UIDeviceOrientationFaceDown);
-}
-
-static inline __attribute__((always_inline)) BOOL UIDeviceOrientationIsValidInterfaceOrientation(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos) {
- return ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown || (orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight);
-}
-
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
@interface UIDevice : NSObject
@@ -63,13 +39,13 @@
@property(nonatomic,readonly,strong) NSString *localizedModel; // localized version of model
@property(nonatomic,readonly,strong) NSString *systemName; // e.g. @"iOS"
@property(nonatomic,readonly,strong) NSString *systemVersion; // e.g. @"4.0"
-@property(nonatomic,readonly) UIDeviceOrientation orientation API_UNAVAILABLE(tvos); // return current device orientation. this will return UIDeviceOrientationUnknown unless device orientation notifications are being generated.
+@property(nonatomic,readonly) UIDeviceOrientation orientation API_UNAVAILABLE(tvos, xros); // return current device orientation. this will return UIDeviceOrientationUnknown unless device orientation notifications are being generated.
@property(nullable, nonatomic,readonly,strong) NSUUID *identifierForVendor API_AVAILABLE(ios(6.0)); // a UUID that may be used to uniquely identify the device, same across apps from a single vendor.
-@property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications API_UNAVAILABLE(tvos);
-- (void)beginGeneratingDeviceOrientationNotifications API_UNAVAILABLE(tvos); // nestable
-- (void)endGeneratingDeviceOrientationNotifications API_UNAVAILABLE(tvos);
+@property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications API_UNAVAILABLE(tvos, xros);
+- (void)beginGeneratingDeviceOrientationNotifications API_UNAVAILABLE(tvos, xros); // nestable
+- (void)endGeneratingDeviceOrientationNotifications API_UNAVAILABLE(tvos, xros);
@property(nonatomic,getter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // default is NO
@property(nonatomic,readonly) UIDeviceBatteryState batteryState API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // UIDeviceBatteryStateUnknown if monitoring disabled
@@ -82,7 +58,7 @@
@property(nonatomic,readonly) UIUserInterfaceIdiom userInterfaceIdiom API_AVAILABLE(ios(3.2));
-- (void)playInputClick API_AVAILABLE(ios(4.2)); // Plays a click only if an enabling input view is on-screen and user has enabled input clicks.
+- (void)playInputClick API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(xros); // Plays a click only if an enabling input view is on-screen and user has enabled input clicks.
@end
@@ -90,19 +66,19 @@
@protocol UIInputViewAudioFeedback <NSObject>
@optional
-@property (nonatomic, readonly) BOOL enableInputClicksWhenVisible; // If YES, an input view will enable playInputClick.
+@property (nonatomic, readonly) BOOL enableInputClicksWhenVisible API_UNAVAILABLE(xros); // If YES, an input view will enable playInputClick.
@end
/* The UI_USER_INTERFACE_IDIOM() function is provided for use when deploying to a version of the iOS less than 3.2. If the earliest version of iPhone/iOS that you will be deploying for is 3.2 or greater, you may use -[UIDevice userInterfaceIdiom] directly.
*/
-static inline UIUserInterfaceIdiom UI_USER_INTERFACE_IDIOM(void) API_DEPRECATED("Use -[UIDevice userInterfaceIdiom] directly.", ios(2.0, 13.0), tvos(9.0, 11.0)) {
+static inline UIUserInterfaceIdiom UI_USER_INTERFACE_IDIOM(void) API_DEPRECATED("Use -[UIDevice userInterfaceIdiom] directly.", ios(2.0, 13.0), tvos(9.0, 11.0)) API_UNAVAILABLE(xros) {
return ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ?
[[UIDevice currentDevice] userInterfaceIdiom] :
UIUserInterfaceIdiomPhone);
}
-UIKIT_EXTERN NSNotificationName const UIDeviceOrientationDidChangeNotification API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIDeviceOrientationDidChangeNotification API_UNAVAILABLE(tvos, xros);
UIKIT_EXTERN NSNotificationName const UIDeviceBatteryStateDidChangeNotification API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos);
UIKIT_EXTERN NSNotificationName const UIDeviceBatteryLevelDidChangeNotification API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos);
UIKIT_EXTERN NSNotificationName const UIDeviceProximityStateDidChangeNotification API_AVAILABLE(ios(3.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h 2023-03-09 19:17:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h 2023-05-31 00:47:39
@@ -9,6 +9,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIUserActivity.h>
+#import <UIKit/UINavigationItem.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -174,6 +175,11 @@
- (void)revertToContentsOfURL:(NSURL *)url completionHandler:(void (^ __nullable)(BOOL success))completionHandler API_UNAVAILABLE(tvos);
@end
+
+#pragma mark *** Renaming ***
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos)
+@interface UIDocument () <UINavigationItemRenameDelegate> @end
#pragma mark *** Activity Continuation ***
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h 2023-03-09 19:14:33
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h 2023-05-23 03:09:16
@@ -16,10 +16,10 @@
typedef NS_ENUM(NSUInteger, UIDocumentMenuOrder) {
UIDocumentMenuOrderFirst,
UIDocumentMenuOrderLast
-} API_DEPRECATED("", ios(8.0, 11.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("", ios(8.0, 11.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
API_DEPRECATED("UIDocumentMenuDelegate is deprecated. Use UIDocumentPickerViewController directly.", ios(8.0, 13.0))
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, xros) NS_SWIFT_UI_ACTOR
@protocol UIDocumentMenuDelegate <NSObject>
- (void)documentMenu:(UIDocumentMenuViewController *)documentMenu didPickDocumentPicker:(UIDocumentPickerViewController *)documentPicker;
@@ -29,7 +29,7 @@
@end
UIKIT_EXTERN API_DEPRECATED("UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly.", ios(8.0, 11.0))
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, xros) NS_SWIFT_UI_ACTOR
@interface UIDocumentMenuViewController : UIViewController
- (instancetype)initWithDocumentTypes:(NSArray <NSString *> *)allowedUTIs inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h 2023-03-09 19:14:16
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h 2023-05-23 03:09:11
@@ -13,7 +13,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_DEPRECATED("Use enumeration based NSFileProviderExtension instead", ios(8.0, 14.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("Use enumeration based NSFileProviderExtension instead", ios(8.0, 14.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIDocumentPickerExtensionViewController : UIViewController
// The preconditions for the URL passed to dismissGrantingAccessToURL: vary depending on the document picker mode.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h 2023-03-09 19:14:31
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h 2023-05-23 03:09:16
@@ -24,7 +24,7 @@
// called if the user dismisses the document picker without selecting a document (using the Cancel button)
- (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller;
-- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("documentPicker:didPickDocumentsAtURLs:", ios(8.0, 11.0));
+- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("documentPicker:didPickDocumentsAtURLs:", ios(8.0, 11.0)) API_UNAVAILABLE(xros);
@end
typedef NS_ENUM(NSUInteger, UIDocumentPickerMode) {
@@ -32,13 +32,13 @@
UIDocumentPickerModeOpen,
UIDocumentPickerModeExportToService,
UIDocumentPickerModeMoveToService
-} API_DEPRECATED("Use appropriate initializers instead",ios(8.0,14.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("Use appropriate initializers instead",ios(8.0,14.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIDocumentPickerViewController : UIViewController
// Initializes the picker instance for selecting a document in a remote location. The valid modes are Import and Open.
-- (instancetype)initWithDocumentTypes:(NSArray <NSString *>*)allowedUTIs inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForOpeningContentTypes:asCopy: or initForOpeningContentTypes: instead", ios(8.0, 14.0)) API_UNAVAILABLE(tvos);
+- (instancetype)initWithDocumentTypes:(NSArray <NSString *>*)allowedUTIs inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForOpeningContentTypes:asCopy: or initForOpeningContentTypes: instead", ios(8.0, 14.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
/// Initializes the picker instance for selecting a document in a remote location.
/// @param asCopy if true, the picker will give you access to a local copy of the document, otherwise you will have access to the original document
@@ -50,10 +50,10 @@
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
// Initializes the picker for exporting a local file to an external location. The valid modes are Export and Move. The new location will be returned using `didPickDocumentAtURL:`.
-- (instancetype)initWithURL:(NSURL *)url inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForExportingURLs:asCopy: or initForExportingURLs: instead", ios(8.0, 14.0)) API_UNAVAILABLE(tvos);
+- (instancetype)initWithURL:(NSURL *)url inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForExportingURLs:asCopy: or initForExportingURLs: instead", ios(8.0, 14.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
// Initializes the picker for exporting local files to an external location. The valid modes are Export and Move. The new locations will be returned using `didPickDocumentAtURLs:`.
-- (instancetype)initWithURLs:(NSArray <NSURL *> *)urls inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForExportingURLs:asCopy: or initForExportingURLs: instead", ios(11.0, 14.0)) API_UNAVAILABLE(tvos);
+- (instancetype)initWithURLs:(NSArray <NSURL *> *)urls inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER API_DEPRECATED_WITH_REPLACEMENT("use initForExportingURLs:asCopy: or initForExportingURLs: instead", ios(11.0, 14.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
/// Initializes the picker for exporting local documents to an external location. The new locations will be returned using `didPickDocumentAtURLs:`.
/// @param asCopy if true, a copy will be exported to the destination, otherwise the original document will be moved to the destination. For performance reasons and to avoid copies, we recommend you set `asCopy` to false.
@@ -63,7 +63,7 @@
- (instancetype)initForExportingURLs:(NSArray <NSURL *> *)urls API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos);
@property (nullable, nonatomic, weak) id<UIDocumentPickerDelegate> delegate;
-@property (nonatomic, assign, readonly) UIDocumentPickerMode documentPickerMode API_DEPRECATED("Use appropriate initializers instead",ios(8.0,14.0));
+@property (nonatomic, assign, readonly) UIDocumentPickerMode documentPickerMode API_DEPRECATED("Use appropriate initializers instead",ios(8.0,14.0), xros(1.0, 1.0));
@property (nonatomic, assign) BOOL allowsMultipleSelection API_AVAILABLE(ios(11.0));
/// Force the display of supported file extensions (default: NO).
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentViewController.h 2023-05-23 03:09:15
@@ -0,0 +1,43 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIDocumentViewController.h>)
+//
+// _UIDocumentViewController.h
+// UIKit
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitCore.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos)
+@interface UIDocumentViewController : UIViewController
+
+- (instancetype)initWithDocument:(nullable UIDocument *)document;
+
+@property (nonatomic, strong, nullable) UIDocument *document;
+
+/// When this view controller updates its navigation item, this method will be called, allowing subclasses to apply any kind of customization you might want.
+- (void)navigationItemDidUpdate;
+
+/// opens the current document.
+/// This method is optional. If the document is not opened by the time the view controller becomes visible, the view controller will take care of opening the document.
+/// If the document is already opened, the completion handler will be called as if opening the document succeeded.
+- (void)openDocumentWithCompletionHandler:(void(^)(BOOL success))completionHandler;
+
+/// Notifies subclasses that the specified document was opened. This method will be called by the system after
+/// opening the document initially or after the presented document was changed.
+- (void)documentDidOpen;
+
+
+/// MARK: Custom Navigation Items
+
+@property (nonatomic, readonly) UIBarButtonItemGroup *undoRedoItemGroup;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIDocumentViewController.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h 2023-03-09 19:14:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h 2023-05-23 03:09:17
@@ -11,7 +11,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
// UIFeedbackGenerator is an abstract class that should not be used directly
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIFeedbackGenerator : NSObject
/// informs self that it will likely receive events soon, so that it can ensure minimal latency for any feedback generated
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h 2023-03-09 19:17:48
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h 2023-05-23 03:17:01
@@ -112,7 +112,7 @@
/// when the search query is cleared, options changed, or any other event where we may not perform another search right away.
- (void)invalidateFoundResults;
-@property (nonatomic, readonly) BOOL allowsReplacement API_DEPRECATED_WITH_REPLACEMENT("supportsReplacement", ios(16.0, 16.0));
+@property (nonatomic, readonly) BOOL allowsReplacement API_DEPRECATED_WITH_REPLACEMENT("supportsReplacement", ios(16.0, 16.0), xros(1.0, 1.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2023-03-09 23:54:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2023-05-23 03:16:56
@@ -74,9 +74,9 @@
/// Return UIFocusSoundIdentifierNone to opt out of sounds, UIFocusSoundIdentifierDefault for the system
/// default sounds, a previously registered identifier for a custom sound, or nil to defer the decision
/// to the parent.
-- (nullable UIFocusSoundIdentifier)soundIdentifierForFocusUpdateInContext:(UIFocusUpdateContext *)context API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos);
+- (nullable UIFocusSoundIdentifier)soundIdentifierForFocusUpdateInContext:(UIFocusUpdateContext *)context API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos, xros);
-@property (nonatomic, weak, readonly, nullable) UIView *preferredFocusedView API_DEPRECATED_WITH_REPLACEMENT("preferredFocusEnvironments", ios(9.0, 10.0));
+@property (nonatomic, weak, readonly, nullable) UIView *preferredFocusedView API_DEPRECATED_WITH_REPLACEMENT("preferredFocusEnvironments", ios(9.0, 10.0)) API_UNAVAILABLE(xros);
/// The identifier of the focus group that this view belongs to. If this is nil, subviews inherit their superview's focus group.
@property (nonatomic, readonly, nullable, copy) NSString *focusGroupIdentifier API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos);
@@ -185,10 +185,10 @@
UIKIT_EXTERN NSString * const UIFocusUpdateAnimationCoordinatorKey API_AVAILABLE(ios(11.0), tvos(11.0));
/// Sound identifier for disabling sound during a focus update.
-UIKIT_EXTERN UIFocusSoundIdentifier const UIFocusSoundIdentifierNone API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos);
+UIKIT_EXTERN UIFocusSoundIdentifier const UIFocusSoundIdentifierNone API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos, xros);
/// Sound identifier for playing the default sound during a focus update.
-UIKIT_EXTERN UIFocusSoundIdentifier const UIFocusSoundIdentifierDefault API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos);
+UIKIT_EXTERN UIFocusSoundIdentifier const UIFocusSoundIdentifierDefault API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos, xros);
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h 2023-03-09 19:14:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h 2023-05-23 03:09:13
@@ -14,7 +14,8 @@
@class UIView, UIBezierPath;
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) @interface UIFocusEffect : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UIFocusEffect : NSObject <NSCopying>
/// Creates a default system effect using metrics inferred from the focus item.
+ (instancetype)effect;
@@ -35,7 +36,8 @@
} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) @interface UIFocusHaloEffect : UIFocusEffect
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UIFocusHaloEffect : UIFocusEffect
/// Creates a rectangular halo.
+ (instancetype)effectWithRect:(CGRect)rect;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h 2023-03-09 19:14:26
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h 2023-05-23 03:09:15
@@ -25,7 +25,7 @@
@property (nonatomic, copy, null_resettable) NSArray<id<UIFocusEnvironment>> *preferredFocusEnvironments API_AVAILABLE(ios(10.0));
/// Setting a preferred focused view marks this guide's layoutFrame as focusable, and if focused, redirects focus to its preferred focused view. If nil, this guide is effectively disabled.
-@property (nonatomic, weak, nullable) UIView *preferredFocusedView API_DEPRECATED_WITH_REPLACEMENT("preferredFocusEnvironments", ios(9.0, 10.0));
+@property (nonatomic, weak, nullable) UIView *preferredFocusedView API_DEPRECATED_WITH_REPLACEMENT("preferredFocusEnvironments", ios(9.0, 10.0)) API_UNAVAILABLE(xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2023-03-09 19:14:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2023-05-23 03:09:13
@@ -25,7 +25,7 @@
/// Return the focus system that the provided environment is contained in. Returns nil if focus
/// interaction is not supported, or if the environment is not associated with any focus system.
#if __swift__
-+ (nullable UIFocusSystem *)focusSystemForEnvironment:(id<UIFocusEnvironment>)environment API_DEPRECATED("Use UIFocusSystem.focusSystem(for:) instead.", tvos(12.0, 15.0), ios(12.0, 15.0));
++ (nullable UIFocusSystem *)focusSystemForEnvironment:(id<UIFocusEnvironment>)environment API_DEPRECATED("Use UIFocusSystem.focusSystem(for:) instead.", tvos(12.0, 15.0), ios(12.0, 15.0), xros(1.0, 1.0));
#else
+ (nullable UIFocusSystem *)focusSystemForEnvironment:(id<UIFocusEnvironment>)environment API_AVAILABLE(tvos(12.0), ios(12.0));
#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2023-03-09 19:17:43
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2023-05-23 03:16:59
@@ -159,8 +159,8 @@
// Font feature keys
#if __swift__
// Allows for better FeatureKey names for Swift clients
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.typeIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.type", ios(7.0, 15.0));
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.featureIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.selector", ios(7.0, 15.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.typeIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.type", ios(7.0, 15.0), xros(1.0, 1.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.featureIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.selector", ios(7.0, 15.0), xros(1.0, 1.0));
UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.type) API_AVAILABLE(ios(15.0));
UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.selector) API_AVAILABLE(ios(15.0));
#else
@@ -173,6 +173,8 @@
// Font text styles, semantic descriptions of the intended use for a font returned by +[UIFont preferredFontForTextStyle:]
UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleLargeTitle API_AVAILABLE(ios(11.0), watchos(5.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle2 API_AVAILABLE(ios(17.0));
UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle1 API_AVAILABLE(ios(9.0));
UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle2 API_AVAILABLE(ios(9.0));
UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle3 API_AVAILABLE(ios(9.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2023-03-09 19:22:13
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2023-05-20 00:29:12
@@ -100,7 +100,7 @@
UIDirectionalRectEdgeBottom = 1 << 2,
UIDirectionalRectEdgeTrailing = 1 << 3,
UIDirectionalRectEdgeAll = UIDirectionalRectEdgeTop | UIDirectionalRectEdgeLeading | UIDirectionalRectEdgeBottom | UIDirectionalRectEdgeTrailing
-} API_DEPRECATED_WITH_REPLACEMENT("NSDirectionalRectEdge", ios(13.0, 13.0), watchos(6.0,6.0), tvos(13.0,13.0));
+} API_DEPRECATED_WITH_REPLACEMENT("NSDirectionalRectEdge", ios(13.0, 13.0), watchos(6.0,6.0), tvos(13.0,13.0)) API_UNAVAILABLE(xros);
typedef NS_ENUM(NSInteger, NSRectAlignment) {
NSRectAlignmentNone = 0,
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h 2023-03-09 19:14:19
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h 2023-05-23 03:09:12
@@ -30,10 +30,10 @@
// The following methods will only return a 8-bit per channel context in the DeviceRGB color space.
// Any new bitmap drawing code is encouraged to use UIGraphicsImageRenderer in lieu of this API.
-UIKIT_EXTERN void UIGraphicsBeginImageContext(CGSize size);
-UIKIT_EXTERN void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void);
-UIKIT_EXTERN void UIGraphicsEndImageContext(void);
+UIKIT_EXTERN void UIGraphicsBeginImageContext(CGSize size) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContext with UIGraphicsImageRenderer.", ios(2.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.", ios(4.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void) API_DEPRECATED("Replace usage of UIGraphicsGetImageFromCurrentImageContext with UIGraphicsImageRendererContext.currentImage.", ios(2.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN void UIGraphicsEndImageContext(void) API_DEPRECATED("UIGraphicsEndImageContext should only be used alongside UIGraphicsBeginImageContext[WithOptions].", ios(2.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
// PDF context
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h 2023-03-09 19:14:27
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h 2023-05-23 03:09:15
@@ -28,7 +28,8 @@
@property (nonatomic) CGFloat scale; // display scale of the context. The preferredFormat uses the scale most appropriate for the main screen's current configuration.
@property (nonatomic) BOOL opaque; // indicates the bitmap context will draw fully opaque. The preferredFormat sets this to NO.
-@property (nonatomic) BOOL prefersExtendedRange API_DEPRECATED("Use the preferredRange property instead", ios(10.0, 12.0)); // indicates the bitmap context should draw into a context capable of rendering extended color images. The preferredFormat sets this according to the main screen's current configuration.
+@property (nonatomic) BOOL prefersExtendedRange API_DEPRECATED("Use the preferredRange property instead", ios(10.0, 12.0)) API_UNAVAILABLE(xros); // indicates the bitmap context should draw into a context capable of rendering extended color images. The preferredFormat sets this according to the main screen's current configuration.
+@property (nonatomic, readonly, assign) BOOL supportsHighDynamicRange API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)); /// indicates if the format supports high dynamic range rendering.
@property (nonatomic) UIGraphicsImageRendererFormatRange preferredRange API_AVAILABLE(ios(12.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverEffect.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverEffect.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverEffect.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverEffect.h 2023-05-23 03:09:12
@@ -0,0 +1,45 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIHoverEffect.h>)
+//
+// UIHoverEffect.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// A hover effect that can be applied to a `UIView` via a `UIHoverStyle`.
+/// You don't conform to this protocol directly. Instead, you use a built-in
+/// `UIHoverEffect` like `UIHoverAutomaticEffect`.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@protocol UIHoverEffect <NSObject, NSCopying>
+@end
+
+/// An effect that applies a highlight to the view on hover.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIHoverHighlightEffect : NSObject <UIHoverEffect>
+@end
+
+/// An effect that can visually lift the view on hover where appropriate.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIHoverLiftEffect : NSObject <UIHoverEffect>
+@end
+
+/// A system-default hover effect that automatically selects the appropriate
+/// effect based on the view to which it is applied.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIHoverAutomaticEffect : NSObject <UIHoverEffect>
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIHoverEffect.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverStyle.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverStyle.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverStyle.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIHoverStyle.h 2023-05-23 03:09:18
@@ -0,0 +1,56 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIHoverStyle.h>)
+//
+// UIHoverStyle.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIView.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@protocol UIHoverEffect;
+@class UIShape, UIPointerStyle;
+
+/// The hover style to apply to a view, including an effect and a shape to use
+/// for displaying that effect.
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIHoverStyle : NSObject <NSCopying>
+
+/// The effect to apply to the view with this style. Use `UIHoverAutomaticEffect`
+/// to apply a system-default effect to the view.
+@property (nonatomic, strong) id<UIHoverEffect> effect NS_REFINED_FOR_SWIFT;
+
+/// The shape to use for the hover effect. If a `nil` shape is used, a
+/// system-default shape will be chosen based on the view.
+@property (nonatomic, strong, nullable) UIShape *shape NS_REFINED_FOR_SWIFT;
+
+/// Creates a hover style with the provided effect and shape.
++ (instancetype)styleWithEffect:(id<UIHoverEffect>)effect shape:(nullable UIShape *)shape NS_REFINED_FOR_SWIFT;
+
+/// Creates a hover style with the provided shape and a `UIHoverAutomaticEffect`.
++ (instancetype)styleWithShape:(nullable UIShape *)shape;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UIView (UIHoverStyle)
+
+/// The hover style associated with this view. Defaults to `nil`,
+/// indicating that this view should not have any hover effect.
+/// Subclasses may configure this style to use a different default value.
+@property (nonatomic, strong, nullable) UIHoverStyle *hoverStyle;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIHoverStyle.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2023-03-09 19:24:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2023-05-23 03:09:11
@@ -310,15 +310,21 @@
#endif
+/// Indicates that this image is tagged for display of high dynamic range content.
+@property(nonatomic, assign, readonly) BOOL isHighDynamicRange API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+/// Returns a new image that will render within the standard range.
+- (UIImage *)imageRestrictedToStandardDynamicRange API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
@end
@interface UIImage (PreconfiguredSystemImages)
-@property (class, readonly, strong) UIImage *actionsImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)); // currently: white ellipsis on tinted filled circle
-@property (class, readonly, strong) UIImage *addImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)); // currently: white + on green filled circle
-@property (class, readonly, strong) UIImage *removeImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)); // currently: white - on red filled circle
-@property (class, readonly, strong) UIImage *checkmarkImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)); // currently: white ✓ on tinted filled circle
-@property (class, readonly, strong) UIImage *strokedCheckmarkImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)); // currently: white ✓ on tinted filled and white stroked circle
+@property (class, readonly, strong) UIImage *actionsImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+@property (class, readonly, strong) UIImage *addImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+@property (class, readonly, strong) UIImage *removeImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+@property (class, readonly, strong) UIImage *checkmarkImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+@property (class, readonly, strong) UIImage *strokedCheckmarkImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
@end
@@ -360,8 +366,12 @@
@end
#endif
-UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation(UIImage * __nonnull image); // return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format
-UIKIT_EXTERN NSData * __nullable UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compressionQuality); // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)
+/// return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format
+UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation(UIImage * __nonnull image) NS_SWIFT_NAME(UIImage.pngData(self:));
+/// return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)
+UIKIT_EXTERN NSData * __nullable UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compressionQuality) NS_SWIFT_NAME(UIImage.jpegData(self:compressionQuality:));
+/// Returns HEIC data representing the image, or nil if such a representation could not be generated. HEIC is recommended for efficiently storing all kinds of images, including those with high dynamic range content.
+UIKIT_EXTERN NSData * __nullable UIImageHEICRepresentation(UIImage * __nonnull image) API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_NAME(UIImage.heicData(self:));
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h 2023-03-09 19:14:19
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h 2023-05-23 03:09:12
@@ -22,11 +22,24 @@
- (instancetype)init NS_UNAVAILABLE;
#if __has_include(<UIKit/UITraitCollection.h>)
+// The configuration's trait collection.
@property (nonatomic, nullable, readonly) UITraitCollection *traitCollection;
// inserts/applies the traitCollection to this configuration
- (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection;
+
+// Creates a new configuration object with the specified trait collection.
++ (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
#endif
+
+// The configuration's locale. If nil/unspecified, the image will be looked up using the current locale.
+@property (nonatomic, nullable, readonly) NSLocale *locale API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+// inserts/applies the locale to this configuration
+- (instancetype)configurationWithLocale:(nullable NSLocale *)locale API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
+// Creates a new configuration object with the specified locale.
++ (instancetype)configurationWithLocale:(nullable NSLocale *)locale API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
// Applies the other configuration over this configuration
// Any specified values in the other configuration will overwrite the values in this one.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h 2023-03-09 23:50:56
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h 2023-05-23 03:16:56
@@ -16,9 +16,9 @@
@protocol UIImagePickerControllerDelegate;
typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType) {
- UIImagePickerControllerSourceTypePhotoLibrary API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(2, API_TO_BE_DEPRECATED)),
+ UIImagePickerControllerSourceTypePhotoLibrary API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(2, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)),
UIImagePickerControllerSourceTypeCamera,
- UIImagePickerControllerSourceTypeSavedPhotosAlbum API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(2, API_TO_BE_DEPRECATED)),
+ UIImagePickerControllerSourceTypeSavedPhotosAlbum API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(2, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)),
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIImagePickerControllerQualityType) {
@@ -49,7 +49,7 @@
typedef NS_ENUM(NSInteger, UIImagePickerControllerImageURLExportPreset) {
UIImagePickerControllerImageURLExportPresetCompatible = 0,
UIImagePickerControllerImageURLExportPresetCurrent
-} API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(tvos);
typedef NSString * UIImagePickerControllerInfoKey NS_TYPED_ENUM;
@@ -59,10 +59,10 @@
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerEditedImage API_UNAVAILABLE(tvos); // a UIImage
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerCropRect API_UNAVAILABLE(tvos); // an NSValue (CGRect)
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerMediaURL API_UNAVAILABLE(tvos); // an NSURL
-UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerReferenceURL API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(4.1, 11.0)) API_UNAVAILABLE(tvos); // an NSURL that references an asset in the AssetsLibrary framework
+UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerReferenceURL API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(4.1, 11.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // an NSURL that references an asset in the AssetsLibrary framework
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerMediaMetadata API_AVAILABLE(ios(4.1)) API_UNAVAILABLE(tvos); // an NSDictionary containing metadata from a captured photo
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerLivePhoto API_AVAILABLE(ios(9.1)) API_UNAVAILABLE(tvos); // a PHLivePhoto
-UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerPHAsset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(tvos); // a PHAsset
+UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerPHAsset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(tvos); // a PHAsset
UIKIT_EXTERN UIImagePickerControllerInfoKey const UIImagePickerControllerImageURL API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos); // an NSURL
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@@ -81,13 +81,13 @@
@property(nonatomic,copy) NSArray<NSString *> *mediaTypes;
// default value is an array containing kUTTypeImage.
@property(nonatomic) BOOL allowsEditing API_AVAILABLE(ios(3.1)); // replacement for -allowsImageEditing; default value is NO.
-@property(nonatomic) BOOL allowsImageEditing API_DEPRECATED("", ios(2.0, 3.1));
-@property(nonatomic) UIImagePickerControllerImageURLExportPreset imageExportPreset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED)); // default value is UIImagePickerControllerImageExportPresetCompatible.
+@property(nonatomic) BOOL allowsImageEditing API_DEPRECATED("", ios(2.0, 3.1)) API_UNAVAILABLE(xros);
+@property(nonatomic) UIImagePickerControllerImageURLExportPreset imageExportPreset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // default value is UIImagePickerControllerImageExportPresetCompatible.
// video properties apply only if mediaTypes includes kUTTypeMovie
@property(nonatomic) NSTimeInterval videoMaximumDuration API_AVAILABLE(ios(3.1)); // default value is 10 minutes.
@property(nonatomic) UIImagePickerControllerQualityType videoQuality API_AVAILABLE(ios(3.1)); // default value is UIImagePickerControllerQualityTypeMedium. If the cameraDevice does not support the videoQuality, it will use the default value.
-@property(nonatomic, copy) NSString *videoExportPreset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED)); // videoExportPreset can be used to specify the transcoding quality for videos (via a AVAssetExportPreset* string). If the value is nil (the default) then the transcodeQuality is determined by videoQuality instead. Not valid if the source type is UIImagePickerControllerSourceTypeCamera
+@property(nonatomic, copy) NSString *videoExportPreset API_DEPRECATED("Will be removed in a future release, use PHPicker.", ios(11.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // videoExportPreset can be used to specify the transcoding quality for videos (via a AVAssetExportPreset* string). If the value is nil (the default) then the transcodeQuality is determined by videoQuality instead. Not valid if the source type is UIImagePickerControllerSourceTypeCamera
// camera additions available only if sourceType is UIImagePickerControllerSourceTypeCamera.
@@ -115,7 +115,7 @@
// The picker does not dismiss itself; the client dismisses it in these callbacks.
// The delegate will receive one or the other, but not both, depending whether the user
// confirms or cancels.
-- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<UIImagePickerControllerInfoKey, id> *)editingInfo API_DEPRECATED("", ios(2.0, 3.0));
+- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<UIImagePickerControllerInfoKey, id> *)editingInfo API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros);
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey, id> *)info;
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageReader.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageReader.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageReader.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageReader.h 2023-05-23 03:09:15
@@ -0,0 +1,57 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIImageReader.h>)
+//
+// UIImageReader.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+@interface UIImageReaderConfiguration : NSObject<NSCopying>
+
+/// For image types that may decode as either SDR or HDR, prefer the HDR variant. Images that may only decode as either SDR or HDR are unaffected. Default depends on system capabilities.
+@property (nonatomic, readwrite, assign) BOOL prefersHighDynamicRange;
+/// If set, images vended by the loader are automatically prepared for display. Default is NO.
+@property (nonatomic, readwrite, assign) BOOL preparesImagesForDisplay;
+/// If set, images loaded will be thumbnails of approximately the given size. Default value is CGSizeZero, indicating that thumb-nailing is disabled.
+@property (nonatomic, readwrite, assign) CGSize preferredThumbnailSize;
+/// If non-zero when generating images, image metadata information (if present) will be used to determine the scale to assign to the image. If zero all images will be assigned a scale of 1.0. Always assigns integral scales. Defaults to 0.
+@property (nonatomic, readwrite, assign) CGFloat pixelsPerInch;
+
+@end
+
+@class UIImage;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+@interface UIImageReader : NSObject
+
+/// Returns a reader that uses the default configuration options. This method is thread safe.
+@property (class, readonly, strong) UIImageReader *defaultReader;
+
+/// Returns a loader of the given configuration. Loaders are thread safe and sharable.
++ (instancetype)readerWithConfiguration:(UIImageReaderConfiguration *)configuration;
+
+@property (nonatomic, readonly, copy) UIImageReaderConfiguration *configuration;
+
+/// Synchronously generate an image from the given file URL. If an image could not be generated, returns nil.
+- (UIImage *)imageWithContentsOfFileURL:(NSURL *)url;
+/// Synchronously generate an image from the given data. If an image could not be generated, returns nil.
+- (UIImage *)imageWithData:(NSData *)data;
+
+/// Asynchronously generate an image from the given file URL. If an image could not be generated, the completion will be called with nil.
+- (void)imageWithContentsOfFileURL:(NSURL *)url completion:(void (^)(UIImage *_Nullable))completion;
+/// Asynchronously generate an image from the given data. If an image could not be generated, the completion will be called with nil.
+- (void)imageWithData:(NSData *)data completion:(void (^)(UIImage *_Nullable))completion;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIImageReader.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2023-03-09 19:10:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2023-05-23 03:09:14
@@ -24,8 +24,6 @@
} API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
// -- symbol image weights
-// only regular is supported by now, but you can specify any weight
-// you need for future implementation.
typedef NS_ENUM(NSInteger, UIImageSymbolWeight) {
UIImageSymbolWeightUnspecified = 0,
UIImageSymbolWeightUltraLight = 1,
@@ -79,8 +77,7 @@
- (instancetype)configurationWithoutPointSizeAndWeight;
// checks if the other configuration is equal to this one.
-// the values have to match exactly. If you only want to check "specified"
-// values, use `isEquivalentToConfiguration:`.
+// the values have to match exactly.
- (BOOL)isEqualToConfiguration:(nullable UIImageSymbolConfiguration *)otherConfiguration;
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h 2023-03-09 23:51:01
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h 2023-05-23 03:16:59
@@ -9,7 +9,10 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIView.h>
#import <UIKit/UIKitDefines.h>
+#import <UIKit/UISymbolEffectCompletion.h>
+#import <Symbols/NSSymbolEffect.h>
+
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@class UIImage, UIImageSymbolConfiguration;
@@ -43,6 +46,11 @@
- (void)stopAnimating;
@property(nonatomic, readonly, getter=isAnimating) BOOL animating;
+/// The preferred treatment to use for HDR images. By default the image view will defer to the value from its traitCollection.
+@property (nonatomic, readwrite, assign) UIImageDynamicRange preferredImageDynamicRange;
+/// The resolved treatment to use for HDR images.
+@property (nonatomic, readonly , assign) UIImageDynamicRange imageDynamicRange;
+
// if YES, the UIImageView will display a focused appearance when any of its immediate or distant superviews become focused
@property (nonatomic) BOOL adjustsImageWhenAncestorFocused UIKIT_AVAILABLE_TVOS_ONLY(9_0);
@@ -62,6 +70,45 @@
// Additionally, the image view must have the same aspect ratio as its image for this property to be effective.
// Supporting transparency affects performance, so only set this when needed.
@property (nonatomic) BOOL masksFocusEffectToContents UIKIT_AVAILABLE_TVOS_ONLY(11_0);
+
+@end
+
+@interface UIImageView (/*Symbol animation presets*/)
+
+/// Adds a symbol effect to the image view with default options and animation.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Adds a symbol effect to the image view with specified options and default animation.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Adds a symbol effect to the image view with specified options and animation.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Adds a symbol effect to the image view with specified options, animation, and completion handler.
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated completion:(nullable UISymbolEffectCompletion)completionHandler API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Removes from the image view the symbol effect matching the type of effect passed in, with default options and animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes from the image view the symbol effect matching the type of effect passed in, with specified options and default animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes from the image view the symbol effect matching the type of effect passed in, with specified options and animation.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes from the image view the symbol effect matching the type of effect passed in, with specified options, animation, and completion handler.
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated completion:(nullable UISymbolEffectCompletion)completionHandler API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Removes all symbol effects from the image view with default options and animation.
+- (void)removeAllSymbolEffects API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes all symbol effects from the image view with specified options and default animation.
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Removes all symbol effects from the image view with specified options and animation.
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+/// Sets the symbol image on the image view with a symbol content transition and default options.
+/// Passing in a non-symbol image will result in undefined behavior.
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Sets the symbol image on the image view with a symbol content transition and specified options.
+/// Passing in a non-symbol image will result in undefined behavior.
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+/// Sets the symbol image on the image view with a symbol content transition, options, and completion handler.
+/// Passing in a non-symbol image will result in undefined behavior.
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition options:(NSSymbolEffectOptions *)options completion:(nullable UISymbolEffectCompletion)completionHandler API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h 2023-03-09 19:14:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h 2023-05-23 03:09:13
@@ -21,7 +21,7 @@
};
// UIImpactFeedbackGenerator is used to give user feedback when an impact between UI elements occurs
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIImpactFeedbackGenerator : UIFeedbackGenerator
- (instancetype)initWithStyle:(UIImpactFeedbackStyle)style;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h 2023-03-09 19:10:54
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h 2023-05-23 03:16:56
@@ -19,7 +19,7 @@
- A view that looks like a search field or a text field that in reality is a button, but installs a real text field when tapped
- A view that contains multiple virtual text fields which the user can normally tap and type into, but are not full blown text fields all the time
*/
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
@interface UIIndirectScribbleInteraction : NSObject <UIInteraction>
- (instancetype)init NS_UNAVAILABLE;
@@ -46,7 +46,7 @@
/*!
@abstract The protocol to be implemented by the delegate of UIIndirectScribbleInteraction. It will be responsible for supplying a list of writable elements, focusing them, and ultimately providing a real UITextInput that will handle text editing operations.
*/
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) API_UNAVAILABLE(xros) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
@protocol UIIndirectScribbleInteractionDelegate <NSObject>
/*!
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2023-03-09 19:17:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2023-05-23 03:16:59
@@ -19,8 +19,8 @@
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
- UIBarStyleBlackOpaque API_UNAVAILABLE(tvos) API_DEPRECATED("Use UIBarStyleBlack instead.", ios(2.0, 13.0)) = 1,
- UIBarStyleBlackTranslucent API_UNAVAILABLE(tvos) API_DEPRECATED("Use UIBarStyleBlack and set the translucent property to YES instead.", ios(2.0, 13.0)) = 2,
+ UIBarStyleBlackOpaque API_UNAVAILABLE(tvos, xros) API_DEPRECATED("Use UIBarStyleBlack instead.", ios(2.0, 13.0)) = 1,
+ UIBarStyleBlackTranslucent API_UNAVAILABLE(tvos, xros) API_DEPRECATED("Use UIBarStyleBlack and set the translucent property to YES instead.", ios(2.0, 13.0)) = 2,
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIUserInterfaceSizeClass) {
@@ -73,7 +73,7 @@
UIUserInterfaceLevelUnspecified = -1,
UIUserInterfaceLevelBase,
UIUserInterfaceLevelElevated
-} API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
+} API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
typedef NS_ENUM(NSInteger, UIUserInterfaceActiveAppearance) {
UIUserInterfaceActiveAppearanceUnspecified = -1,
@@ -88,6 +88,17 @@
UINSToolbarItemPresentationSizeLarge = 3
} API_AVAILABLE(macCatalyst(16.0));
+typedef NS_ENUM(NSInteger, UIImageDynamicRange) {
+ /// Do not specify a preferred dynamic range.
+ UIImageDynamicRangeUnspecified = -1,
+ /// Restrict the image content dynamic range to the standard range.
+ UIImageDynamicRangeStandard = 0,
+ /// Allow image content to use some extended range. This is appropriate for mixing content with standard and high dynamic ranges.
+ UIImageDynamicRangeConstrainedHigh = 1,
+ /// Allow image content to use unrestricted extended range.
+ UIImageDynamicRangeHigh = 2
+} API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+
// System colors
@interface UIColor (UIColorSystemColors)
@@ -233,11 +244,11 @@
/* groupTableViewBackgroundColor is now the same as systemGroupedBackgroundColor.
*/
-@property(class, nonatomic, readonly) UIColor *groupTableViewBackgroundColor API_DEPRECATED_WITH_REPLACEMENT("systemGroupedBackgroundColor", ios(2.0, 13.0), tvos(13.0, 13.0));
+@property(class, nonatomic, readonly) UIColor *groupTableViewBackgroundColor API_DEPRECATED_WITH_REPLACEMENT("systemGroupedBackgroundColor", ios(2.0, 13.0), tvos(13.0, 13.0)) API_UNAVAILABLE(xros);
-@property(class, nonatomic, readonly) UIColor *viewFlipsideBackgroundColor API_DEPRECATED("", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
-@property(class, nonatomic, readonly) UIColor *scrollViewTexturedBackgroundColor API_DEPRECATED("", ios(3.2, 7.0)) API_UNAVAILABLE(tvos);
-@property(class, nonatomic, readonly) UIColor *underPageBackgroundColor API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+@property(class, nonatomic, readonly) UIColor *viewFlipsideBackgroundColor API_DEPRECATED("", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+@property(class, nonatomic, readonly) UIColor *scrollViewTexturedBackgroundColor API_DEPRECATED("", ios(3.2, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+@property(class, nonatomic, readonly) UIColor *underPageBackgroundColor API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h 2023-03-09 23:51:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h 2023-05-31 00:47:42
@@ -99,7 +99,7 @@
+ (instancetype)keyCommandWithInput:(NSString *)input modifierFlags:(UIKeyModifierFlags)modifierFlags action:(SEL)action;
// Key Commands with a discoverabilityTitle _will_ be discoverable in the UI.
-+ (instancetype)keyCommandWithInput:(NSString *)input modifierFlags:(UIKeyModifierFlags)modifierFlags action:(SEL)action discoverabilityTitle:(NSString *)discoverabilityTitle API_DEPRECATED_WITH_REPLACEMENT("keyCommandWithInput:modifierFlags:action:", ios(9.0, 13.0));
++ (instancetype)keyCommandWithInput:(NSString *)input modifierFlags:(UIKeyModifierFlags)modifierFlags action:(SEL)action discoverabilityTitle:(NSString *)discoverabilityTitle API_DEPRECATED_WITH_REPLACEMENT("keyCommandWithInput:modifierFlags:action:", ios(9.0, 13.0)) API_UNAVAILABLE(xros);
// UICommand initializers are unavailable
+ (instancetype)commandWithTitle:(NSString *)title
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h 2023-03-09 19:14:43
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h 2023-05-23 03:09:20
@@ -14,8 +14,24 @@
UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UIKeyboardLayoutGuide : UITrackingLayoutGuide
-/// The automatic behavior is to track the keyboard only when docked. When offscreen or undocked, the topAnchor is tied to the safeAreaLayoutGuide's bottomAnchor. To instead follow all keyboard anchors even when undocked or floating, set followsUndockedKeyboard to YES.
+/**
+ The automatic behavior is to follow the keyboard while it is docked (visible and attached to the bottom of the screen). When offscreen or undocked, the topAnchor is tied to the bottomAnchor of the view's @c safeAreaLayoutGuide .
+ To follow all keyboard anchors as above even when undocked (detached from the bottom, split and detached, or floating), set @c followsUndockedKeyboard to @c YES.
+ When following the keyboard in an undocked state, the guide will update as follows:
+ When docked or offscreen, it is considered away from all edges except for the bottom.
+ When full-width but undocked or split, it is considered away from the horizontal edges and can be near the top or the bottom.
+ When floating, it can be near any one or two adjacent edges at a time.
+ Use the methods on @c UITrackingLayoutGuide to set up constraints that automatically activate and deactivate when using @c followsUndockedKeyboard
+*/
+
+/// Defaults to @c NO.
@property (nonatomic, readwrite) BOOL followsUndockedKeyboard;
+
+/// Defaults to @c YES. When the keyboard is offscreen, the layout guide is tied to the bottomAnchor of the view's safeAreaLayoutGuide. Set this to @c NO to instead have the guide use the bottomAnchor of the view.
+@property (nonatomic, readwrite) BOOL usesBottomSafeArea API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Defaults to 0.0. When a user scrolls to dismiss the keyboard (see @c UIScrollViewKeyboardDismissMode), the gesture waits to start the dismiss until it intersects with the keyboard. This adds padding above the keyboard to start the dismiss earlier. Negative values will be treated as 0.
+@property (nonatomic, readwrite) CGFloat keyboardDismissPadding API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2023-03-04 19:11:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2023-05-31 23:58:14
@@ -87,6 +87,38 @@
- Selector: "textSelectionsInteractingAtPoint:inContainerAtLocation:anchors:modifiers:selecting:bounds:"
MethodKind: Instance
SwiftName: textSelections(interactingAt:inContainerAt:anchors:modifiers:selecting:bounds:)
+- Name: UITraitUserInterfaceIdiom
+ SwiftPrivate: true
+- Name: UITraitUserInterfaceStyle
+ SwiftPrivate: true
+- Name: UITraitLayoutDirection
+ SwiftPrivate: true
+- Name: UITraitDisplayScale
+ SwiftPrivate: true
+- Name: UITraitHorizontalSizeClass
+ SwiftPrivate: true
+- Name: UITraitVerticalSizeClass
+ SwiftPrivate: true
+- Name: UITraitForceTouchCapability
+ SwiftPrivate: true
+- Name: UITraitPreferredContentSizeCategory
+ SwiftPrivate: true
+- Name: UITraitDisplayGamut
+ SwiftPrivate: true
+- Name: UITraitAccessibilityContrast
+ SwiftPrivate: true
+- Name: UITraitUserInterfaceLevel
+ SwiftPrivate: true
+- Name: UITraitLegibilityWeight
+ SwiftPrivate: true
+- Name: UITraitActiveAppearance
+ SwiftPrivate: true
+- Name: UITraitToolbarItemPresentationSize
+ SwiftPrivate: true
+- Name: UITraitImageDynamicRange
+ SwiftPrivate: true
+- Name: UITraitTypesettingLanguage
+ SwiftPrivate: true
- Name: UICollectionViewCompositionalLayout
Methods:
- Selector: "layoutWithListConfiguration:"
@@ -168,6 +200,9 @@
- Selector: "estimatedDimension:"
MethodKind: Class
SwiftName: estimated(_:)
+ - Selector: "uniformAcrossSiblingsWithEstimate:"
+ MethodKind: Class
+ SwiftName: uniformAcrossSiblings(estimate:)
- Name: NSCollectionLayoutGroup
Methods:
- Selector: "horizontalGroupWithLayoutSize:repeatingSubitem:count:"
@@ -256,6 +291,25 @@
SwiftPrivate: true
- Name: UIListSeparatorConfiguration
SwiftPrivate: true
+- Name: UIContentUnavailableConfiguration
+ SwiftPrivate: true
+- Name: UIContentUnavailableImageProperties
+ SwiftPrivate: true
+- Name: UIContentUnavailableTextProperties
+ SwiftPrivate: true
+- Name: UIContentUnavailableButtonProperties
+ SwiftPrivate: true
+- Name: UIContentUnavailableConfigurationState
+ SwiftPrivate: true
+- Name: UIContentUnavailableView
+ Methods:
+ - Selector: 'initWithConfiguration:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ Properties:
+ - Name: 'configuration'
+ PropertyKind: Instance
+ SwiftPrivate: true
- Name: UITableViewCell
Methods:
- Selector: 'updateConfigurationUsingState:'
@@ -485,6 +539,9 @@
- Selector: 'registerUserNotificationSettings:'
SwiftName: registerUserNotificationSettings(_:)
MethodKind: Instance
+ - Selector: 'activateSceneSessionForRequest:errorHandler:'
+ MethodKind: Instance
+ SwiftPrivate: true
- Name: NSIndexPath
Methods:
- Selector: 'indexPathForItem:inSection:'
@@ -580,6 +637,39 @@
- Selector: 'initWithTitle:image:target:action:menu:'
MethodKind: Instance
SwiftPrivate: true
+ - Selector: 'addSymbolEffect:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'addSymbolEffect:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'addSymbolEffect:options:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:options:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffects'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffectsWithOptions:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffectsWithOptions:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'setSymbolImage:withContentTransition:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'setSymbolImage:withContentTransition:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
- Name: UIBarButtonItemGroup
Methods:
- Selector: 'fixedGroupWithRepresentativeItem:items:'
@@ -733,6 +823,9 @@
SwiftName: init(types:categories:)
MethodKind: Class
- Name: UIView
+ Properties:
+ - Name: 'traitOverrides'
+ SwiftPrivate: true
Methods:
- Selector: 'willMoveToWindow:'
SwiftName: willMove(toWindow:)
@@ -749,8 +842,17 @@
- Selector: 'setNeedsDisplayInRect:'
SwiftName: setNeedsDisplay(_:)
MethodKind: Instance
+ - Selector: 'animateWithSpringDuration:bounce:initialSpringVelocity:delay:options:animations:completion:'
+ MethodKind: Class
+ SwiftPrivate: true
- Name: UIViewController
Properties:
+ - Name: 'traitOverrides'
+ SwiftPrivate: true
+ - Name: 'contentUnavailableConfiguration'
+ SwiftPrivate: true
+ - Name: 'contentUnavailableConfigurationState'
+ SwiftPrivate: true
- Name: presentedViewController
SwiftName: presentedViewController
- Name: presentingViewController
@@ -797,6 +899,13 @@
- Selector: 'didMoveToParentViewController:'
SwiftName: didMove(toParent:)
MethodKind: Instance
+ - Selector: 'updateContentUnavailableConfigurationUsingState:'
+ SwiftPrivate: true
+ MethodKind: Instance
+- Name: UIPresentationController
+ Properties:
+ - Name: 'traitOverrides'
+ SwiftPrivate: true
- Name: UIVibrancyEffect
Methods:
- Selector: 'effectForBlurEffect:'
@@ -860,7 +969,7 @@
Methods:
- Selector: 'environment:containsEnvironment:'
MethodKind: Class
- Availability: nonswift
+ SwiftPrivate: true
- Name: UINavigationItem
Properties:
- Name: renameDelegate
@@ -873,9 +982,18 @@
SwiftName: UIScene.OpenExternalURLOptions
- Name: UISceneActivationRequestOptions
SwiftName: UIScene.ActivationRequestOptions
+- Name: UISceneSessionActivationRequest
+ SwiftPrivate: true
- Name: UISceneCollectionJoinBehavior
SwiftName: UIScene.CollectionJoinBehavior
- Name: UITraitCollection
+ Properties:
+ - Name: 'systemTraitsAffectingColorAppearance'
+ PropertyKind: Class
+ SwiftPrivate: true
+ - Name: 'systemTraitsAffectingImageLookup'
+ PropertyKind: Class
+ SwiftPrivate: true
Methods:
- Selector: 'performAsCurrentTraitCollection:'
MethodKind: Instance
@@ -883,6 +1001,42 @@
- Selector: 'hasDifferentColorAppearanceComparedToTraitCollection:'
MethodKind: Instance
SwiftName: 'hasDifferentColorAppearance(comparedTo:)'
+ - Selector: 'traitCollectionWithTraits:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'traitCollectionByModifyingTraits:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'traitCollectionWithCGFloatValue:forTrait:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'traitCollectionByReplacingCGFloatValue:forTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'valueForCGFloatTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'traitCollectionWithNSIntegerValue:forTrait:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'traitCollectionByReplacingNSIntegerValue:forTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'valueForNSIntegerTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'traitCollectionWithObject:forTrait:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'traitCollectionByReplacingObject:forTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'objectForTrait:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'changedTraitsFromTraitCollection:'
+ MethodKind: Instance
+ SwiftPrivate: true
- Name: UIFontPickerViewControllerConfiguration
SwiftName: UIFontPickerViewController.Configuration
- Name: UIImage
@@ -938,6 +1092,52 @@
- Selector: 'configurationPreferringMonochrome'
SwiftName: 'preferringMonochrome()'
MethodKind: Class
+- Name: UIImageView
+ Methods:
+ - Selector: 'addSymbolEffect:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'addSymbolEffect:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'addSymbolEffect:options:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'addSymbolEffect:options:animated:completion:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:options:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeSymbolEffectOfType:options:animated:completion:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffects'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffectsWithOptions:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'removeAllSymbolEffectsWithOptions:animated:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'setSymbolImage:withContentTransition:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'setSymbolImage:withContentTransition:options:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'setSymbolImage:withContentTransition:options:completion:'
+ MethodKind: Instance
+ SwiftPrivate: true
+- Name: UISymbolEffectCompletionContext
+ SwiftPrivate: true
- Name: UIDeferredMenuElement
Methods:
- Selector: 'elementWithProvider:'
@@ -1002,7 +1202,35 @@
- Selector: 'configurationWithIdentifier:sourcePoint:'
MethodKind: Class
SwiftPrivate: true
+- Name: UITextItem
+ Properties:
+ - Name: contentType
+ PropertyKind: Instance
+ SwiftPrivate: true
+ - Name: link
+ PropertyKind: Instance
+ SwiftPrivate: true
+ - Name: textAttachment
+ PropertyKind: Instance
+ SwiftPrivate: true
+ - Name: tagIdentifier
+ PropertyKind: Instance
+ SwiftPrivate: true
+- Name: UITextItemMenuPreview
+ SwiftPrivate: true
+- Name: UITextItemMenuConfiguration
+ SwiftName: UITextItem.MenuConfiguration
+ Methods:
+ - Selector: 'configurationWithMenu:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'configurationWithPreview:menu:'
+ MethodKind: Class
+ SwiftPrivate: true
- Name: UIWindowScene
+ Properties:
+ - Name: 'traitOverrides'
+ SwiftPrivate: true
Methods:
- Selector: 'requestGeometryUpdateWithPreferences:errorHandler:'
SwiftName: requestGeometryUpdate(_:errorHandler:)
@@ -1011,6 +1239,9 @@
SwiftName: UIWindowScene.ActivationConfiguration
- Name: UIWindowSceneActivationRequestOptions
SwiftName: UIWindowScene.ActivationRequestOptions
+ Properties:
+ - Name: 'placement'
+ SwiftPrivate: true
- Name: UIWindowSceneActivationAction
SwiftName: UIWindowScene.ActivationAction
- Name: UIWindowSceneActivationInteraction
@@ -1029,8 +1260,16 @@
- Selector: 'preferencesSystemFrame:'
MethodKind: Class
SwiftPrivate: true
+- Name: UIWindowSceneGeometryPreferencesReality
+ SwiftName: UIWindowSceneGeometryPreferences.Reality
- Name: UIWindowSceneGeometryPreferences
SwiftName: UIWindowScene.GeometryPreferences
+- Name: UIWindowScenePlacement
+ SwiftPrivate: true
+- Name: UIWindowSceneStandardPlacement
+ SwiftPrivate: true
+- Name: UIWindowSceneProminentPlacement
+ SwiftPrivate: true
- Name: UISheetPresentationControllerDetent
SwiftName: UISheetPresentationController.Detent
Methods:
@@ -1070,6 +1309,33 @@
- Selector: "textRangeForSelectionGranularity:enclosingLocation:"
MethodKind: Instance
SwiftName: textRange(for:enclosing:)
+- Name: UITraitDefinition
+ SwiftPrivate: true
+- Name: UICGFloatTraitDefinition
+ SwiftPrivate: true
+- Name: UINSIntegerTraitDefinition
+ SwiftPrivate: true
+- Name: UIObjectTraitDefinition
+ SwiftPrivate: true
+- Name: UITraitOverrides
+ SwiftPrivate: true
+- Name: UIMutableTraits
+ SwiftPrivate: true
+- Name: UITraitChangeObservable
+ SwiftPrivate: true
+ Methods:
+ - Selector: "registerForTraitChanges:withHandler:"
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: "registerForTraitChanges:withTarget:action:"
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: "registerForTraitChanges:withAction:"
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: "unregisterForTraitChanges:"
+ MethodKind: Instance
+ SwiftPrivate: true
- Name: UIConfigurationState
SwiftPrivate: true
- Name: UIContentConfiguration
@@ -1344,6 +1610,11 @@
- Selector: 'contextMenuInteraction:previewForDismissingMenuWithConfiguration:'
SwiftName: 'contextMenuInteraction(_:previewForDismissingMenuWithConfiguration:)'
MethodKind: Instance
+- Name: UIPopoverPresentationControllerSourceItem
+ Methods:
+ - Selector: 'frameInView:'
+ MethodKind: Instance
+ SwiftPrivate: true
- Name: UINavigationItemRenameDelegate
Availability: nonswift
- Name: UITextSearching
@@ -1399,6 +1670,8 @@
SwiftPrivate: true
- Name: UIListContentTextTransform
SwiftPrivate: true
+- Name: UIContentUnavailableAlignment
+ SwiftPrivate: true
- Name: NSTextLayoutOrientation
SwiftName: NSLayoutManager.TextLayoutOrientation
- Name: NSGlyphProperty
@@ -1421,6 +1694,8 @@
SwiftName: UIFocusHaloEffect.Position
- Name: UINavigationItemSearchBarPlacement
SwiftName: UINavigationItem.SearchBarPlacement
+- Name: UIImageDynamicRange
+ SwiftName: UIImage.DynamicRange
# Swift 4.2 Renames
- Name: UIApplicationState
SwiftName: UIApplication.State
@@ -1468,6 +1743,8 @@
SwiftName: UICollectionViewUpdateItem.Action
- Name: UICollectionViewDropIntent
SwiftName: UICollectionViewDropProposal.Intent
+- Name: UICollectionLayoutSectionOrthogonalScrollingBounce
+ SwiftName: UICollectionLayoutSectionOrthogonalScrollingProperties.Bounce
- Name: UITableViewSelfSizingInvalidation
SwiftName: UITableView.SelfSizingInvalidation
- Name: UITableViewSeparatorInsetReference
@@ -1556,6 +1833,8 @@
SwiftName: UISwitch.Style
- Name: UISegmentedControlSegment
SwiftName: UISegmentedControl.Segment
+- Name: UITextViewBorderStyle
+ SwiftName: UITextView.BorderStyle
- Name: UITextBorderStyle
SwiftName: UITextField.BorderStyle
- Name: UITextFieldViewMode
@@ -1729,6 +2008,18 @@
Typedefs:
- Name: NSTextListMarkerFormat
SwiftName: NSTextList.MarkerFormat
+- Name: UITrait
+ SwiftPrivate: true
+- Name: UICGFloatTrait
+ SwiftPrivate: true
+- Name: UINSIntegerTrait
+ SwiftPrivate: true
+- Name: UIObjectTrait
+ SwiftPrivate: true
+- Name: UITraitMutations
+ SwiftPrivate: true
+- Name: UITraitChangeHandler
+ SwiftPrivate: true
- Name: UIButtonConfigurationUpdateHandler
SwiftName: UIButton.ConfigurationUpdateHandler
- Name: UIConfigurationColorTransformer
@@ -1757,6 +2048,8 @@
SwiftName: UICollectionViewDiffableDataSourceReferenceSupplementaryViewProvider
- Name: UICollectionViewDiffableDataSourceCellProvider
SwiftName: UICollectionViewDiffableDataSourceReferenceCellProvider
+- Name: UISymbolEffectCompletion
+ SwiftPrivate: true
- Name: NSAttributedStringDocumentAttributeKey
SwiftName: NSAttributedString.DocumentAttributeKey
- Name: NSAttributedStringDocumentReadingOptionKey
@@ -1843,6 +2136,8 @@
SwiftName: UIAccessibility.AssistiveTechnologyIdentifier
- Name: UIAccessibilityCustomActionHandler
SwiftName: UIAccessibilityCustomAction.Handler
+- Name: UICollectionLayoutSectionOrthogonalScrollingDecelerationRate
+ SwiftName: UICollectionLayoutSectionOrthogonalScrollingProperties.DecelerationRate
- Name: UITextSearchDocumentIdentifier
SwiftPrivate: true
Enumerators:
@@ -1971,6 +2266,8 @@
SwiftName: attachment
- Name: NSLinkAttributeName
SwiftName: link
+- Name: UITextItemTagAttributeName
+ SwiftName: textItemTag
- Name: NSBaselineOffsetAttributeName
SwiftName: baselineOffset
- Name: NSUnderlineColorAttributeName
@@ -2137,6 +2434,8 @@
SwiftName: UIScene.willEnterForegroundNotification
- Name: UISceneDidEnterBackgroundNotification
SwiftName: UIScene.didEnterBackgroundNotification
+- Name: UISceneSessionRoleImmersiveSpaceApplication
+ SwiftName: immersiveSpaceApplication
- Name: UIScreenReferenceDisplayModeStatusDidChangeNotification
SwiftName: UIScreen.referenceDisplayModeStatusDidChangeNotification
- Name: UIWindowSceneSessionRoleApplication
@@ -2145,6 +2444,8 @@
SwiftName: windowExternalDisplay
- Name: UIWindowSceneSessionRoleExternalDisplayNonInteractive
SwiftName: windowExternalDisplayNonInteractive
+- Name: UIWindowSceneSessionRoleVolumetricApplication
+ SwiftName: windowApplicationVolumetric
- Name: UISheetPresentationControllerDetentInactive
SwiftPrivate: true
- Name: UISheetPresentationControllerAutomaticDimension
@@ -2506,6 +2807,8 @@
SwiftName: keyboardKey
- Name: UIAccessibilityTraitStaticText
SwiftName: staticText
+- Name: UIAccessibilityTraitSupportsZoom
+ SwiftName: supportsZoom
- Name: UIAccessibilityTraitSummaryElement
SwiftName: summaryElement
- Name: UIAccessibilityTraitNotEnabled
@@ -2522,6 +2825,8 @@
SwiftName: causesPageTurn
- Name: UIAccessibilityTraitTabBar
SwiftName: tabBar
+- Name: UIAccessibilityTraitToggleButton
+ SwiftName: toggleButton
- Name: UITrackingRunLoopMode
SwiftName: tracking
- Name: UIGuidedAccessErrorDomain
@@ -2605,10 +2910,6 @@
SwiftName: "CTTextAlignment.init(_:)"
- Name: NSTextAlignmentFromCTTextAlignment
SwiftName: "NSTextAlignment.init(_:)"
-- Name: UIImagePNGRepresentation
- SwiftName: "UIImage.pngData(self:)"
-- Name: UIImageJPEGRepresentation
- SwiftName: "UIImage.jpegData(self:compressionQuality:)"
- Name: UIAccessibilityPostNotification
SwiftName: "UIAccessibility.post(notification:argument:)"
- Name: UIAccessibilityConvertFrameToScreenCoordinates
@@ -3576,6 +3877,8 @@
SwiftName: UIAccessibilityTraitKeyboardKey
- Name: UIAccessibilityTraitStaticText
SwiftName: UIAccessibilityTraitStaticText
+ - Name: UIAccessibilityTraitSupportsZoom
+ SwiftName: UIAccessibilityTraitSupportsZoom
- Name: UIAccessibilityTraitSummaryElement
SwiftName: UIAccessibilityTraitSummaryElement
- Name: UIAccessibilityTraitNotEnabled
@@ -3592,6 +3895,8 @@
SwiftName: UIAccessibilityTraitCausesPageTurn
- Name: UIAccessibilityTraitTabBar
SwiftName: UIAccessibilityTraitTabBar
+ - Name: UIAccessibilityTraitToggleButton
+ SwiftName: UIAccessibilityTraitToggleButton
- Name: UITrackingRunLoopMode
SwiftName: UITrackingRunLoopMode
- Name: UITitlebarToolbarStyle
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2023-03-05 23:52:03
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2023-05-20 00:29:01
@@ -17,6 +17,7 @@
#import <UIKit/UIGeometry.h>
#import <UIKit/UIGraphics.h>
#import <UIKit/UIImage.h>
+#import <UIKit/UIImageReader.h>
#import <UIKit/UIImageConfiguration.h>
#import <UIKit/UIImageSymbolConfiguration.h>
#import <UIKit/NSDataAsset.h>
@@ -40,6 +41,7 @@
#import <UIKit/UIAlertView.h>
#import <UIKit/UIAppearance.h>
#import <UIKit/UIApplication.h>
+#import <UIKit/UIOrientation.h>
#import <UIKit/UIBarButtonItem.h>
#import <UIKit/UIBarButtonItemGroup.h>
#import <UIKit/UIBarItem.h>
@@ -80,6 +82,7 @@
#import <UIKit/UIDatePicker.h>
#import <UIKit/UIDevice.h>
#import <UIKit/UIDocument.h>
+#import <UIKit/UIDocumentViewController.h>
#import <UIKit/UIDocumentPickerViewController.h>
#import <UIKit/UIDocumentMenuViewController.h>
#import <UIKit/UIDocumentPickerExtensionViewController.h>
@@ -103,6 +106,7 @@
#import <UIKit/UIInputViewController.h>
#import <UIKit/UIInterface.h>
#import <UIKit/UILabel.h>
+#import <UIKit/UILetterformAwareAdjusting.h>
#import <UIKit/UILexicon.h>
#import <UIKit/UILargeContentViewer.h>
#import <UIKit/UIApplicationShortcutItem.h>
@@ -113,6 +117,9 @@
#import <UIKit/UIFocusAnimationCoordinator.h>
#import <UIKit/UIFocusDebugger.h>
#import <UIKit/UIFocusMovementHint.h>
+#import <UIKit/UIHoverEffect.h>
+#import <UIKit/UIHoverStyle.h>
+#import <UIKit/UIShape.h>
#import <UIKit/UIHoverGestureRecognizer.h>
#import <UIKit/UILocalizedIndexedCollation.h>
#import <UIKit/UILongPressGestureRecognizer.h>
@@ -125,6 +132,7 @@
#import <UIKit/UINibDeclarations.h>
#import <UIKit/UINibLoading.h>
#import <UIKit/UIPageControl.h>
+#import <UIKit/UIPageControlProgress.h>
#import <UIKit/UIPageViewController.h>
#import <UIKit/UIPanGestureRecognizer.h>
#import <UIKit/UIPasteboard.h>
@@ -170,13 +178,18 @@
#import <UIKit/UITableViewController.h>
#import <UIKit/UITapGestureRecognizer.h>
#import <UIKit/UITextChecker.h>
+#import <UIKit/UITextCursorView.h>
#import <UIKit/UITextField.h>
#import <UIKit/UITextInput.h>
#import <UIKit/UITextInputContext.h>
#import <UIKit/UITextInputTraits.h>
+#import <UIKit/UITextSelectionDisplayInteraction.h>
+#import <UIKit/UITextSelectionHandleView.h>
+#import <UIKit/UITextSelectionHighlightView.h>
#import <UIKit/UITextView.h>
#import <UIKit/UIToolbar.h>
#import <UIKit/UITouch.h>
+#import <UIKit/UITrait.h>
#import <UIKit/UITraitCollection.h>
#import <UIKit/UIUserActivity.h>
#import <UIKit/UIVideoEditorController.h>
@@ -248,7 +261,9 @@
#import <UIKit/NSIndexPath+UIKitAdditions.h>
#import <UIKit/UIPopoverSupport.h>
#import <UIKit/UITextInteraction.h>
+#import <UIKit/UITextItem.h>
#import <UIKit/UITextItemInteraction.h>
+#import <UIKit/UITextLoupeSession.h>
#import <UIKit/UIViewAnimating.h>
#import <UIKit/UISwipeActionsConfiguration.h>
#import <UIKit/UIAccessibilityZoom.h>
@@ -279,13 +294,19 @@
#import <UIKit/UISceneEnhancedStateRestoration.h>
#import <UIKit/UISceneOptions.h>
#import <UIKit/UIScene.h>
+#import <UIKit/UIScene+AVAudioSession.h>
#import <UIKit/UIWindowScene.h>
#import <UIKit/UISceneSession.h>
+#import <UIKit/UISceneSessionActivationRequest.h>
#import <UIKit/UISceneActivationConditions.h>
#import <UIKit/UIWindowSceneGeometry.h>
#import <UIKit/UIWindowSceneGeometryPreferences.h>
#import <UIKit/UIWindowSceneGeometryPreferencesMac.h>
#import <UIKit/UIWindowSceneGeometryPreferencesIOS.h>
+#import <UIKit/UIWindowSceneGeometryPreferencesReality.h>
+#import <UIKit/UIWindowScenePlacement.h>
+#import <UIKit/UIWindowSceneStandardPlacement.h>
+#import <UIKit/UIWindowSceneProminentPlacement.h>
#import <UIKit/UIOpenURLContext.h>
#import <UIKit/UIStatusBarManager.h>
#import <UIKit/UIScreenshotService.h>
@@ -316,6 +337,7 @@
#import <UIKit/UIWindowSceneActivationConfiguration.h>
#import <UIKit/UIWindowSceneActivationAction.h>
#import <UIKit/UIWindowSceneActivationInteraction.h>
+#import <UIKit/UIWindowSceneDragInteraction.h>
#import <UIKit/UIFocusEffect.h>
#import <UIKit/UIToolTipInteraction.h>
#import <UIKit/UICalendarView.h>
@@ -327,4 +349,10 @@
#import <UIKit/UIFindSession.h>
#import <UIKit/UIFindInteraction.h>
#import <UIKit/UIEditMenuInteraction.h>
+#import <UIKit/UIContentUnavailableConfiguration.h>
+#import <UIKit/UIContentUnavailableImageProperties.h>
+#import <UIKit/UIContentUnavailableTextProperties.h>
+#import <UIKit/UIContentUnavailableButtonProperties.h>
+#import <UIKit/UIContentUnavailableConfigurationState.h>
+#import <UIKit/UIContentUnavailableView.h>
#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h 2023-03-09 19:14:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h 2023-05-23 03:17:03
@@ -12,17 +12,45 @@
#import <UIKit/UIStringDrawing.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIContentSizeCategoryAdjusting.h>
+#import <UIKit/UILetterformAwareAdjusting.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@class UIColor, UIFont;
+typedef NS_ENUM(NSInteger, UILabelVibrancy) {
+ // No vibrancy will be applied automatically in this mode.
+ UILabelVibrancyNone,
+
+ // Vibrancy gets applied automatically to labels if the context allows it.
+ // The kind of vibrancy effects depends on the labels text color.
+ // labelColor becomes UIVibrancyEffectStyleLabel,
+ // secondaryLabelColor becomes UIVibrancyEffectStyleSecondaryLabel etc.
+ UILabelVibrancyAutomatic,
+} API_AVAILABLE(xros(1.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
-@interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting>
+@interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
@property(nullable, nonatomic,copy) NSString *text; // default is nil
@property(null_resettable, nonatomic,strong) UIFont *font UI_APPEARANCE_SELECTOR; // default is nil (system font 17 plain)
@property(null_resettable, nonatomic,strong) UIColor *textColor UI_APPEARANCE_SELECTOR; // default is labelColor
+
+// Controls whether a label becomes vibrant automatically.
+//
+// If a label has a vibrancy mode other than `None` set, the system tries
+// to apply vibrancy automatically to that label. This will only succeed if
+// the label is in a context that allows vibrancy, which in general means the
+// the label needs to be on top of a blurred material.
+//
+// This property can only be used to opt-in to automatic vibrancy. It is not
+// a way to opt-out of vibrancy that is enabled by other means. A label
+// placed in a vibrant `UIVisualEffectView` with preferred vibrancy `None` will
+// still be vibrant.
+//
+// The default is `automatic` on xrOS and `none` on all other platforms.
+@property (nonatomic) UILabelVibrancy preferredVibrancy UI_APPEARANCE_SELECTOR API_AVAILABLE(xros(1.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
@property(nullable, nonatomic,strong) UIColor *shadowColor UI_APPEARANCE_SELECTOR; // default is nil (no shadow)
@property(nonatomic) CGSize shadowOffset UI_APPEARANCE_SELECTOR; // default is CGSizeMake(0, -1) -- a top shadow
@property(nonatomic) NSTextAlignment textAlignment; // default is NSTextAlignmentNatural (before iOS 9, the default was NSTextAlignmentLeft)
@@ -82,10 +110,10 @@
// deprecated:
-@property(nonatomic) CGFloat minimumFontSize API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(tvos); // deprecated - use minimumScaleFactor. default is 0.0
+@property(nonatomic) CGFloat minimumFontSize API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // deprecated - use minimumScaleFactor. default is 0.0
// Non-functional. Hand tune by using NSKernAttributeName to affect tracking, or consider using the allowsDefaultTighteningForTruncation property.
-@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILetterformAwareAdjusting.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILetterformAwareAdjusting.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILetterformAwareAdjusting.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILetterformAwareAdjusting.h 2023-05-23 03:09:14
@@ -0,0 +1,43 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UILetterformAwareAdjusting.h>)
+//
+// UILetterformAwareAdjusting.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Background
+///
+/// When fonts created with `+[UIFont preferredFontForTextStyle:]` are used, UILabel, UITextField, and nonscrollable
+/// UITextView will increase the height calculated in `-sizeThatFits:` and `-intrinsicContentSize` in the presence
+/// of tall scripts.
+///
+/// Even with this increase, there will be some extreme ascenders and descenders that extend beyond this height.
+///
+/// Furthermore, this increase only occurs for the text-style fonts, so for non-text-style fonts such cases will be markedly more common.
+
+typedef NS_ENUM(NSInteger, UILetterformAwareSizingRule) {
+ /// `UILetterformAwareSizingRuleTypographic`: `-sizeThatFits:` and `-intrinsicContentSize` results will work well for typographic alignment of edges and centers of the view frames, but extreme ascenders or descenders in tall scripts may not be accounted for
+ UILetterformAwareSizingRuleTypographic,
+
+ /// `UILetterformAwareSizingRuleOversize`: `-sizeThatFits:` and `-intrinsicContentSize` results will account for extreme ascenders or descenders in tall scripts, but in such cases might not work well for typographic alignment of top and bottom edges and vertical centers of the view frames
+ UILetterformAwareSizingRuleOversize,
+} API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0)) NS_SWIFT_UI_ACTOR
+@protocol UILetterformAwareAdjusting <NSObject>
+
+/// `sizingRule` defaults to `UILetterformAwareSizingRuleTypographic` and determines what rule is used during the calculation of `-sizeThatFits:` and `-intrinsicContentSize`
+@property(nonatomic) UILetterformAwareSizingRule sizingRule;
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UILetterformAwareAdjusting.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h 2023-03-09 19:10:55
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h 2023-05-23 03:16:57
@@ -38,7 +38,7 @@
+ (instancetype)extraProminentInsetGroupedHeaderConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
/// Returns the default configuration for a sidebar list cell.
-+ (instancetype)sidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
++ (instancetype)sidebarCellConfiguration API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// Returns the default configuration for a sidebar list cell with subtitle text.
+ (instancetype)sidebarSubtitleCellConfiguration API_UNAVAILABLE(tvos, watchos);
/// Returns the default configuration for an accompanied sidebar list cell.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2023-03-09 19:14:44
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2023-05-23 03:09:20
@@ -14,7 +14,7 @@
@class CLRegion;
// In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to schedule and present UILocalNotifications
-UIKIT_EXTERN API_DEPRECATED("Use UserNotifications Framework's UNNotificationRequest", ios(4.0, 10.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("Use UserNotifications Framework's UNNotificationRequest", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UILocalNotification : NSObject<NSCopying, NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -59,7 +59,7 @@
@end
-UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName API_DEPRECATED("Use UserNotifications Framework's +[UNNotificationSound defaultSound]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName API_DEPRECATED("Use UserNotifications Framework's +[UNNotificationSound defaultSound]", ios(4.0, 10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2023-03-09 19:17:45
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2023-05-31 00:46:46
@@ -22,6 +22,9 @@
/// Indicates whether the menu (and any submenus) should only allow a single "on" menu item.
UIMenuOptionsSingleSelection API_AVAILABLE(ios(15.0)) = 1 << 5,
+ /// Indicates that this menu should be rendered as a palette.
+ UIMenuOptionsDisplayAsPalette API_AVAILABLE(ios(17.0)) = 1 << 7,
+
} NS_SWIFT_NAME(UIMenu.Options) API_AVAILABLE(ios(13.0));
typedef NS_ENUM(NSInteger, UIMenuElementSize) {
@@ -209,6 +212,9 @@
/// Format top-level menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuFormat API_AVAILABLE(ios(13.0));
+
+/// Text insertion sub-menu group, containing Scan Text, Emoji, and Form-Filling items.
+UIKIT_EXTERN const UIMenuIdentifier UIMenuInsert API_AVAILABLE(ios(17.0));
/// Font menu contained within Format menu (contains UIMenuTextStyle)
UIKIT_EXTERN const UIMenuIdentifier UIMenuFont API_AVAILABLE(ios(13.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h 2023-03-09 19:14:22
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h 2023-05-23 03:09:13
@@ -18,21 +18,21 @@
UIMenuControllerArrowDown API_AVAILABLE(ios(3.2)),
UIMenuControllerArrowLeft API_AVAILABLE(ios(3.2)),
UIMenuControllerArrowRight API_AVAILABLE(ios(3.2)),
-} API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.2, 16.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.2, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
@class UIView, UIMenuItem;
-UIKIT_EXTERN API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIMenuController : NSObject
@property(class, nonatomic, readonly) UIMenuController *sharedMenuController;
@property(nonatomic,getter=isMenuVisible) BOOL menuVisible; // default is NO
-- (void)setMenuVisible:(BOOL)menuVisible API_DEPRECATED("Use showMenuFromView:rect: or hideMenuFromView: instead.", ios(3.0, 13.0));
-- (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated API_DEPRECATED("Use showMenuFromView:rect: or hideMenuFromView: instead.", ios(3.0, 13.0));
+- (void)setMenuVisible:(BOOL)menuVisible API_DEPRECATED("Use showMenuFromView:rect: or hideMenuFromView: instead.", ios(3.0, 13.0)) API_UNAVAILABLE(xros);
+- (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated API_DEPRECATED("Use showMenuFromView:rect: or hideMenuFromView: instead.", ios(3.0, 13.0)) API_UNAVAILABLE(xros);
-- (void)setTargetRect:(CGRect)targetRect inView:(UIView *)targetView API_DEPRECATED("Use showMenuFromView:rect: instead.", ios(3.0, 13.0));
+- (void)setTargetRect:(CGRect)targetRect inView:(UIView *)targetView API_DEPRECATED("Use showMenuFromView:rect: instead.", ios(3.0, 13.0)) API_UNAVAILABLE(xros);
- (void)showMenuFromView:(UIView *)targetView rect:(CGRect)targetRect API_AVAILABLE(ios(13.0));
- (void)hideMenuFromView:(UIView *)targetView API_AVAILABLE(ios(13.0));
@@ -48,13 +48,13 @@
@end
-UIKIT_EXTERN NSNotificationName const UIMenuControllerWillShowMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN NSNotificationName const UIMenuControllerDidShowMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN NSNotificationName const UIMenuControllerWillHideMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN NSNotificationName const UIMenuControllerDidHideMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN NSNotificationName const UIMenuControllerMenuFrameDidChangeNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIMenuControllerWillShowMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIMenuControllerDidShowMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIMenuControllerWillHideMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIMenuControllerDidHideMenuNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSNotificationName const UIMenuControllerMenuFrameDidChangeNotification API_DEPRECATED("UIMenuController is deprecated. Use UIEditMenuInteraction instead.", ios(3.0, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_DEPRECATED("UIMenuItem is deprecated. Use UIEditMenuInteraction instead.", ios(3.2, 16.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIMenuItem is deprecated. Use UIEditMenuInteraction instead.", ios(3.2, 16.0), xros(1.0, 1.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIMenuItem : NSObject
- (instancetype)initWithTitle:(NSString *)title action:(SEL)action NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h 2023-03-09 19:14:33
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h 2023-05-23 03:09:16
@@ -23,6 +23,9 @@
/// Image that can appear next to this element.
@property (nullable, nonatomic, copy) UIImage *image;
+/// Image that can appear next to this action when the `state` is `UIMenuElementStateOn`
+@property (nullable, nonatomic, copy) UIImage *selectedImage API_AVAILABLE(ios(17.0));
+
/// Elaborated title used in keyboard shortcut overlay.
@property (nullable, nonatomic, copy) NSString *discoverabilityTitle;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2023-03-09 19:14:37
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2023-05-26 22:50:44
@@ -23,6 +23,8 @@
UINavigationItemLargeTitleDisplayModeAlways,
/// Never use a larger title when this item is topmost.
UINavigationItemLargeTitleDisplayModeNever,
+ /// Always use a large title when this item is topmost. If there is a back button present, this will revert to `Always`. Leading & center items will move to the overflow menu if present.
+ UINavigationItemLargeTitleDisplayModeInline API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos),
} NS_SWIFT_NAME(UINavigationItem.LargeTitleDisplayMode);
typedef NS_ENUM(NSInteger, UINavigationItemBackButtonDisplayMode) {
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h 2023-03-09 19:14:25
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h 2023-05-23 03:09:14
@@ -12,8 +12,8 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(4.0)) NS_SWIFT_UI_ACTOR
-@interface UINib : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(4.0)) NS_SWIFT_UI_ACTOR API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0))
+@interface UINib : NSObject
// If the bundle parameter is nil, the main bundle is used.
// Releases resources in response to memory pressure (e.g. memory warning), reloading from the bundle when necessary.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h 2023-03-09 19:14:25
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h 2023-05-23 03:09:14
@@ -16,15 +16,15 @@
UIKIT_EXTERN UINibOptionsKey const UINibExternalObjects API_AVAILABLE(ios(3.0));
@interface NSBundle(UINibLoadingAdditions)
-- (nullable NSArray *)loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary<UINibOptionsKey, id> *)options;
+- (nullable NSArray *)loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary<UINibOptionsKey, id> *)options API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
@end
@interface NSObject(UINibLoadingAdditions)
-- (void)awakeFromNib NS_REQUIRES_SUPER;
-- (void)prepareForInterfaceBuilder API_AVAILABLE(ios(8.0));
+- (void)awakeFromNib NS_REQUIRES_SUPER API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
+- (void)prepareForInterfaceBuilder API_AVAILABLE(ios(8.0)) API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
@end
-UIKIT_EXTERN NSString * const UINibProxiedObjectsKey API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString * const UINibProxiedObjectsKey API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h 2023-03-09 19:14:36
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h 2023-05-23 03:09:17
@@ -17,7 +17,7 @@
};
// UINotificationFeedbackGenerator is used to give user feedback when an notification is displayed
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UINotificationFeedbackGenerator : UIFeedbackGenerator
/// call when a notification is displayed, passing the corresponding type
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h 2023-05-31 00:47:21
@@ -0,0 +1,71 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIOrientation.h>)
+//
+// UIOrientation.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
+ UIDeviceOrientationUnknown,
+ UIDeviceOrientationPortrait, // Device oriented vertically, home button on the bottom
+ UIDeviceOrientationPortraitUpsideDown, // Device oriented vertically, home button on the top
+ UIDeviceOrientationLandscapeLeft, // Device oriented horizontally, home button on the right
+ UIDeviceOrientationLandscapeRight, // Device oriented horizontally, home button on the left
+ UIDeviceOrientationFaceUp, // Device oriented flat, face up
+ UIDeviceOrientationFaceDown // Device oriented flat, face down
+} API_UNAVAILABLE(tvos);
+
+static inline BOOL UIDeviceOrientationIsPortrait(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos, xros) {
+ return ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown);
+}
+
+static inline BOOL UIDeviceOrientationIsLandscape(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos, xros) {
+ return ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight);
+}
+
+static inline __attribute__((always_inline)) BOOL UIDeviceOrientationIsFlat(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos, xros) {
+ return ((orientation) == UIDeviceOrientationFaceUp || (orientation) == UIDeviceOrientationFaceDown);
+}
+
+static inline __attribute__((always_inline)) BOOL UIDeviceOrientationIsValidInterfaceOrientation(UIDeviceOrientation orientation) API_UNAVAILABLE(tvos, xros) {
+ return ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown || (orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight);
+}
+
+// Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
+// This is because rotating the device to the left requires rotating the content to the right.
+typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
+ UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown,
+ UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
+ UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
+ UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
+ UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
+} API_UNAVAILABLE(tvos);
+
+typedef NS_OPTIONS(NSUInteger, UIInterfaceOrientationMask) {
+ UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait),
+ UIInterfaceOrientationMaskLandscapeLeft = (1 << UIInterfaceOrientationLandscapeLeft),
+ UIInterfaceOrientationMaskLandscapeRight = (1 << UIInterfaceOrientationLandscapeRight),
+ UIInterfaceOrientationMaskPortraitUpsideDown = (1 << UIInterfaceOrientationPortraitUpsideDown),
+ UIInterfaceOrientationMaskLandscape = (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
+ UIInterfaceOrientationMaskAll = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown),
+ UIInterfaceOrientationMaskAllButUpsideDown = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
+} API_UNAVAILABLE(tvos);
+
+static inline BOOL UIInterfaceOrientationIsPortrait(UIInterfaceOrientation orientation) API_UNAVAILABLE(tvos) {
+ return ((orientation) == UIInterfaceOrientationPortrait || (orientation) == UIInterfaceOrientationPortraitUpsideDown);
+}
+
+static inline BOOL UIInterfaceOrientationIsLandscape(UIInterfaceOrientation orientation) API_UNAVAILABLE(tvos) {
+ return ((orientation) == UIInterfaceOrientationLandscapeLeft || (orientation) == UIInterfaceOrientationLandscapeRight);
+}
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIOrientation.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h 2023-03-09 19:14:36
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h 2023-05-31 00:47:41
@@ -9,6 +9,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIControl.h>
#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIPageControlProgress.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -57,6 +58,9 @@
/// hides the indicator if there is only one page, default is NO
@property (nonatomic) BOOL hidesForSinglePage;
+/// An object that defines the progress of the page control. Default is nil.
+@property (nonatomic, strong, nullable) UIPageControlProgress *progress API_AVAILABLE(ios(17.0), tvos(17.0));
+
/// The tint color for non-selected indicators. Default is nil.
@property (nullable, nonatomic, strong) UIColor *pageIndicatorTintColor API_AVAILABLE(ios(6.0)) UI_APPEARANCE_SELECTOR;
@@ -113,10 +117,10 @@
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;
/// if set, tapping to a new page won't update the currently displayed page until -updateCurrentPageDisplay is called. default is NO
-@property (nonatomic) BOOL defersCurrentPageDisplay API_DEPRECATED("defersCurrentPageDisplay no longer does anything reasonable with the new interaction mode.", ios(2.0, 14.0));
+@property (nonatomic) BOOL defersCurrentPageDisplay API_DEPRECATED("defersCurrentPageDisplay no longer does anything reasonable with the new interaction mode.", ios(2.0, 14.0), xros(1.0, 1.0));
/// update page display to match the currentPage. ignored if defersCurrentPageDisplay is NO. setting the page value directly will update immediately
-- (void)updateCurrentPageDisplay API_DEPRECATED("updateCurrentPageDisplay no longer does anything reasonable with the new interaction mode.", ios(2.0, 14.0));
+- (void)updateCurrentPageDisplay API_DEPRECATED("updateCurrentPageDisplay no longer does anything reasonable with the new interaction mode.", ios(2.0, 14.0), xros(1.0, 1.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControlProgress.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControlProgress.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControlProgress.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControlProgress.h 2023-05-31 00:47:40
@@ -0,0 +1,118 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIPageControlProgress.h>)
+//
+// UIPageControlProgress.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UIPageControlProgress;
+
+API_AVAILABLE(ios(17.0), tvos(17.0))
+@protocol UIPageControlProgressDelegate<NSObject>
+
+@optional
+
+/// Returns the initial progress (between 0...1) for the specified page. By default, `currentProgress` is set to 0 when the page changes.
+- (float)pageControlProgress:(UIPageControlProgress *)progress initialProgressForPage:(NSInteger)page;
+
+/// Called when the page control progress visibility has changed, which could occur when the page control is being interacted
+/// with. The page control progress becomes hidden when the user begins to interact with the page control (when it begins
+/// continuous interaction), and is visible again when the user stops interacting with the control. Observe the page control progress
+/// visibility to pause or resume the paging content.
+///
+/// Example:
+/// @code
+/// - (void)pageControlProgressVisibilityDidChange:(UIPageControlProgress *)progress {
+/// BOOL isProgressVisible = progress.isProgressVisible;
+/// if (isProgressVisible) {
+/// [self _resumeContentFromInteractionChanges];
+/// } else {
+/// [self _pauseContentFromInteractionChanges];
+/// }
+/// }
+/// @endcode
+- (void)pageControlProgressVisibilityDidChange:(UIPageControlProgress *)progress;
+
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0))
+@interface UIPageControlProgress: NSObject
+
+/// An object that defines the delegate of the page control progress.
+@property (nonatomic, weak, nullable) id<UIPageControlProgressDelegate> delegate;
+
+/// The current progress value of the active page control indicator, between 0 and 1.
+/// Values outside of [0...1] will be clamped.
+@property (nonatomic, assign) float currentProgress;
+
+/// Returns `YES` if the progress indicator is visible. The progress indicator is hidden when
+/// the user is actively interacting with the `UIPageControl`.
+@property (nonatomic, assign, readonly, getter=isProgressVisible) BOOL progressVisible;
+
+@end
+
+#pragma mark - Timer Progress
+
+@class UIPageControlTimerProgress;
+
+API_AVAILABLE(ios(17.0), tvos(17.0))
+@protocol UIPageControlTimerProgressDelegate<UIPageControlProgressDelegate>
+
+@optional
+
+/// Called when the progress has changed from the time interval progress.
+- (void)pageControlTimerProgressDidChange:(UIPageControlTimerProgress *)progress;
+
+/// Determines if the time interval progress should advance to the next page upon progress completion of
+/// the current page's duration. Default is YES.
+- (BOOL)pageControlTimerProgress:(UIPageControlTimerProgress *)progress shouldAdvanceToPage:(NSInteger)page;
+
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0))
+@interface UIPageControlTimerProgress: UIPageControlProgress
+
+/// Creates a time interval progress with a specified preferred duration.
+- (instancetype)initWithPreferredDuration:(NSTimeInterval)preferredDuration NS_DESIGNATED_INITIALIZER;
+
+/// An object that defines the delegate of the page control progress.
+@property (nonatomic, weak, nullable) id<UIPageControlTimerProgressDelegate> delegate;
+
+/// Determines if the page control should loop back to page 0 after the last page. Default is NO.
+@property (nonatomic, assign) BOOL resetsToInitialPageAfterEnd;
+
+/// Returns YES if the timer is currently active.
+@property (nonatomic, assign, readonly, getter=isRunning) BOOL running;
+
+/// Resume the timer if it is not currently active.
+- (void)resumeTimer;
+
+/// Pause the timer if it is active.
+- (void)pauseTimer;
+
+/// The preferred duration for the time interval progress, used when there is no custom page duration set for the current page.
+/// The preferred duration must be greater than 0.0
+@property (nonatomic, assign) NSTimeInterval preferredDuration;
+
+/// Sets a custom duration for the specified page. Set 0.0 to remove the custom duration for the specified page.
+- (void)setDuration:(NSTimeInterval)duration forPage:(NSInteger)page;
+
+/// Returns the duration for the specified page, and `preferredDuration` when there is no custom duration set
+/// for the specified page.
+- (NSTimeInterval)durationForPage:(NSInteger)page;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIPageControlProgress.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2023-03-09 23:54:09
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2023-05-31 00:47:41
@@ -14,7 +14,7 @@
typedef NSString * UIPasteboardName NS_TYPED_EXTENSIBLE_ENUM;
UIKIT_EXTERN UIPasteboardName const UIPasteboardNameGeneral API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSString *const UIPasteboardNameFind API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) API_DEPRECATED("The Find pasteboard is no longer available.", ios(3.0, 10.0));
+UIKIT_EXTERN NSString *const UIPasteboardNameFind API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) API_UNAVAILABLE(xros) API_DEPRECATED("The Find pasteboard is no longer available.", ios(3.0, 10.0));
typedef NSString * UIPasteboardDetectionPattern NS_TYPED_ENUM API_AVAILABLE(ios(14.0));
@@ -59,7 +59,7 @@
+ (void)removePasteboardWithName:(UIPasteboardName)pasteboardName;
@property(readonly,getter=isPersistent,nonatomic) BOOL persistent;
-- (void)setPersistent:(BOOL)persistent API_DEPRECATED("Do not set persistence on pasteboards. This property is set automatically.", ios(3.0, 10.0));
+- (void)setPersistent:(BOOL)persistent API_DEPRECATED("Do not set persistence on pasteboards. This property is set automatically.", ios(3.0, 10.0)) API_UNAVAILABLE(xros);
@property(readonly,nonatomic) NSInteger changeCount;
// Item provider interface
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h 2023-03-09 19:14:30
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h 2023-05-23 03:09:16
@@ -34,7 +34,7 @@
@protocol UIPencilInteractionDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(xros) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UIPencilInteraction : NSObject <UIInteraction>
@property (class, nonatomic, readonly) UIPencilPreferredAction preferredTapAction;
@@ -47,7 +47,7 @@
@end
-API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@protocol UIPencilInteractionDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h 2023-05-23 03:09:19
@@ -20,7 +20,7 @@
@property(nullable,nonatomic,weak) id<UIPickerViewDataSource> dataSource; // default is nil. weak reference
@property(nullable,nonatomic,weak) id<UIPickerViewDelegate> delegate; // default is nil. weak reference
-@property(nonatomic) BOOL showsSelectionIndicator API_DEPRECATED("This property has no effect on iOS 7 and later.", ios(2.0, 13.0));
+@property(nonatomic) BOOL showsSelectionIndicator API_DEPRECATED("This property has no effect on iOS 7 and later.", ios(2.0, 13.0)) API_UNAVAILABLE(xros);
// info that was fetched and cached from the data source and delegate
@property(nonatomic,readonly) NSInteger numberOfComponents;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h 2023-03-09 19:10:54
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h 2023-05-23 03:09:13
@@ -10,13 +10,14 @@
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIGeometry.h>
#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/UIHoverStyle.h>
@class UITargetedPreview, UIBezierPath, UIPointerEffect, UIPointerShape, UIPointerAccessory;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
-@interface UIPointerStyle : NSObject <NSCopying>
+@interface UIPointerStyle : UIHoverStyle <NSCopying>
/// Accessories to display alongside this UIPointerStyle. Supports up to 4 accessories.
/// The system will attempt to animate between neighboring or similar accessories.
@@ -55,7 +56,7 @@
UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
-@interface UIPointerEffect : NSObject <NSCopying>
+@interface UIPointerEffect : NSObject <NSCopying, UIHoverEffect>
@property (nonatomic, copy, readonly) UITargetedPreview *preview;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverBackgroundView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverBackgroundView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverBackgroundView.h 2023-03-09 19:14:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverBackgroundView.h 2023-05-23 03:09:17
@@ -18,13 +18,13 @@
@protocol UIPopoverBackgroundViewMethods
/* Represents the the length of the base of the arrow's triangle in points.
*/
-+ (CGFloat)arrowBase;
++ (CGFloat)arrowBase API_UNAVAILABLE(xros);
/* Describes the distance between each edge of the background view and the corresponding edge of its content view (i.e. if it were strictly a rectangle).
*/
+ (UIEdgeInsets)contentViewInsets;
-+ (CGFloat)arrowHeight;
++ (CGFloat)arrowHeight API_UNAVAILABLE(xros);
@end
UIKIT_EXTERN API_AVAILABLE(ios(5.0))
@@ -34,7 +34,7 @@
This method is called inside an animation block managed by the `UIPopoverController`.
*/
-@property (nonatomic, readwrite) CGFloat arrowOffset;
+@property (nonatomic, readwrite) CGFloat arrowOffset API_UNAVAILABLE(xros);
/* `arrowDirection` manages which direction the popover arrow is pointing. You may be required to change the direction of the arrow while the popover is still visible on-screen.
*/
@@ -42,7 +42,7 @@
/* This method may be overridden to prevent the drawing of the content inset and drop shadow inside the popover. The default implementation of this method returns YES.
*/
-@property(class, nonatomic, readonly) BOOL wantsDefaultContentAppearance API_DEPRECATED("No longer supported", ios(6.0, 13.0));
+@property(class, nonatomic, readonly) BOOL wantsDefaultContentAppearance API_DEPRECATED("No longer supported", ios(6.0, 13.0)) API_UNAVAILABLE(xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h 2023-03-09 23:51:02
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h 2023-05-23 03:09:16
@@ -22,7 +22,7 @@
@protocol UIPopoverControllerDelegate;
-UIKIT_EXTERN API_DEPRECATED("UIPopoverController is deprecated. Popovers are now implemented as UIViewController presentations. Use a modal presentation style of UIModalPresentationPopover and UIPopoverPresentationController.", ios(3.2, 9.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIPopoverController is deprecated. Popovers are now implemented as UIViewController presentations. Use a modal presentation style of UIModalPresentationPopover and UIPopoverPresentationController.", ios(3.2, 9.0)) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@interface UIPopoverController : NSObject <UIAppearanceContainer> {}
/* The view controller provided becomes the content view controller for the UIPopoverController. This is the designated initializer for UIPopoverController.
@@ -85,15 +85,15 @@
/* Called on the delegate when the popover controller will dismiss the popover. Return NO to prevent the dismissal of the view.
*/
-- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController API_DEPRECATED("", ios(3.2, 9.0));
+- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController API_DEPRECATED("", ios(3.2, 9.0)) API_UNAVAILABLE(xros);
/* Called on the delegate when the user has taken action to dismiss the popover. This is not called when -dismissPopoverAnimated: is called directly.
*/
-- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController API_DEPRECATED("", ios(3.2, 9.0));
+- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController API_DEPRECATED("", ios(3.2, 9.0)) API_UNAVAILABLE(xros);
/* -popoverController:willRepositionPopoverToRect:inView: is called on your delegate when the popover may require a different view or rectangle
*/
-- (void)popoverController:(UIPopoverController *)popoverController willRepositionPopoverToRect:(inout CGRect *)rect inView:(inout UIView * __nonnull * __nonnull)view API_DEPRECATED("", ios(7.0, 9.0));
+- (void)popoverController:(UIPopoverController *)popoverController willRepositionPopoverToRect:(inout CGRect *)rect inView:(inout UIView * __nonnull * __nonnull)view API_DEPRECATED("", ios(7.0, 9.0)) API_UNAVAILABLE(xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h 2023-03-09 19:17:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h 2023-05-23 03:09:20
@@ -25,10 +25,10 @@
// Called on the delegate when the popover controller will dismiss the popover. Return NO to prevent the
// dismissal of the view.
-- (BOOL)popoverPresentationControllerShouldDismissPopover:(UIPopoverPresentationController *)popoverPresentationController API_DEPRECATED_WITH_REPLACEMENT("presentationControllerShouldDismiss:", ios(8.0, 13.0));;
+- (BOOL)popoverPresentationControllerShouldDismissPopover:(UIPopoverPresentationController *)popoverPresentationController API_DEPRECATED_WITH_REPLACEMENT("presentationControllerShouldDismiss:", ios(8.0, 13.0)) API_UNAVAILABLE(xros);
// Called on the delegate when the user has taken action to dismiss the popover. This is not called when the popover is dismissed programatically.
-- (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController API_DEPRECATED_WITH_REPLACEMENT("presentationControllerDidDismiss:", ios(8.0, 13.0));
+- (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController API_DEPRECATED_WITH_REPLACEMENT("presentationControllerDidDismiss:", ios(8.0, 13.0)) API_UNAVAILABLE(xros);
// -popoverPresentationController:willRepositionPopoverToRect:inView: is called on your delegate when the
// popover may require a different view or rectangle.
@@ -57,7 +57,7 @@
// Accepts UIBarButtonItem as well as NSToolbarItem in Catalyst.
@property (nullable, nonatomic, strong) id<UIPopoverPresentationControllerSourceItem> sourceItem API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos);
-@property (nullable, nonatomic, strong) UIBarButtonItem *barButtonItem API_DEPRECATED_WITH_REPLACEMENT("sourceItem", ios(8.0, API_TO_BE_DEPRECATED));
+@property (nullable, nonatomic, strong) UIBarButtonItem *barButtonItem API_DEPRECATED_WITH_REPLACEMENT("sourceItem", ios(8.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
// Returns the direction the arrow is pointing on a presented popover. Before presentation, this returns UIPopoverArrowDirectionUnknown.
@property (nonatomic, readonly) UIPopoverArrowDirection arrowDirection;
@@ -68,20 +68,20 @@
@property (nullable, nonatomic, copy) NSArray<UIView *> *passthroughViews;
// Set popover background color. Set to nil to use default background color. Default is nil.
-@property (nullable, nonatomic, copy) UIColor *backgroundColor;
+@property (nullable, nonatomic, copy) UIColor *backgroundColor API_UNAVAILABLE(xros);
// Clients may wish to change the available area for popover display. The default implementation of this method always
// returns a system defined inset from the edges of the display, and presentation of popovers always accounts
// for the status bar. The rectangle being inset is always expressed in terms of the current device orientation; (0, 0)
// is always in the upper-left of the device. This may require insets to change on device rotation.
-@property (nonatomic, readwrite) UIEdgeInsets popoverLayoutMargins;
+@property (nonatomic, readwrite) UIEdgeInsets popoverLayoutMargins API_UNAVAILABLE(xros);
// Clients may customize the popover background chrome by providing a class which subclasses `UIPopoverBackgroundView`
// and which implements the required instance and class methods on that class.
@property (nullable, nonatomic, readwrite, strong) Class <UIPopoverBackgroundViewMethods> popoverBackgroundViewClass;
// The UISheetPresentationController instance this popover will adapt to in compact size classes. Access this instance to customize or adjust the adaptive sheet.
-@property (nonatomic, readonly, strong) UISheetPresentationController *adaptiveSheetPresentationController API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+@property (nonatomic, readonly, strong) UISheetPresentationController *adaptiveSheetPresentationController API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos, xros);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationControllerSourceItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationControllerSourceItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationControllerSourceItem.h 2023-03-09 19:14:38
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationControllerSourceItem.h 2023-05-23 03:09:18
@@ -21,6 +21,9 @@
API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos)
@protocol UIPopoverPresentationControllerSourceItem <NSObject>
+
+- (CGRect)frameInView:(UIView *)referenceView API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos);
+
@end
API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h 2023-03-09 19:14:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h 2023-05-23 03:09:13
@@ -21,11 +21,11 @@
/* modalInPopover is set on the view controller when you wish to force the popover hosting the view controller into modal behavior. When this is active, the popover will ignore events outside of its bounds until this is set to NO.
*/
-@property (nonatomic,readwrite,getter=isModalInPopover) BOOL modalInPopover API_DEPRECATED_WITH_REPLACEMENT("modalInPresentation", ios(3.2, 13.0));
+@property (nonatomic,readwrite,getter=isModalInPopover) BOOL modalInPopover API_DEPRECATED_WITH_REPLACEMENT("modalInPresentation", ios(3.2, 13.0)) API_UNAVAILABLE(xros);
/* contentSizeForViewInPopover allows you to set the size of the content from within the view controller. This property is read/write, and you should generally not override it.
*/
-@property (nonatomic,readwrite) CGSize contentSizeForViewInPopover API_DEPRECATED_WITH_REPLACEMENT("preferredContentSize", ios(3.2, 7.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic,readwrite) CGSize contentSizeForViewInPopover API_DEPRECATED_WITH_REPLACEMENT("preferredContentSize", ios(3.2, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h 2023-05-31 00:47:43
@@ -112,8 +112,13 @@
- (void)dismissalTransitionDidEnd:(BOOL)completed;
// Modifies the trait collection for the presentation controller.
-@property(nullable, nonatomic, copy) UITraitCollection *overrideTraitCollection;
+@property(nullable, nonatomic, copy) UITraitCollection *overrideTraitCollection API_DEPRECATED("Use the traitOverrides property instead", ios(8.0, 17.0), xros(1.0, 1.0));
+@end
+
+API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0))
+@interface UIPresentationController () <UITraitChangeObservable>
+@property (nonatomic, readonly) id<UITraitOverrides> traitOverrides;
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h 2023-03-09 19:14:22
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h 2023-05-23 03:09:13
@@ -14,7 +14,7 @@
@class UIBezierPath, UIColor;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIPreviewParameters : NSObject <NSCopying>
/* The default parameters. Use these for most previews.
@@ -40,7 +40,7 @@
/* Bezier path to be used to draw the preview's shadow. If nil, the visiblePath is used.
*/
-@property (nonatomic, copy, nullable) UIBezierPath *shadowPath API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, copy, nullable) UIBezierPath *shadowPath API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/* The background color that the preview draws behind the specified view.
* Set this to `nil` to reset to the default value.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene+AVAudioSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene+AVAudioSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene+AVAudioSession.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene+AVAudioSession.h 2023-05-23 03:09:14
@@ -0,0 +1,30 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIScene+AVAudioSession.h>)
+//
+// UIScene+AVAudioSession.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIScene.h>
+
+@class AVAudioSession;
+
+API_AVAILABLE(xros(1.0)) API_UNAVAILABLE(ios, watchos, tvos, macos)
+@interface UIScene (AVAudioSession)
+
+// Access the AVAudioSession containing all sounds that implicitly belong
+// to this UIScene (e.g. RealityKit sounds played from a RealityView
+// in the UIScene.) This AVAudioSession is always configured with a
+// head-tracked spatial experience anchored to this UIScene so trying
+// to modify that on the session will throw an error. The default audio
+// session is only non-nil for scene types that might have implicitly
+// associated audio objects. It is recommended clients access and
+// interact with this audio session not from a main actor.
+- (void)getDefaultAudioSessionWithCompletionHandler:(void(^_Nonnull)(AVAudioSession * _Nullable))handler NS_SWIFT_ASYNC_NAME(getter:defaultAudioSession()) NS_SWIFT_NONISOLATED;
+
+@end
+
+#else
+#import <UIKitCore/UIScene+AVAudioSession.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2023-03-09 19:14:18
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2023-05-26 22:50:39
@@ -107,6 +107,11 @@
UIKIT_EXTERN NSNotificationName const UISceneWillEnterForegroundNotification API_AVAILABLE(ios(13.0));
UIKIT_EXTERN NSNotificationName const UISceneDidEnterBackgroundNotification API_AVAILABLE(ios(13.0));
+#pragma mark - Session Roles
+
+// A session role which defines an immersive space scene session.
+UIKIT_EXTERN UISceneSessionRole const UISceneSessionRoleImmersiveSpaceApplication API_AVAILABLE(xros(1.0)) API_UNAVAILABLE(ios, tvos, macos, watchos);
+
NS_HEADER_AUDIT_END(nullability, sendability)
#else
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h 2023-03-09 23:50:54
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h 2023-05-23 03:09:12
@@ -86,7 +86,7 @@
UISceneCollectionJoinBehaviorPreferred, // If requestingScene is set, add the new scene to its collection and activate it. Otherwise attempt to join a compatible collection.
UISceneCollectionJoinBehaviorDisallowed, // Create a new collection for the scene, ignoring system settings.
UISceneCollectionJoinBehaviorPreferredWithoutActivating, // If requestingScene is set, add the new scene without deactivating the requestingScene. Otherwise behaves the same as preferred. For example, in Catalyst this could be used to open a link in a new tab in the background.
-} API_AVAILABLE(macCatalyst(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+} API_AVAILABLE(macCatalyst(14.0)) API_UNAVAILABLE(ios, watchos, tvos, xros);
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
@interface UISceneActivationRequestOptions : NSObject
@@ -94,7 +94,7 @@
@property (nullable, nonatomic, readwrite, strong) UIScene *requestingScene;
// A scene collection is a group of scenes that display together. In Catalyst, this is used to add windows to an NSWindowTabGroup.
-@property (nonatomic, readwrite) UISceneCollectionJoinBehavior collectionJoinBehavior API_AVAILABLE(macCatalyst(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+@property (nonatomic, readwrite) UISceneCollectionJoinBehavior collectionJoinBehavior API_AVAILABLE(macCatalyst(14.0)) API_UNAVAILABLE(ios, watchos, tvos, xros);
@end
#pragma mark - UISceneDestructionRequestOptions
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2023-03-09 19:14:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2023-05-23 03:09:20
@@ -16,9 +16,9 @@
UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
@interface UISceneConfiguration : NSObject <NSCopying, NSSecureCoding>
-// creates a UISceneConfiguration instance from your Info.plist using the name & system type provided.
-// If nil is provided for the name, the first matching instance of the provided sessionType is used.
-// If no matching name is found, or no descriptions of the provided sessionType exist in your Info.plist,
+// 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.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSessionActivationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSessionActivationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSessionActivationRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSessionActivationRequest.h 2023-05-23 03:09:12
@@ -0,0 +1,55 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneSessionActivationRequest.h>)
+//
+// UISceneSessionActivationRequest.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UISceneDefinitions.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UISceneSession, UISceneActivationRequestOptions;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos)
+@interface UISceneSessionActivationRequest : NSObject <NSCopying>
+
+/// The role to request. If the request was created using `requestWithSession:`, this reflects
+/// the role of the `session`.
+@property (nonatomic, readonly) UISceneSessionRole role;
+
+/// The specific scene session that should be activated, if provided when creating the request.
+@property (nonatomic, nullable, readonly) UISceneSession *session;
+
+/// An optional user activity to send to the newly activated scene.
+///
+/// Only sessions with a matching `role` will have their `activationConditions` evaluated
+/// against the user activity's `targetContentIdentifier`.
+@property (nonatomic, nullable, strong) NSUserActivity *userActivity;
+
+/// Optional parameters used for further customizing the request.
+@property (nonatomic, nullable, copy) UISceneActivationRequestOptions *options;
+
+/// Creates a request for activating a session with the role of `UIWindowSceneSessionRoleApplication`.
++ (instancetype)request;
+
+/// Creates a request for activating a session with the specified `role`.
+/// - Parameter role: The requested scene session role.
++ (instancetype)requestWithRole:(UISceneSessionRole)role;
+
+/// Creates a request for activating an existing scene session.
+/// - Parameter session: The existing session to activate.
++ (instancetype)requestWithSession:(UISceneSession *)session;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISceneSessionActivationRequest.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingBehaviors.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingBehaviors.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingBehaviors.h 2023-03-09 19:14:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneWindowingBehaviors.h 2023-05-23 03:09:17
@@ -6,6 +6,7 @@
// Copyright © 2021 Apple Inc. All rights reserved.
//
+#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
UIKIT_EXTERN API_AVAILABLE(ios(16.0)) NS_SWIFT_UI_ACTOR
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h 2023-03-09 23:54:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h 2023-05-26 22:50:42
@@ -17,16 +17,16 @@
@class UIScreenMode, CADisplayLink, UIView;
// Object is the UIScreen that represents the new screen. Connection notifications are not sent for screens present when the application is first launched
-UIKIT_EXTERN NSNotificationName const UIScreenDidConnectNotification API_DEPRECATED("Use UISceneDelegate or related notifications to be informed of connecting scenes from other screens", ios(3.2, 16.0));
+UIKIT_EXTERN NSNotificationName const UIScreenDidConnectNotification API_DEPRECATED("Use UISceneDelegate or related notifications to be informed of connecting scenes from other screens", ios(3.2, 16.0)) API_UNAVAILABLE(xros);
// Object is the UIScreen that represented the disconnected screen.
-UIKIT_EXTERN NSNotificationName const UIScreenDidDisconnectNotification API_DEPRECATED("Use UISceneDelegate or related notifications to be informed of disconnecting scenes from other screens", ios(3.2, 16.0));
+UIKIT_EXTERN NSNotificationName const UIScreenDidDisconnectNotification API_DEPRECATED("Use UISceneDelegate or related notifications to be informed of disconnecting scenes from other screens", ios(3.2, 16.0)) API_UNAVAILABLE(xros);
// Object is the UIScreen which changed. [object currentMode] is the new UIScreenMode.
-UIKIT_EXTERN NSNotificationName const UIScreenModeDidChangeNotification API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN NSNotificationName const UIScreenBrightnessDidChangeNotification API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN NSNotificationName const UIScreenModeDidChangeNotification API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(xros);
+UIKIT_EXTERN NSNotificationName const UIScreenBrightnessDidChangeNotification API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(xros);
// Object is the UIScreen which changed. [object isCaptured] is the new value of captured property.
-UIKIT_EXTERN NSNotificationName const UIScreenCapturedDidChangeNotification API_AVAILABLE(ios(11.0));
+UIKIT_EXTERN NSNotificationName const UIScreenCapturedDidChangeNotification API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(xros);
// Object is the UIScreen which changed. [object referenceDisplayModeStatus] is the screen's new reference display mode status.
-UIKIT_EXTERN NSNotificationName const UIScreenReferenceDisplayModeStatusDidChangeNotification API_AVAILABLE(ios(16.0));
+UIKIT_EXTERN NSNotificationName const UIScreenReferenceDisplayModeStatusDidChangeNotification API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(xros);
// when the connected screen is overscanning, UIScreen can attempt to compensate for the overscan to avoid clipping
@@ -35,8 +35,8 @@
UIScreenOverscanCompensationInsetBounds, // the screen's bounds will be inset in the framebuffer to avoid clipping. no scaling will occur
UIScreenOverscanCompensationNone API_AVAILABLE(ios(9.0)), // no scaling will occur. use overscanCompensationInsets to determine the necessary insets to avoid clipping
- UIScreenOverscanCompensationInsetApplicationFrame API_DEPRECATED_WITH_REPLACEMENT("UIScreenOverscanCompensationNone", ios(5.0, 9.0)) = 2,
-};
+ UIScreenOverscanCompensationInsetApplicationFrame API_DEPRECATED_WITH_REPLACEMENT("UIScreenOverscanCompensationNone", ios(5.0, 9.0)) API_UNAVAILABLE(xros) = 2,
+} API_UNAVAILABLE(xros);
// Describes the screen's reference display mode ability
typedef NS_ENUM(NSInteger, UIScreenReferenceDisplayModeStatus) {
@@ -48,13 +48,13 @@
UIScreenReferenceDisplayModeStatusLimited,
// A reference display mode is enabled and being displayed accurately
UIScreenReferenceDisplayModeStatusEnabled
-} API_AVAILABLE(ios(16.0));
+} API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(xros);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@interface UIScreen : NSObject <UITraitEnvironment>
-@property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0)); // all screens currently attached to the device
-@property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead: i.e, view.window.windowScene.screen", ios(2.0, API_TO_BE_DEPRECATED)); // the device's internal screen
+@property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), xros(1.0, 1.0)); // all screens currently attached to the device
+@property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead: i.e, view.window.windowScene.screen", ios(2.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // the device's internal screen
@property(nonatomic,readonly) CGRect bounds; // Bounds of entire screen in points
@property(nonatomic,readonly) CGFloat scale API_AVAILABLE(ios(4.0));
@@ -103,17 +103,17 @@
@property (nonatomic, readonly) CGFloat potentialEDRHeadroom API_AVAILABLE(ios(16.0));
-@property (nullable, nonatomic, weak, readonly) id<UIFocusItem> focusedItem API_DEPRECATED("Use -[UIWindowScene focusSystem].focusedItem instead", ios(10.0, 15.0));
-@property (nullable, nonatomic, weak, readonly) UIView *focusedView API_DEPRECATED("Use -[UIWindowScene focusSystem].focusedItem instead", ios(9.0, 15.0));
-@property (readonly, nonatomic) BOOL supportsFocus API_DEPRECATED("Use -[UIWindowScene focusSystem] != nil instead", ios(9.0, 15.0));
+@property (nullable, nonatomic, weak, readonly) id<UIFocusItem> focusedItem API_DEPRECATED("Use -[UIWindowScene focusSystem].focusedItem instead", ios(10.0, 15.0), xros(1.0, 1.0));
+@property (nullable, nonatomic, weak, readonly) UIView *focusedView API_DEPRECATED("Use -[UIWindowScene focusSystem].focusedItem instead", ios(9.0, 15.0), xros(1.0, 1.0));
+@property (readonly, nonatomic) BOOL supportsFocus API_DEPRECATED("Use -[UIWindowScene focusSystem] != nil instead", ios(9.0, 15.0), xros(1.0, 1.0));
-@property(nonatomic,readonly) CGRect applicationFrame API_DEPRECATED_WITH_REPLACEMENT("bounds", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic,readonly) CGRect applicationFrame API_DEPRECATED_WITH_REPLACEMENT("bounds", ios(2.0, 9.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
@interface UIScreen (UISnapshotting)
// Please see snapshotViewAfterScreenUpdates: in UIView.h for some important details on the behavior of this method when called from layoutSubviews.
-- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates API_AVAILABLE(ios(7.0));
+- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(xros);
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h 2023-03-09 19:14:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h 2023-05-23 03:09:20
@@ -12,7 +12,7 @@
/*! This subclass of UIPanGestureRecognizer only recognizes if the user slides their finger
in from the bezel on the specified edge. */
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(tvos, xros) NS_SWIFT_UI_ACTOR
@interface UIScreenEdgePanGestureRecognizer : UIPanGestureRecognizer
@property (readwrite, nonatomic, assign) UIRectEdge edges; // The edges on which this gesture recognizes, relative to the current interface orientation
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenMode.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenMode.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenMode.h 2023-03-09 19:14:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenMode.h 2023-05-23 03:09:17
@@ -10,7 +10,7 @@
#import <UIKit/UIKitDefines.h>
#import <CoreGraphics/CoreGraphics.h>
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) NS_SWIFT_SENDABLE
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(xros) NS_SWIFT_SENDABLE
@interface UIScreenMode : NSObject
@property(readonly,nonatomic) CGSize size; // The width and height in pixels
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h 2023-03-09 19:14:16
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h 2023-05-23 03:09:11
@@ -15,7 +15,7 @@
/*!
@abstract This class allows your application to produce a higher fidelity, PDF screenshot to the user. Set the delegate so that when a screenshot is taken, screenshots can show the full document content from the application.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@interface UIScreenshotService : NSObject
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -33,7 +33,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIWindowScene (UIScreenshotService)
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(xros) @interface UIWindowScene (UIScreenshotService)
/*!
@abstract The screenshot object associated with the scene
@discussion This is non-null if the screenshot service is available for this window scene
@@ -43,7 +43,7 @@
@end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@protocol UIScreenshotServiceDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h 2023-03-09 23:51:02
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h 2023-05-31 00:46:45
@@ -18,7 +18,7 @@
By default, Scribble allows the user to enter text by handwriting directly into any view that implements UITextInput and is editable. In apps with customized text fields, you can use UIScribbleInteraction's delegate callbacks to optimize the UI for a better writing experience. For example, you might want to hide custom placeholders when writing begins, or request delaying focusing the field if it moves when gaining focus.
In some cases it is necessary to suppress Scribble, for example if a text view also supports drawing with Apple Pencil. You may also need to suppress Scribble in views that handle Pencil events directly, like a drawing canvas, since nearby text fields could take over the Pencil events for writing.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UIScribbleInteraction : NSObject <UIInteraction>
- (instancetype)init NS_UNAVAILABLE;
@@ -42,7 +42,7 @@
@end
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@protocol UIScribbleInteractionDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2023-03-09 23:51:08
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2023-05-23 03:17:02
@@ -27,7 +27,7 @@
UIScrollViewKeyboardDismissModeInteractive, // the keyboard follows the dragging touch off screen, and may be pulled upward again to cancel the dismiss
UIScrollViewKeyboardDismissModeOnDragWithAccessory, // dismisses both keyboard and accessory in the style of UIScrollViewKeyboardDismissModeOnDrag
UIScrollViewKeyboardDismissModeInteractiveWithAccessory // dismisses both keyboard and accessory in the style of UIScrollViewKeyboardDismissModeInteractive
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(xros);
typedef NS_ENUM(NSInteger, UIScrollViewIndexDisplayMode) {
UIScrollViewIndexDisplayModeAutomatic, // the index will show or hide automatically as needed
@@ -100,7 +100,7 @@
@property(nonatomic) UIEdgeInsets verticalScrollIndicatorInsets API_AVAILABLE(ios(11.1), tvos(11.1)); // default is UIEdgeInsetsZero.
@property(nonatomic) UIEdgeInsets horizontalScrollIndicatorInsets API_AVAILABLE(ios(11.1), tvos(11.1)); // default is UIEdgeInsetsZero.
@property(nonatomic) UIEdgeInsets scrollIndicatorInsets; // use the setter only, as a convenience for setting both verticalScrollIndicatorInsets and horizontalScrollIndicatorInsets to the same value. if those properties have been set to different values, the return value of this getter (deprecated) is undefined.
-- (UIEdgeInsets)scrollIndicatorInsets API_DEPRECATED("The scrollIndicatorInsets getter is deprecated, use the verticalScrollIndicatorInsets and horizontalScrollIndicatorInsets getters instead.", ios(2.0, 13.0), tvos(9.0, 13.0));
+- (UIEdgeInsets)scrollIndicatorInsets API_DEPRECATED("The scrollIndicatorInsets getter is deprecated, use the verticalScrollIndicatorInsets and horizontalScrollIndicatorInsets getters instead.", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros);
@property(nonatomic) UIScrollViewDecelerationRate decelerationRate API_AVAILABLE(ios(3.0));
@property(nonatomic) UIScrollViewIndexDisplayMode indexDisplayMode API_AVAILABLE(tvos(10.2));
@@ -167,9 +167,13 @@
// `directionalPressGestureRecognizer` is disabled by default, but can be enabled to perform scrolling in response to up / down / left / right arrow button presses directly, instead of scrolling indirectly in response to focus updates.
@property(nonatomic, readonly) UIGestureRecognizer *directionalPressGestureRecognizer API_DEPRECATED("Configuring the panGestureRecognizer for indirect scrolling automatically supports directional presses now, so this property is no longer useful.", tvos(9.0, 11.0));
-@property(nonatomic) UIScrollViewKeyboardDismissMode keyboardDismissMode API_AVAILABLE(ios(7.0)); // default is UIScrollViewKeyboardDismissModeNone
+@property(nonatomic) UIScrollViewKeyboardDismissMode keyboardDismissMode API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(xros); // default is UIScrollViewKeyboardDismissModeNone
@property (nonatomic, strong, nullable) UIRefreshControl *refreshControl API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos);
+
+/// 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(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2023-03-09 19:14:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2023-05-23 03:16:57
@@ -30,7 +30,6 @@
UISearchBarStyleMinimal // used by Calendar, Notes and Music
} API_AVAILABLE(ios(7.0));
-
@protocol UISearchBarDelegate;
@class UITextField, UILabel, UIButton, UIColor, UISearchTextField;
@@ -38,8 +37,13 @@
UISearchBar officially conformed to UITextInputTraits in iOS 8.0 and privately conformed in iOS 7.0. Prior to 7.0, UISearchBar only implemented these four traits: autocapitalizationType, autocorrectionType, spellCheckingType and keyboardType. If your deployment target is <7.0 and you are using any trait other than one of the four mentioned, you must check its availability with respondsToSelector:
*/
+@protocol UILookToDictateCapable <NSObject>
+/// Enable or disable 'Look To Dictate' on the receiver.
+@property (nonatomic, getter=isLookToDictateEnabled) BOOL lookToDictateEnabled API_AVAILABLE(xros(1.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos, macos);
+@end
+
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
-@interface UISearchBar : UIView <UIBarPositioning, UITextInputTraits>
+@interface UISearchBar : UIView <UIBarPositioning, UITextInputTraits, UILookToDictateCapable>
- (instancetype)init API_UNAVAILABLE(tvos);
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER API_UNAVAILABLE(tvos);
@@ -164,6 +168,8 @@
*/
- (void)setPositionAdjustment:(UIOffset)adjustment forSearchBarIcon:(UISearchBarIcon)icon API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
- (UIOffset)positionAdjustmentForSearchBarIcon:(UISearchBarIcon)icon API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
+
+@property (nonatomic, getter=isLookToDictateEnabled) BOOL lookToDictateEnabled API_AVAILABLE(xros(1.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos, macos);
@end
NS_SWIFT_UI_ACTOR
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2023-03-09 19:14:17
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2023-05-23 03:16:55
@@ -73,7 +73,7 @@
@property (nonatomic, assign, getter = isActive) BOOL active;
@property (nullable, nonatomic, weak) id <UISearchControllerDelegate> delegate;
-@property (nonatomic, assign) BOOL dimsBackgroundDuringPresentation API_UNAVAILABLE(tvos) API_DEPRECATED_WITH_REPLACEMENT("obscuresBackgroundDuringPresentation", ios(8.0,12.0)); // default is YES, and has the same behavior as obscuresBackgroundDuringPresentation.
+@property (nonatomic, assign) BOOL dimsBackgroundDuringPresentation API_UNAVAILABLE(tvos) API_DEPRECATED_WITH_REPLACEMENT("obscuresBackgroundDuringPresentation", ios(8.0,12.0)) API_UNAVAILABLE(xros); // default is YES, and has the same behavior as obscuresBackgroundDuringPresentation.
/* On iOS, default is NO for apps linked on iOS 15.0 and later, YES otherwise.
On tvOS, default is NO when contained in UISearchContainerViewController, YES otherwise.
@@ -115,7 +115,7 @@
On iOS, this will be fully deprecated in a future release in favor of `scopeBarActivation`
*/
-@property (nonatomic) BOOL automaticallyShowsScopeBar API_DEPRECATED("Use scopeBarActivation instead", ios(13.0,API_TO_BE_DEPRECATED)) API_AVAILABLE(tvos(13.0));
+@property (nonatomic) BOOL automaticallyShowsScopeBar API_DEPRECATED("Use scopeBarActivation instead", ios(13.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)) API_AVAILABLE(tvos(13.0));
/// Controls if and when the UISearchController shows and hides the scope bar
/// However, UISearchBar will not show the scope bar if `scopeButtonTitles` contains fewer than two titles
@@ -148,7 +148,7 @@
If the search controller is embedded inside a tab bar controller, the tab bar controller
will also observe this scroll view.
*/
-@property(nullable, nonatomic, strong) UIScrollView *searchControllerObservedScrollView API_DEPRECATED("Use -[UIViewController setContentScrollView:forEdge:] on the searchResultsController instead.", tvos(13.0,API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos); // Set this property to the full screen scroll view in your results view on the results view controller, if one exists. If search controller is embedded inside a tab controller, this will forward the scroll view to the tab controller as tabBarObservedScrollView.
+@property(nullable, nonatomic, strong) UIScrollView *searchControllerObservedScrollView API_DEPRECATED("Use -[UIViewController setContentScrollView:forEdge:] on the searchResultsController instead.", tvos(13.0,API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, xros); // Set this property to the full screen scroll view in your results view on the results view controller, if one exists. If search controller is embedded inside a tab controller, this will forward the scroll view to the tab controller as tabBarObservedScrollView.
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h 2023-03-09 19:11:10
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h 2023-05-31 00:47:44
@@ -18,7 +18,7 @@
@class UISearchBar, UITableView, UIViewController, UIPopoverController;
@protocol UITableViewDataSource, UITableViewDelegate, UISearchDisplayDelegate;
-UIKIT_EXTERN API_DEPRECATED("UISearchDisplayController has been replaced with UISearchController", ios(3.0, 8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UISearchDisplayController has been replaced with UISearchController", ios(3.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UISearchDisplayController : NSObject
- (instancetype)initWithSearchBar:(UISearchBar *)searchBar contentsController:(UIViewController *)viewController;
@@ -41,7 +41,7 @@
@end
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@protocol UISearchDisplayDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h 2023-03-09 19:14:37
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h 2023-05-31 00:47:42
@@ -23,7 +23,7 @@
UISegmentedControlStyleBordered, // large bordered
UISegmentedControlStyleBar, // small button/nav bar style. tintable
UISegmentedControlStyleBezeled, // DEPRECATED. Do not use this style.
-} API_DEPRECATED("The segmentedControlStyle property no longer has any effect", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("The segmentedControlStyle property no longer has any effect", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
enum {
UISegmentedControlNoSegment = -1 // segment index for no selected segment
@@ -60,7 +60,7 @@
/// Returns the index of the segment associated with the given actionIdentifier, or NSNotFound if the identifier could not be found.
- (NSInteger)segmentIndexForActionIdentifier:(UIActionIdentifier)actionIdentifier API_AVAILABLE(ios(14.0));
-@property(nonatomic) UISegmentedControlStyle segmentedControlStyle API_DEPRECATED("The segmentedControlStyle property no longer has any effect", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic) UISegmentedControlStyle segmentedControlStyle API_DEPRECATED("The segmentedControlStyle property no longer has any effect", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@property(nonatomic,getter=isMomentary) BOOL momentary; // if set, then we don't keep showing selected state after tracking ends. default is NO
@property(nonatomic,readonly) NSUInteger numberOfSegments;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISelectionFeedbackGenerator.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISelectionFeedbackGenerator.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISelectionFeedbackGenerator.h 2023-03-09 19:14:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISelectionFeedbackGenerator.h 2023-05-23 03:09:14
@@ -11,7 +11,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
// UISelectionFeedbackGenerator is used to give user feedback when a selection changes
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UISelectionFeedbackGenerator : UIFeedbackGenerator
/// call when the selection changes (not on initial selection)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIShape.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIShape.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIShape.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIShape.h 2023-05-23 03:17:00
@@ -0,0 +1,144 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIShape.h>)
+//
+// UIShape.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIGeometry.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// The corner curve to apply to a view.
+API_AVAILABLE(ios(17.0), xros(1.0))
+typedef NS_ENUM(NSInteger, UICornerCurve) {
+ /// Select the corner style automatically.
+ UICornerCurveAutomatic,
+ /// Always use a circular corner style.
+ UICornerCurveCircular,
+ /// Always use a continuous corner style.
+ UICornerCurveContinuous,
+};
+
+@class UIShapeResolutionContext, UIResolvedShape, UIBezierPath;
+
+/// An abstract representation of a shape.
+///
+/// A `UIShape` can represent a simple shape such as a rectangle or circle that
+/// are later "resolved" into a concrete shape based on context like a size and
+/// position for the shape. A `UIShape` can also represent more complex shapes
+/// like paths and even "dynamic" shapes that are resolved using a custom
+/// closure.
+///
+/// You typically use a `UIShape` with APIs like `UIHoverStyle` to represent the
+/// shape of an effect.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT
+@interface UIShape : NSObject <NSCopying>
+
+/// A rectangular shape.
+@property (class, nonatomic, readonly) UIShape *rectShape;
+
+/// A capsule shape, equivalent to a rounded rectangle where the corner
+/// radius is chosen as half the length of the rectangle’s smallest edge.
+@property (class, nonatomic, readonly) UIShape *capsuleShape;
+
+/// A circular shape, with a radius equals half the length of the frame
+/// rectangle’s smallest edge.
+@property (class, nonatomic, readonly) UIShape *circleShape;
+
+/// A rectangular shape with rounded corners, aligned inside the frame of
+/// in which it is contained.
++ (instancetype)roundedRectShapeWithCornerRadius:(CGFloat)cornerRadius;
+
+/// A rectangular shape with rounded corners, aligned inside the frame of
+/// in which it is contained.
++ (instancetype)roundedRectShapeWithCornerRadius:(CGFloat)cornerRadius cornerCurve:(UICornerCurve)cornerCurve;
+
+/// A rectangular shape with rounded corners, aligned inside the frame of
+/// in which it is contained.
++ (instancetype)roundedRectShapeWithCornerRadius:(CGFloat)cornerRadius cornerCurve:(UICornerCurve)cornerCurve maskedCorners:(UIRectCorner)maskedCorners;
+
+/// A fixed rectangle shape using `rect` as its shape, regardless of the
+/// frame in which it is contained.
++ (instancetype)fixedRectShapeWithRect:(CGRect)rect;
+
+/// A shape with a custom bezier path.
++ (instancetype)shapeWithBezierPath:(UIBezierPath *)path;
+
+/// Creates a dynamic shape that can be resolved using the provided
+/// `resolver` closure based on context like its containing rect.
++ (instancetype)dynamicShapeWithProvider:(UIResolvedShape *(^)(UIShapeResolutionContext *context))provider;
+
+/// Insets this shape by the provided `insets`, returning a new modified
+/// shape.
+///
+/// Negative values can be used to add inner padding to a shape. If this
+/// shape is not insettable (e.g., if it is a custom path), this has no
+/// effect. For some shapes like rounded rectangles, this can also modify
+/// the corner radii of the shape to ensure the resulting corners are
+/// concentric.
+- (UIShape *)shapeByApplyingInsets:(UIEdgeInsets)insets;
+
+/// Insets this shape by the provided `inset`, returning a new modified
+/// shape.
+///
+/// Negative values can be used to add inner padding to a shape. If this
+/// shape is not insettable (e.g., if it is a custom path), this has no
+/// effect. For some shapes like rounded rectangles, this can also modify
+/// the corner radii of the shape to ensure the resulting corners are
+/// concentric.
+- (UIShape *)shapeByApplyingInset:(CGFloat)inset;
+
+/// Resolves this shape in the provided `context`.
+- (UIResolvedShape *)resolvedShapeInContext:(UIShapeResolutionContext *)context;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/// A shape that has been resolved based on a `ResolutionContext`.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT
+@interface UIResolvedShape : NSObject
+
+/// The abstract shape that produced this resolved shape.
+@property (nonatomic, readonly) UIShape *shape;
+
+/// The bounding rect in which the shape is framed.
+@property (nonatomic, readonly) CGRect boundingRect;
+
+/// The bezier path representing this shape.
+@property (nonatomic, readonly) UIBezierPath *path;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/// The context used for resolving a `dynamic` `UIShape`.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), xros(1.0)) API_UNAVAILABLE(watchos, tvos)
+NS_REFINED_FOR_SWIFT
+@interface UIShapeResolutionContext : NSObject
+
+/// The resolved shape of the content to which this shape may be
+/// applied. For example, if this shape will be used to apply an effect
+/// to a button, the `contentShape` could represent the bounding shape
+/// of that button's background. You should typically size a dynamic
+/// shape relative to the bounding `rect` of the `contentShape`.
+@property (nonatomic, readonly) UIResolvedShape *contentShape;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIShape.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISheetPresentationController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISheetPresentationController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISheetPresentationController.h 2023-03-09 19:11:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISheetPresentationController.h 2023-05-26 22:50:45
@@ -14,22 +14,22 @@
@class UISheetPresentationController;
-typedef NSString *UISheetPresentationControllerDetentIdentifier NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+typedef NSString *UISheetPresentationControllerDetentIdentifier NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos, xros);
// The identifier for the system medium detent.
-UIKIT_EXTERN const UISheetPresentationControllerDetentIdentifier UISheetPresentationControllerDetentIdentifierMedium API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+UIKIT_EXTERN const UISheetPresentationControllerDetentIdentifier UISheetPresentationControllerDetentIdentifierMedium API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos, xros);
// The identifier for the system large detent.
-UIKIT_EXTERN const UISheetPresentationControllerDetentIdentifier UISheetPresentationControllerDetentIdentifierLarge API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+UIKIT_EXTERN const UISheetPresentationControllerDetentIdentifier UISheetPresentationControllerDetentIdentifierLarge API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos, xros);
// A sentinel value indicating a detent that is inactive.
-UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros)
const CGFloat UISheetPresentationControllerDetentInactive;
// A context used for resolving custom UISheetPresentationControllerDetent values.
-UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros) NS_SWIFT_UI_ACTOR
@protocol UISheetPresentationControllerDetentResolutionContext <NSObject>
// The trait collection of the sheet's containerView. Effectively the same as the window's traitCollection, and does not include overrides from the sheet's overrideTraitCollection.
@@ -41,7 +41,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos, xros) NS_SWIFT_UI_ACTOR
@interface UISheetPresentationControllerDetent : NSObject
- (instancetype)init NS_UNAVAILABLE;
@@ -60,36 +60,36 @@
// The value returned from the resolutionContextBlock is a height within the safe area of the sheet. For example, returning 200 will result in a detent where the height of the sheet is 200 + safeAreaInsets.bottom when edge-attached, and just 200 when floating. Return nil if the detent should be inactive based on the passed in context.
// If the block depends on any external inputs, call `invalidateDetents` on the sheet when the external inputs change.
// Do not set any properties on UISheetPresentationController during the execution of this block.
-+ (instancetype)customDetentWithIdentifier:(nullable UISheetPresentationControllerDetentIdentifier)identifier resolver:(CGFloat (^)(id<UISheetPresentationControllerDetentResolutionContext> context))resolver API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
++ (instancetype)customDetentWithIdentifier:(nullable UISheetPresentationControllerDetentIdentifier)identifier resolver:(CGFloat (^)(id<UISheetPresentationControllerDetentResolutionContext> context))resolver API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros);
// The identifier of this detent.
-@property (nonatomic, strong, readonly) UISheetPresentationControllerDetentIdentifier identifier API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+@property (nonatomic, strong, readonly) UISheetPresentationControllerDetentIdentifier identifier API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros);
// Resolves a detent to its value. Returns UISheetPresentationControllerDetentInactive if the detent is inactive in the provided context.
// This may be used to get the values of the system medium and large detents, or the value of a custom detent.
// This is intended to be used inside `customDetentWithIdentifier:resolver:` as a way to construct a custom detent based on the values of known detents.
-- (CGFloat)resolvedValueInContext:(id<UISheetPresentationControllerDetentResolutionContext>)context API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+- (CGFloat)resolvedValueInContext:(id<UISheetPresentationControllerDetentResolutionContext>)context API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros);
@end
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos)
const CGFloat UISheetPresentationControllerAutomaticDimension;
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UISheetPresentationControllerDelegate <UIAdaptivePresentationControllerDelegate>
@optional
// Called when the selected detent of the sheet changes in response to user interaction.
// Not called if selectedDetentIdentifier is programmatically set.
-- (void)sheetPresentationControllerDidChangeSelectedDetentIdentifier:(UISheetPresentationController *)sheetPresentationController;
+- (void)sheetPresentationControllerDidChangeSelectedDetentIdentifier:(UISheetPresentationController *)sheetPresentationController API_UNAVAILABLE(xros);
@end
-UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UISheetPresentationController : UIPresentationController
// The delegate inherited from UIPresentationController, redeclared with conformance to UISheetPresentationControllerDelegate.
@@ -99,6 +99,12 @@
// Default: nil
@property (nonatomic, strong, nullable) UIView *sourceView;
+// Whether the sheet sizes itself for readable content.
+// When YES, this maps to the behavior of UIModalPresentationPageSheet, where the sheet width follows the readable width.
+// When NO, this maps to the behavior of UIModalPresentationFormSheet, where the sheet size follows the presented view controller's `preferredContentSize`.
+// Default: YES
+@property (nonatomic) BOOL prefersPageSizing API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos);
+
// Set to YES to cause the sheet to layout with an edge-attached appearance in compact height instead of full screen.
// Default: NO
@property (nonatomic) BOOL prefersEdgeAttachedInCompactHeight;
@@ -111,36 +117,36 @@
// Set to YES to show a grabber at the top of the sheet.
// Default: NO
-@property (nonatomic) BOOL prefersGrabberVisible;
+@property (nonatomic) BOOL prefersGrabberVisible API_UNAVAILABLE(xros);
// The preferred corner radius of the sheet when presented.
// This value is only respected when the sheet is at the front of its stack.
// Default: UISheetPresentationControllerAutomaticDimension
-@property (nonatomic) CGFloat preferredCornerRadius;
+@property (nonatomic) CGFloat preferredCornerRadius API_UNAVAILABLE(xros);
// The array of detents that the sheet may rest at.
// This array must have at least one element.
// Detents must be specified in order from smallest to largest height.
// Default: an array of only [UISheetPresentationControllerDetent largeDetent]
-@property (nonatomic, copy) NSArray<UISheetPresentationControllerDetent *> *detents;
+@property (nonatomic, copy) NSArray<UISheetPresentationControllerDetent *> *detents API_UNAVAILABLE(xros);
// If an external input (e.g. a captured property) to a custom detent changes, call this to notify the sheet to re-evaluate the detent in the next layout pass.
// There is no need to call this if `detents` only contains system detents, or if custom detents only use information from the passed in context.
// Call within an `animateChanges:` block to animate custom detents to their new heights.
-- (void)invalidateDetents API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+- (void)invalidateDetents API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos, xros);
// The identifier of the selected detent. When nil or the identifier is not found in detents, the sheet is displayed at the smallest detent.
// Default: nil
-@property (nonatomic, copy, nullable) UISheetPresentationControllerDetentIdentifier selectedDetentIdentifier;
+@property (nonatomic, copy, nullable) UISheetPresentationControllerDetentIdentifier selectedDetentIdentifier API_UNAVAILABLE(xros);
// The identifier of the largest detent that is not dimmed. When nil or the identifier is not found in detents, all detents are dimmed.
// Default: nil
-@property (nonatomic, copy, nullable) UISheetPresentationControllerDetentIdentifier largestUndimmedDetentIdentifier;
+@property (nonatomic, copy, nullable) UISheetPresentationControllerDetentIdentifier largestUndimmedDetentIdentifier API_UNAVAILABLE(xros);
// If there is a larger detent to expand to than the selected detent, and a descendent scroll view is scrolled to top, this controls whether scrolling down will expand to a larger detent.
// Useful to set to NO for non-modal sheets, where scrolling in the sheet should not expand the sheet and obscure the content above.
// Default: YES
-@property (nonatomic) BOOL prefersScrollingExpandsWhenScrolledToEdge;
+@property (nonatomic) BOOL prefersScrollingExpandsWhenScrolledToEdge API_UNAVAILABLE(xros);
// To animate changing any of the above properties, set them inside a block passed to this method.
// By the time this method returns, the receiver and all adjacent sheets in the sheet stack and their subviews will have been laid out.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h 2023-03-09 19:17:46
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISplitViewController.h 2023-05-31 00:47:41
@@ -24,9 +24,9 @@
UISplitViewControllerDisplayModeTwoOverSecondary NS_ENUM_AVAILABLE_IOS(14_0), // primary and supplementary columns side-by-side in overlay on top of partially visible detail column (detail column has dimming view). For widths too narrow to see much of the detail when the primary and supplementary columns are tiled.
UISplitViewControllerDisplayModeTwoDisplaceSecondary NS_ENUM_AVAILABLE_IOS(14_0), // primary, supplementary and detail columns side-by-side, but the dimmed, noninteractive detail has been displaced toward and cropped on the trailing edge. For wider widths than in TwoOverSecondary but still too narrow for TwoBesideSecondary
- UISplitViewControllerDisplayModePrimaryHidden API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeSecondaryOnly", ios(8.0, 14.0)) = UISplitViewControllerDisplayModeSecondaryOnly,
- UISplitViewControllerDisplayModeAllVisible API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeOneBesideSecondary", ios(8.0, 14.0)) = UISplitViewControllerDisplayModeOneBesideSecondary,
- UISplitViewControllerDisplayModePrimaryOverlay API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeOneOverSecondary", ios(8.0, 14.0)) = UISplitViewControllerDisplayModeOneOverSecondary,
+ UISplitViewControllerDisplayModePrimaryHidden API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeSecondaryOnly", ios(8.0, 14.0), xros(1.0, 1.0)) = UISplitViewControllerDisplayModeSecondaryOnly,
+ UISplitViewControllerDisplayModeAllVisible API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeOneBesideSecondary", ios(8.0, 14.0), xros(1.0, 1.0)) = UISplitViewControllerDisplayModeOneBesideSecondary,
+ UISplitViewControllerDisplayModePrimaryOverlay API_DEPRECATED_WITH_REPLACEMENT("UISplitViewControllerDisplayModeOneOverSecondary", ios(8.0, 14.0), xros(1.0, 1.0)) = UISplitViewControllerDisplayModeOneOverSecondary,
} API_AVAILABLE(ios(8.0));
typedef NS_ENUM(NSInteger, UISplitViewControllerPrimaryEdge) {
@@ -229,17 +229,17 @@
// Called when a button should be added to a toolbar for a hidden view controller.
// Implementing this method allows the hidden view controller to be presented via a swipe gesture if 'presentsWithGesture' is 'YES' (the default).
-- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc API_DEPRECATED("Use splitViewController:willChangeToDisplayMode: and displayModeButtonItem instead", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);
+- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc API_DEPRECATED("Use splitViewController:willChangeToDisplayMode: and displayModeButtonItem instead", ios(2.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Called when the view is shown again in the split view, invalidating the button and popover controller.
-- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem API_DEPRECATED("Use splitViewController:willChangeToDisplayMode: and displayModeButtonItem instead", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);
+- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem API_DEPRECATED("Use splitViewController:willChangeToDisplayMode: and displayModeButtonItem instead", ios(2.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Called when the view controller is shown in a popover so the delegate can take action like hiding other popovers.
-- (void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController API_DEPRECATED_WITH_REPLACEMENT("splitViewController:willChangeToDisplayMode:", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);
+- (void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController API_DEPRECATED_WITH_REPLACEMENT("splitViewController:willChangeToDisplayMode:", ios(2.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Returns YES if a view controller should be hidden by the split view controller in a given orientation.
// (This method is only called on the leftmost view controller and only discriminates portrait from landscape.)
-- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation API_DEPRECATED_WITH_REPLACEMENT("preferredDisplayMode", ios(5.0, 8.0)) API_UNAVAILABLE(tvos);
+- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation API_DEPRECATED_WITH_REPLACEMENT("preferredDisplayMode", ios(5.0, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
- (UISplitViewControllerColumn)splitViewController:(UISplitViewController *)svc topColumnForCollapsingToProposedTopColumn:(UISplitViewControllerColumn)proposedTopColumn API_AVAILABLE(ios(14.0));
- (UISplitViewControllerDisplayMode)splitViewController:(UISplitViewController *)svc displayModeForExpandingToProposedDisplayMode:(UISplitViewControllerDisplayMode)proposedDisplayMode API_AVAILABLE(ios(14.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboard.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboard.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboard.h 2023-03-09 19:14:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboard.h 2023-05-23 03:09:14
@@ -15,7 +15,7 @@
typedef __kindof UIViewController *_Nullable (^UIStoryboardViewControllerCreator)(NSCoder *coder);
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) NS_SWIFT_UI_ACTOR API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0))
@interface UIStoryboard : NSObject {
}
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardPopoverSegue.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardPopoverSegue.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardPopoverSegue.h 2023-03-09 19:14:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardPopoverSegue.h 2023-05-23 03:09:20
@@ -13,7 +13,7 @@
@class UIPopoverController;
-UIKIT_EXTERN API_DEPRECATED("Access destinationViewController.popoverPresentationController from your segue's performHandler or override of -perform", ios(5.0, 9.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("Access destinationViewController.popoverPresentationController from your segue's performHandler or override of -perform", ios(5.0, 9.0)) API_UNAVAILABLE(xros) NS_SWIFT_UI_ACTOR
@interface UIStoryboardPopoverSegue : UIStoryboardSegue {
}
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardSegue.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardSegue.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardSegue.h 2023-03-09 19:14:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStoryboardSegue.h 2023-05-23 03:09:20
@@ -13,7 +13,7 @@
@class UIViewController;
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) NS_SWIFT_UI_ACTOR API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0))
@interface UIStoryboardSegue : NSObject
// Convenience constructor for returning a segue that performs a handler block in its -perform method.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h 2023-03-09 19:17:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h 2023-05-26 22:50:42
@@ -19,13 +19,13 @@
in NSAttributedString.h.
*/
// Key to the font in the text attributes dictionary. A UIFont instance is expected. Use a font with size 0.0 to get the default font size for the situation.
-UIKIT_EXTERN NSString *const UITextAttributeFont API_DEPRECATED_WITH_REPLACEMENT("NSFontAttributeName", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UITextAttributeFont API_DEPRECATED_WITH_REPLACEMENT("NSFontAttributeName", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Key to the text color in the text attributes dictionary. A UIColor instance is expected.
-UIKIT_EXTERN NSString *const UITextAttributeTextColor API_DEPRECATED_WITH_REPLACEMENT("NSForegroundColorAttributeName", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UITextAttributeTextColor API_DEPRECATED_WITH_REPLACEMENT("NSForegroundColorAttributeName", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Key to the text shadow color in the text attributes dictionary. A UIColor instance is expected.
-UIKIT_EXTERN NSString *const UITextAttributeTextShadowColor API_DEPRECATED("Use NSShadowAttributeName with an NSShadow instance as the value", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UITextAttributeTextShadowColor API_DEPRECATED("Use NSShadowAttributeName with an NSShadow instance as the value", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Key to the offset used for the text shadow in the text attributes dictionary. An NSValue instance wrapping a UIOffset struct is expected.
-UIKIT_EXTERN NSString *const UITextAttributeTextShadowOffset API_DEPRECATED("Use NSShadowAttributeName with an NSShadow instance as the value", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UITextAttributeTextShadowOffset API_DEPRECATED("Use NSShadowAttributeName with an NSShadow instance as the value", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Deprecated: use NSLineBreakMode instead
typedef NS_ENUM(NSInteger, UILineBreakMode) {
@@ -35,14 +35,14 @@
UILineBreakModeHeadTruncation, // Truncate at head of line: "...wxyz". Will truncate multiline text on first line
UILineBreakModeTailTruncation, // Truncate at tail of line: "abcd...". Will truncate multiline text on last line
UILineBreakModeMiddleTruncation, // Truncate middle of line: "ab...yz". Will truncate multiline text in the middle
-} API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Deprecated: use NSTextAlignment enum in UIKit/NSText.h
typedef NS_ENUM(NSInteger, UITextAlignment) {
UITextAlignmentLeft = 0,
UITextAlignmentCenter,
UITextAlignmentRight, // could add justified in future
-} API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIBaselineAdjustment) {
UIBaselineAdjustmentAlignBaselines = 0, // default. used when shrinking text to position based on the original baseline
@@ -57,34 +57,34 @@
@interface NSString(UIStringDrawing)
// Single line, no wrapping. Truncation based on the NSLineBreakMode.
-- (CGSize)sizeWithFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("sizeWithAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
-- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)sizeWithFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("sizeWithAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Single line, no wrapping. Truncation based on the NSLineBreakMode.
-- (CGSize)drawAtPoint:(CGPoint)point withFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("drawAtPoint:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
-- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)drawAtPoint:(CGPoint)point withFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("drawAtPoint:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Wrapping to fit horizontal and vertical size. Text will be wrapped and truncated using the NSLineBreakMode. If the height is less than a line of text, it may return
// a vertical size that is bigger than the one passed in.
// If you size your text using the constrainedToSize: methods below, you should draw the text using the drawInRect: methods using the same line break mode for consistency
-- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos); // Uses NSLineBreakModeWordWrap
-- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos); // NSTextAlignment is not needed to determine size
+- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // Uses NSLineBreakModeWordWrap
+- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("boundingRectWithSize:options:attributes:context:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // NSTextAlignment is not needed to determine size
// Wrapping to fit horizontal and vertical size.
-- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
-- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
-- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode alignment:(NSTextAlignment)alignment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos, xros);
+- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode alignment:(NSTextAlignment)alignment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// These methods will behave identically to the above single line methods if the string will fit in the specified width in the specified font.
// If not, the font size will be reduced until either the string fits or the minimum font size is reached. If the minimum font
// size is reached and the string still won't fit, the string will be truncated and drawn at the minimum font size.
// The first two methods are used together, and the actualFontSize returned in the sizeWithFont method should be passed to the drawAtPoint method.
// The last method will do the sizing calculation and drawing in one operation.
-- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED("", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode API_DEPRECATED("", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize lineBreakMode:(NSLineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize lineBreakMode:(NSLineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
-- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize lineBreakMode:(NSLineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(tvos);
+- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize lineBreakMode:(NSLineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment API_DEPRECATED_WITH_REPLACEMENT("drawInRect:withAttributes:", ios(2.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolEffectCompletion.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolEffectCompletion.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolEffectCompletion.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISymbolEffectCompletion.h 2023-05-23 03:09:13
@@ -0,0 +1,53 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISymbolEffectCompletion.h>)
+//
+// UISymbolEffectCompletion.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+
+@class NSSymbolEffect, NSSymbolContentTransition;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@class UISymbolEffectCompletionContext;
+
+/// Completion handler for adding and removing symbol effects/content transitions.
+typedef void(^UISymbolEffectCompletion)(UISymbolEffectCompletionContext *context);
+
+/// Represents information about a symbol effect's completion.
+/// You don't create one of these. Instead, UIKit creates one and passes it into the completion handler
+/// of a symbol effect or symbol content transition.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0)) NS_SWIFT_UI_ACTOR
+@interface UISymbolEffectCompletionContext : NSObject
+
+/// Whether or not the symbol effect was completely finished.
+/// This will be YES for effects that have successfully run to completion.
+@property (nonatomic, readonly, getter=isFinished) BOOL finished;
+
+/// The object (such as an image view) that the symbol effect was added to.
+@property (nonatomic, weak, nullable, readonly) id sender;
+
+/// The symbol effect that has completed.
+/// There is no guarantee that this effect will be the same instance as the effect originally added.
+/// This will be `nil` if a symbol content transition was added instead.
+@property (nonatomic, nullable, readonly) NSSymbolEffect *effect;
+
+/// The symbol content transition that has completed.
+/// There is no guarantee that this content transition will be the same instance as the content transition originally added.
+/// This will be `nil` if a symbol effect was added instead.
+@property (nonatomic, nullable, readonly) NSSymbolContentTransition *contentTransition;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UISymbolEffectCompletion.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h 2023-03-09 19:17:37
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h 2023-05-23 03:09:14
@@ -35,10 +35,10 @@
// Reorder items. This will display a sheet with all the items listed, allow the user to change/reorder items and shows a 'Done' button at the top
-- (void)beginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos); // list all items that can be reordered. always animates a sheet up. visible items not listed are fixed in place
-- (BOOL)endCustomizingAnimated:(BOOL)animated API_UNAVAILABLE(tvos); // hide customization sheet. normally you should let the user do it. check list of items to see new layout. returns YES if layout changed
+- (void)beginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos, xros); // list all items that can be reordered. always animates a sheet up. visible items not listed are fixed in place
+- (BOOL)endCustomizingAnimated:(BOOL)animated API_UNAVAILABLE(tvos, xros); // hide customization sheet. normally you should let the user do it. check list of items to see new layout. returns YES if layout changed
-@property(nonatomic, readonly, getter=isCustomizing) BOOL customizing API_UNAVAILABLE(tvos);
+@property(nonatomic, readonly, getter=isCustomizing) BOOL customizing API_UNAVAILABLE(tvos, xros);
/*
The behavior of tintColor for bars has changed on iOS 7.0. It no longer affects the bar's background
@@ -58,7 +58,7 @@
Deprecated in iOS 8.0. On iOS 7.0 and later the selected image takes its color from the
inherited tintColor of the UITabBar, which may be set separately if necessary.
*/
-@property(nullable, nonatomic, strong) UIColor *selectedImageTintColor API_DEPRECATED_WITH_REPLACEMENT("tintColor", ios(5.0, 8.0)) UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos);
+@property(nullable, nonatomic, strong) UIColor *selectedImageTintColor API_DEPRECATED_WITH_REPLACEMENT("tintColor", ios(5.0, 8.0)) UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos) API_UNAVAILABLE(xros);
/* The background image will be tiled to fit, even if it was not created via the UIImage resizableImage methods.
*/
@@ -114,7 +114,7 @@
the tab bar will provide an opaque background for the image using the bar's barTintColor if defined, or black
for UIBarStyleBlack or white for UIBarStyleDefault if barTintColor is nil.
*/
-@property(nonatomic,getter=isTranslucent) BOOL translucent API_AVAILABLE(ios(7.0));
+@property(nonatomic,getter=isTranslucent) BOOL translucent API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(xros);
/// Describes the appearance attributes for the tab bar to use.
@property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0));
@@ -123,11 +123,11 @@
// A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
// This view and its subviews will have userInteractionEnabled set to NO at all time.
-@property(nonatomic, readonly, strong) UIView *leadingAccessoryView API_AVAILABLE(tvos(13.0)) API_UNAVAILABLE(ios, watchos);
+@property(nonatomic, readonly, strong) UIView *leadingAccessoryView API_AVAILABLE(tvos(13.0)) API_UNAVAILABLE(ios, watchos, xros);
// A small view (200pt by 68pt) in the trailing gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
// This view and its subviews will have userInteractionEnabled set to NO at all time.
-@property(nonatomic, readonly, strong) UIView *trailingAccessoryView API_AVAILABLE(tvos(13.0)) API_UNAVAILABLE(ios, watchos);
+@property(nonatomic, readonly, strong) UIView *trailingAccessoryView API_AVAILABLE(tvos(13.0)) API_UNAVAILABLE(ios, watchos, xros);
@end
@@ -144,10 +144,10 @@
it will be set to nil.
*/
-- (void)tabBar:(UITabBar *)tabBar willBeginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos); // called before customize sheet is shown. items is current item list
-- (void)tabBar:(UITabBar *)tabBar didBeginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos); // called after customize sheet is shown. items is current item list
-- (void)tabBar:(UITabBar *)tabBar willEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed API_UNAVAILABLE(tvos); // called before customize sheet is hidden. items is new item list
-- (void)tabBar:(UITabBar *)tabBar didEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed API_UNAVAILABLE(tvos); // called after customize sheet is hidden. items is new item list
+- (void)tabBar:(UITabBar *)tabBar willBeginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos, xros); // called before customize sheet is shown. items is current item list
+- (void)tabBar:(UITabBar *)tabBar didBeginCustomizingItems:(NSArray<UITabBarItem *> *)items API_UNAVAILABLE(tvos, xros); // called after customize sheet is shown. items is current item list
+- (void)tabBar:(UITabBar *)tabBar willEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed API_UNAVAILABLE(tvos, xros); // called before customize sheet is hidden. items is new item list
+- (void)tabBar:(UITabBar *)tabBar didEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed API_UNAVAILABLE(tvos, xros); // called after customize sheet is hidden. items is new item list
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h 2023-05-31 00:47:43
@@ -40,8 +40,8 @@
@property(nullable, nonatomic, assign) __kindof UIViewController *selectedViewController; // This may return the "More" navigation controller if it exists.
@property(nonatomic) NSUInteger selectedIndex;
-@property(nonatomic, readonly) UINavigationController *moreNavigationController API_UNAVAILABLE(tvos); // Returns the "More" navigation controller, creating it if it does not already exist.
-@property(nullable, nonatomic, copy) NSArray<__kindof UIViewController *> *customizableViewControllers API_UNAVAILABLE(tvos); // If non-nil, then the "More" view will include an "Edit" button that displays customization UI for the specified controllers. By default, all view controllers are customizable.
+@property(nonatomic, readonly) UINavigationController *moreNavigationController API_UNAVAILABLE(tvos, xros); // Returns the "More" navigation controller, creating it if it does not already exist.
+@property(nullable, nonatomic, copy) NSArray<__kindof UIViewController *> *customizableViewControllers API_UNAVAILABLE(tvos, xros); // If non-nil, then the "More" view will include an "Edit" button that displays customization UI for the specified controllers. By default, all view controllers are customizable.
@property(nonatomic,readonly) UITabBar *tabBar API_AVAILABLE(ios(3.0)); // Provided for -[UIActionSheet showFromTabBar:]. Attempting to modify the contents of the tab bar directly will throw an exception.
@@ -79,7 +79,7 @@
/* Deprecated on tvOS 15.0 in favor of -[UIViewController setContentScrollView:forEdge:].
*/
-@property(nullable, nonatomic, strong) UIScrollView *tabBarObservedScrollView API_DEPRECATED("Use -setContentScrollView:forEdge: instead.", tvos(13.0,API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos); // Set this property to the full screen scroll view on the tab's top-level view controller, if one exists.
+@property(nullable, nonatomic, strong) UIScrollView *tabBarObservedScrollView API_DEPRECATED("Use -setContentScrollView:forEdge: instead.", tvos(13.0,API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, xros); // Set this property to the full screen scroll view on the tab's top-level view controller, if one exists.
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarItem.h 2023-03-09 19:17:37
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarItem.h 2023-05-26 22:50:40
@@ -50,9 +50,9 @@
/* These methods are now deprecated. Please use -initWithTitle:image:selectedImage:.
*/
-- (void)setFinishedSelectedImage:(nullable UIImage *)selectedImage withFinishedUnselectedImage:(nullable UIImage *)unselectedImage API_DEPRECATED("Use initWithTitle:image:selectedImage: or the image and selectedImage properties along with UIImageRenderingModeAlwaysOriginal", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
-- (nullable UIImage *)finishedSelectedImage API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
-- (nullable UIImage *)finishedUnselectedImage API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(tvos);
+- (void)setFinishedSelectedImage:(nullable UIImage *)selectedImage withFinishedUnselectedImage:(nullable UIImage *)unselectedImage API_DEPRECATED("Use initWithTitle:image:selectedImage: or the image and selectedImage properties along with UIImageRenderingModeAlwaysOriginal", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (nullable UIImage *)finishedSelectedImage API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
+- (nullable UIImage *)finishedUnselectedImage API_DEPRECATED("", ios(5.0, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
/* To set item label text attributes use the appearance selectors available on the superclass, UIBarItem.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h 2023-03-09 23:51:01
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h 2023-05-26 22:50:42
@@ -65,7 +65,7 @@
UITableViewRowActionStyleNormal
} API_DEPRECATED("Use UIContextualAction and related APIs instead.", ios(8.0, 13.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_DEPRECATED("Use UIContextualAction and related APIs instead.", ios(8.0, 13.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("Use UIContextualAction and related APIs instead.", ios(8.0, 13.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UITableViewRowAction : NSObject <NSCopying>
+ (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style title:(nullable NSString *)title handler:(void (^)(UITableViewRowAction *action, NSIndexPath *indexPath))handler;
@@ -121,7 +121,7 @@
// Accessories (disclosures).
-- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
+- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath;
// Selection
@@ -176,7 +176,7 @@
- (nullable NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos);
// This method supersedes -tableView:titleForDeleteConfirmationButtonForRowAtIndexPath: if return value is non-nil
-- (nullable NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("tableView:trailingSwipeActionsConfigurationForRowAtIndexPath:", ios(8.0, 13.0)) API_UNAVAILABLE(tvos);
+- (nullable NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("tableView:trailingSwipeActionsConfigurationForRowAtIndexPath:", ios(8.0, 13.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Swipe actions
// These methods supersede -editActionsForRowAtIndexPath: if implemented
@@ -202,9 +202,9 @@
// Copy/Paste. All three methods must be implemented by the delegate.
-- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:point:", ios(5.0, 13.0));
-- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:point:", ios(5.0, 13.0));
-- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:", ios(5.0, 13.0));
+- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:point:", ios(5.0, 13.0)) API_UNAVAILABLE(xros);
+- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:point:", ios(5.0, 13.0)) API_UNAVAILABLE(xros);
+- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("tableView:contextMenuConfigurationForRowAtIndexPath:", ios(5.0, 13.0)) API_UNAVAILABLE(xros);
// Focus
@@ -264,7 +264,7 @@
* to indicate to users that it's possible for a menu to be presented from this element, but that there are no actions to
* present at this particular time.
*/
-- (nullable UIContextMenuConfiguration *)tableView:(UITableView *)tableView contextMenuConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath point:(CGPoint)point API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos);
+- (nullable UIContextMenuConfiguration *)tableView:(UITableView *)tableView contextMenuConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath point:(CGPoint)point API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the interaction begins. Return a UITargetedPreview to override the default preview created by the table view.
@@ -272,7 +272,7 @@
* @param tableView This UITableView.
* @param configuration The configuration of the menu about to be displayed by this interaction.
*/
-- (nullable UITargetedPreview *)tableView:(UITableView *)tableView previewForHighlightingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos);
+- (nullable UITargetedPreview *)tableView:(UITableView *)tableView previewForHighlightingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the interaction is about to dismiss. Return a UITargetedPreview describing the desired dismissal target.
@@ -281,7 +281,7 @@
* @param tableView This UITableView.
* @param configuration The configuration of the menu displayed by this interaction.
*/
-- (nullable UITargetedPreview *)tableView:(UITableView *)tableView previewForDismissingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos);
+- (nullable UITargetedPreview *)tableView:(UITableView *)tableView previewForDismissingContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the interaction is about to "commit" in response to the user tapping the preview.
@@ -299,7 +299,7 @@
* @param configuration The configuration of the menu about to be displayed.
* @param animator Appearance animator. Add animations to run them alongside the appearance transition.
*/
-- (void)tableView:(UITableView *)tableView willDisplayContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+- (void)tableView:(UITableView *)tableView willDisplayContextMenuWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the table view's context menu interaction is about to end.
@@ -308,7 +308,7 @@
* @param configuration Ending configuration.
* @param animator Disappearance animator. Add animations to run them alongside the disappearance transition.
*/
-- (void)tableView:(UITableView *)tableView willEndContextMenuInteractionWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+- (void)tableView:(UITableView *)tableView willEndContextMenuInteractionWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@end
@@ -373,7 +373,7 @@
@property (nonatomic, strong, nullable) UIView *backgroundView API_AVAILABLE(ios(3.2)); // the background view will be automatically resized to track the size of the table view. this will be placed as a subview of the table view behind all cells and headers/footers. default may be non-nil for some devices.
-@property (nonatomic, readonly, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+@property (nonatomic, readonly, nullable) UIContextMenuInteraction *contextMenuInteraction API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Info
@@ -475,10 +475,10 @@
// Beginning in iOS 6, clients can register a nib or class for each cell.
// If all reuse identifiers are registered, use the newer -dequeueReusableCellWithIdentifier:forIndexPath: to guarantee that a cell instance is returned.
// Instances returned from the new dequeue method will also be properly sized when they are returned.
-- (void)registerNib:(nullable UINib *)nib forCellReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(5.0));
+- (void)registerNib:(nullable UINib *)nib forCellReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(5.0)) API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
- (void)registerClass:(nullable Class)cellClass forCellReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(6.0));
-- (void)registerNib:(nullable UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(6.0));
+- (void)registerNib:(nullable UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(6.0)) API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of xrOS.", xros(1.0, 1.0));
- (void)registerClass:(nullable Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier API_AVAILABLE(ios(6.0));
// Focus
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h 2023-03-09 19:17:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h 2023-05-31 00:46:49
@@ -32,7 +32,7 @@
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
UITableViewCellSeparatorStyleNone,
UITableViewCellSeparatorStyleSingleLine,
- UITableViewCellSeparatorStyleSingleLineEtched API_DEPRECATED("Use UITableViewCellSeparatorStyleSingleLine for a single line separator.", ios(2.0, 11.0))
+ UITableViewCellSeparatorStyleSingleLineEtched API_DEPRECATED("Use UITableViewCellSeparatorStyleSingleLine for a single line separator.", ios(2.0, 11.0)) API_UNAVAILABLE(xros)
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
@@ -116,9 +116,9 @@
@property (nonatomic, readonly, strong) UIView *contentView;
// These properties will always return nil when a non-nil `contentConfiguration` is set.
-@property (nonatomic, readonly, strong, nullable) UIImageView *imageView API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED)); // default is nil. image view will be created if necessary.
-@property (nonatomic, readonly, strong, nullable) UILabel *textLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED)); // default is nil. label will be created if necessary.
-@property (nonatomic, readonly, strong, nullable) UILabel *detailTextLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED)); // default is nil. label will be created if necessary (and the current style supports a detail label).
+@property (nonatomic, readonly, strong, nullable) UIImageView *imageView API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // default is nil. image view will be created if necessary.
+@property (nonatomic, readonly, strong, nullable) UILabel *textLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // default is nil. label will be created if necessary.
+@property (nonatomic, readonly, strong, nullable) UILabel *detailTextLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(3.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // default is nil. label will be created if necessary (and the current style supports a detail label).
/// Returns a default background configuration for the cell's style.
/// This background configuration represents the default appearance that the cell will use.
@@ -187,27 +187,27 @@
@interface UITableViewCell (UIDeprecated)
// Frame is ignored. The size will be specified by the table view width and row height.
-- (id)initWithFrame:(CGRect)frame reuseIdentifier:(nullable NSString *)reuseIdentifier API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
+- (id)initWithFrame:(CGRect)frame reuseIdentifier:(nullable NSString *)reuseIdentifier API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos);
// Content properties. These properties were deprecated in iPhone OS 3.0. The textLabel and imageView properties above should be used instead.
// For selected attributes, set the highlighted attributes on the textLabel and imageView.
-@property (nonatomic, copy, nullable) NSString *text API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil
-@property (nonatomic, strong, nullable) UIFont *font API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil (Use default font)
-@property (nonatomic) NSTextAlignment textAlignment API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is UITextAlignmentLeft
-@property (nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is UILineBreakModeTailTruncation
-@property (nonatomic, strong, nullable) UIColor *textColor API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil (text draws black)
-@property (nonatomic, strong, nullable) UIColor *selectedTextColor API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil (text draws white)
+@property (nonatomic, copy, nullable) NSString *text API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil
+@property (nonatomic, strong, nullable) UIFont *font API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil (Use default font)
+@property (nonatomic) NSTextAlignment textAlignment API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is UITextAlignmentLeft
+@property (nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is UILineBreakModeTailTruncation
+@property (nonatomic, strong, nullable) UIColor *textColor API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil (text draws black)
+@property (nonatomic, strong, nullable) UIColor *selectedTextColor API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil (text draws white)
-@property (nonatomic, strong, nullable) UIImage *image API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil. appears on left next to title.
-@property (nonatomic, strong, nullable) UIImage *selectedImage API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is nil
+@property (nonatomic, strong, nullable) UIImage *image API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil. appears on left next to title.
+@property (nonatomic, strong, nullable) UIImage *selectedImage API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is nil
// Use the new editingAccessoryType and editingAccessoryView instead
-@property (nonatomic) BOOL hidesAccessoryWhenEditing API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // default is YES
+@property (nonatomic) BOOL hidesAccessoryWhenEditing API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // default is YES
// Use the table view data source method -tableView:commitEditingStyle:forRowAtIndexPath: or the table view delegate method -tableView:accessoryButtonTappedForRowWithIndexPath: instead
-@property (nonatomic, assign, nullable) id target API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // target for insert/delete/accessory clicks. default is nil (i.e. go up responder chain). weak reference
-@property (nonatomic, nullable) SEL editAction API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // action to call on insert/delete call. set by UITableView
-@property (nonatomic, nullable) SEL accessoryAction API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos); // action to call on accessory view clicked. set by UITableView
+@property (nonatomic, assign, nullable) id target API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // target for insert/delete/accessory clicks. default is nil (i.e. go up responder chain). weak reference
+@property (nonatomic, nullable) SEL editAction API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // action to call on insert/delete call. set by UITableView
+@property (nonatomic, nullable) SEL accessoryAction API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // action to call on accessory view clicked. set by UITableView
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewHeaderFooterView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewHeaderFooterView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewHeaderFooterView.h 2023-03-09 23:54:14
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewHeaderFooterView.h 2023-05-26 22:50:47
@@ -58,8 +58,8 @@
@property (nonatomic, readonly, strong) UIView *contentView;
// These properties will always return nil when a non-nil `contentConfiguration` is set.
-@property (nonatomic, readonly, strong, nullable) UILabel *textLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(6.0, API_TO_BE_DEPRECATED));
-@property (nonatomic, readonly, strong, nullable) UILabel *detailTextLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(6.0, API_TO_BE_DEPRECATED)); // only supported for headers in grouped style
+@property (nonatomic, readonly, strong, nullable) UILabel *textLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(6.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED));
+@property (nonatomic, readonly, strong, nullable) UILabel *detailTextLabel API_DEPRECATED("Use UIListContentConfiguration instead, this property will be deprecated in a future release.", ios(6.0, API_TO_BE_DEPRECATED), xros(1.0, API_TO_BE_DEPRECATED)); // only supported for headers in grouped style
/// Returns a default background configuration for the header/footer's style.
/// This background configuration represents the default appearance that the header/footer will use.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h 2023-03-09 19:14:22
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h 2023-05-23 03:09:13
@@ -14,7 +14,7 @@
@class UIPreviewParameters, UIView;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIPreviewTarget : NSObject <NSCopying>
/* UIPreviewTarget specifies where a preview should come from, or go to.
@@ -41,7 +41,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UITargetedPreview : NSObject <NSCopying>
/* UITargetedPreview is a preview used during an interaction's animations.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextCursorView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextCursorView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextCursorView.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextCursorView.h 2023-05-23 03:09:12
@@ -0,0 +1,31 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextCursorView.h>)
+//
+// UITextCursorView.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitCore.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// @ protocol UITextCursorView
+/// @abstract A view that displays a flashing cursor (aka "caret") view.
+/// @discussion When a selection is not ranged (or has a zero-length), a cursor view is displayed.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@protocol UITextCursorView <UICoordinateSpace>
+
+/// Enables the blink animation. Disabled by default.
+@property (nonatomic, readwrite, getter=isBlinking) BOOL blinking;
+
+/// Call this when the cursor is moving (i.e., during typing) to make sure the cursor doesn't blink while text is being inserted.
+- (void)resetBlinkAnimation;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITextCursorView.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h 2023-03-09 23:54:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h 2023-05-31 00:47:38
@@ -16,6 +16,7 @@
#import <UIKit/UITextDropping.h>
#import <UIKit/UITextInput.h>
#import <UIKit/UIContentSizeCategoryAdjusting.h>
+#import <UIKit/UILetterformAwareAdjusting.h>
#import <UIKit/UITextPasteConfigurationSupporting.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -48,7 +49,7 @@
} API_AVAILABLE(ios(10.0));
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
-@interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting>
+@interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
@property(nullable, nonatomic,copy) NSString *text; // default is nil
@property(nullable, nonatomic,copy) NSAttributedString *attributedText API_AVAILABLE(ios(6.0)); // default is nil
@@ -98,7 +99,7 @@
- (CGRect)leftViewRectForBounds:(CGRect)bounds;
- (CGRect)rightViewRectForBounds:(CGRect)bounds;
-- (void)drawTextInRect:(CGRect)rect API_DEPRECATED("This method is no longer called.", ios(2.0, 15.0));
+- (void)drawTextInRect:(CGRect)rect API_DEPRECATED("This method is no longer called.", ios(2.0, 15.0), xros(1.0, 1.0));
- (void)drawPlaceholderInRect:(CGRect)rect;
// Presented when object becomes first responder. If set to nil, reverts to following responder chain. If
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h 2023-03-09 19:14:16
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h 2023-05-26 22:50:38
@@ -249,9 +249,9 @@
//---------------------------------------------------------------------------------------------------
/* UITextInput keys to style dictionaries are deprecated. Use NSAttributedString keys instead, such as NSFontAttribute, etc. */
-UIKIT_EXTERN NSString *const UITextInputTextBackgroundColorKey API_DEPRECATED_WITH_REPLACEMENT("NSBackgroundColorAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(tvos); // Key to a UIColor
-UIKIT_EXTERN NSString *const UITextInputTextColorKey API_DEPRECATED_WITH_REPLACEMENT("NSForegroundColorAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(tvos); // Key to a UIColor
-UIKIT_EXTERN NSString *const UITextInputTextFontKey API_DEPRECATED_WITH_REPLACEMENT("NSFontAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(tvos); // Key to a UIFont
+UIKIT_EXTERN NSString *const UITextInputTextBackgroundColorKey API_DEPRECATED_WITH_REPLACEMENT("NSBackgroundColorAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // Key to a UIColor
+UIKIT_EXTERN NSString *const UITextInputTextColorKey API_DEPRECATED_WITH_REPLACEMENT("NSForegroundColorAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // Key to a UIColor
+UIKIT_EXTERN NSString *const UITextInputTextFontKey API_DEPRECATED_WITH_REPLACEMENT("NSFontAttributeName", ios(3.2, 8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // Key to a UIFont
/* To accommodate text entry in documents that contain nested elements, or in which supplying and
* evaluating characters at indices is an expensive proposition, a position within a text input
@@ -328,18 +328,18 @@
@property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
// To query the UITextInputMode, refer to the UIResponder method -textInputMode.
-+ (nullable UITextInputMode *)currentInputMode API_DEPRECATED("", ios(4.2, 7.0)) API_UNAVAILABLE(tvos); // The current input mode. Nil if unset.
++ (nullable UITextInputMode *)currentInputMode API_DEPRECATED("", ios(4.2, 7.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(tvos); // The current input mode. Nil if unset.
@property(class, nonatomic, readonly) NSArray<UITextInputMode *> *activeInputModes; // The active input modes.
@end
UIKIT_EXTERN NSNotificationName const UITextInputCurrentInputModeDidChangeNotification API_AVAILABLE(ios(4.2));
-typedef NSWritingDirection UITextWritingDirection API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirection", ios(3.2, 13.0), tvos(9.0, 13.0));
+typedef NSWritingDirection UITextWritingDirection API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirection", ios(3.2, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros);
-static const UITextWritingDirection UITextWritingDirectionNatural API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionNatural", ios(3.2, 13.0), tvos(9.0, 13.0)) = NSWritingDirectionNatural;
-static const UITextWritingDirection UITextWritingDirectionLeftToRight API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionLeftToRight", ios(3.2, 13.0), tvos(9.0, 13.0)) = NSWritingDirectionLeftToRight;
-static const UITextWritingDirection UITextWritingDirectionRightToLeft API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionRightToLeft", ios(3.2, 13.0), tvos(9.0, 13.0)) = NSWritingDirectionRightToLeft;
+static const UITextWritingDirection UITextWritingDirectionNatural API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionNatural", ios(3.2, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros) = NSWritingDirectionNatural;
+static const UITextWritingDirection UITextWritingDirectionLeftToRight API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionLeftToRight", ios(3.2, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros) = NSWritingDirectionLeftToRight;
+static const UITextWritingDirection UITextWritingDirectionRightToLeft API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionRightToLeft", ios(3.2, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(xros) = NSWritingDirectionRightToLeft;
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h 2023-03-09 19:14:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h 2023-05-23 03:16:57
@@ -81,6 +81,17 @@
} API_AVAILABLE(ios(11.0));
//
+// UITextInlinePredictionType
+//
+// Controls whether inline text prediction is enabled or disabled during typing.
+//
+typedef NS_ENUM(NSInteger, UITextInlinePredictionType) {
+ UITextInlinePredictionTypeDefault,
+ UITextInlinePredictionTypeNo,
+ UITextInlinePredictionTypeYes,
+} API_AVAILABLE(ios(17.0));
+
+//
// UIKeyboardType
//
// Requests that a particular keyboard type be displayed when a text widget
@@ -177,6 +188,10 @@
@property(nonatomic) UITextSmartQuotesType smartQuotesType API_AVAILABLE(ios(11.0)); // default is UITextSmartQuotesTypeDefault;
@property(nonatomic) UITextSmartDashesType smartDashesType API_AVAILABLE(ios(11.0)); // default is UITextSmartDashesTypeDefault;
@property(nonatomic) UITextSmartInsertDeleteType smartInsertDeleteType API_AVAILABLE(ios(11.0)); // default is UITextSmartInsertDeleteTypeDefault;
+
+// This property controls whether inline text prediction is enabled or disabled during typing
+@property(nonatomic) UITextInlinePredictionType inlinePredictionType API_AVAILABLE(ios(17.0)); // default is UITextInlinePredictionTypeDefault
+
@property(nonatomic) UIKeyboardType keyboardType; // default is UIKeyboardTypeDefault
@property(nonatomic) UIKeyboardAppearance keyboardAppearance; // default is UIKeyboardAppearanceDefault
@property(nonatomic) UIReturnKeyType returnKeyType; // default is UIReturnKeyDefault (See note under UIReturnKeyType enum)
@@ -232,6 +247,20 @@
/// Dates, times, or durations such as "7-3-2021" or "This Saturday", "12:30", and "10-11am", respectively.
UIKIT_EXTERN UITextContentType const UITextContentTypeDateTime API_AVAILABLE(ios(15.0));
+
+UIKIT_EXTERN UITextContentType const UITextContentTypeBirthdate API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeBirthdateDay API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeBirthdateMonth API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeBirthdateYear API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardSecurityCode API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardName API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardGivenName API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardMiddleName API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardFamilyName API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardExpiration API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardExpirationMonth API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardExpirationYear API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UITextContentType const UITextContentTypeCreditCardType API_AVAILABLE(ios(17.0));
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItem.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItem.h 2023-05-23 03:09:19
@@ -0,0 +1,98 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextItem.h>)
+//
+// UITextItem.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UITextView.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// The attribute name for adding a text item with a specified custom tag.
+UIKIT_EXTERN NSAttributedStringKey const UITextItemTagAttributeName API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos);
+
+#pragma mark - UITextItem
+
+typedef NS_ENUM(NSInteger, UITextItemContentType) {
+ /// The text item represents a link.
+ UITextItemContentTypeLink = 0,
+ /// The text item represents a text attachment.
+ UITextItemContentTypeTextAttachment = 1,
+ /// The text item represents a custom tag.
+ UITextItemContentTypeTag = 2,
+} API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos);
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UITextItem : NSObject
+
+/// The content type of the text item.
+@property (nonatomic, assign, readonly) UITextItemContentType contentType;
+
+/// The range of the text item.
+@property (nonatomic, assign, readonly) NSRange range;
+
+/// The link represented by the text item. This value is `nil` if the `contentType != UITextItemContentTypeLink`
+@property (nonatomic, strong, nullable, readonly) NSURL *link;
+
+/// The text attachment represented by the text item. This value is `nil` if the `contentType != UITextItemContentTypeTextAttachment`
+@property (nonatomic, strong, nullable, readonly) NSTextAttachment *textAttachment;
+
+/// The custom tag identifier represented by the text item. This value is `nil` if the `contentType != UITextItemContentTypeTag`
+@property (nonatomic, strong, nullable, readonly) NSString *tagIdentifier;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - UITextItemMenuPreview
+
+/// An object representing the preview for a text item.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UITextItemMenuPreview : NSObject
+
+/// Show the default system preview for the given text item.
++ (instancetype)defaultPreview;
+
+/// Show the specified preview view for the given text item.
+- (instancetype)initWithView:(UIView *)view;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - UITextItemMenuConfiguration
+
+@class UIMenu;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UITextItemMenuConfiguration : NSObject
+
+/**
+ * Creates a menu configuration with the specified menu and a default preview.
+ *
+ * @param menu The menu to be presented.
+ */
++ (instancetype)configurationWithMenu:(UIMenu *)menu;
+
+/**
+ * Creates a menu configuration with the specified menu and custom preview.
+ *
+ * @param menu The menu to be presented.
+ * @param preview The preview associated with the menu. Specify @c nil for no preview.
+ */
++ (instancetype)configurationWithPreview:(nullable UITextItemMenuPreview *)preview menu:(UIMenu *)menu;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITextItem.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItemInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItemInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItemInteraction.h 2023-03-09 19:14:25
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextItemInteraction.h 2023-05-23 03:09:14
@@ -10,7 +10,7 @@
UITextItemInteractionInvokeDefaultAction,
UITextItemInteractionPresentActions,
UITextItemInteractionPreview,
-} API_AVAILABLE(ios(10.0));
+} API_DEPRECATED("UITextItemInteraction has been replaced by text item methods on UITextViewDelegate", ios(10.0, 17.0), xros(1.0, 1.0));
#else
#import <UIKitCore/UITextItemInteraction.h>
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextLoupeSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextLoupeSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextLoupeSession.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextLoupeSession.h 2023-05-23 03:09:18
@@ -0,0 +1,41 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextLoupeSession.h>)
+//
+// UITextLoupeSession.h
+// UIKit
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIView.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@interface UITextLoupeSession : NSObject
+
+/// Begins a loupe session at the specified point. The system will animate the presentation of the loupe, as well as its position and hierarchy.
+///
+/// @param at The point in @c view's coordinate space where the loupe should begin.
+/// @param widgetView Optionally, a system-provided selection view that the animation can start from.
+/// @param view The coordinate space that all subsequent movement updates are provided in.
++ (nullable instancetype)beginLoupeSessionAtPoint:(CGPoint)point
+ fromSelectionWidgetView:(nullable UIView *)selectionWidget
+ inView:(UIView *)interactionView;
+
+/// Call this when a text selection gesture moves to a particular point.
+///
+/// @param point The center point of the touch tracked by the gesture recognizer.
+/// @param caretRect The current position of the caret/range handle. Pass in CGRectNull if there is no current selection/no caret rect visible.
+/// @param trackingCaret Provide YES if the loupe should track the caret instead of the touch.
+- (void)moveToPoint:(CGPoint)point withCaretRect:(CGRect)caretRect trackingCaret:(BOOL)tracksCaret;
+
+/// Invalidates the loupe session. Hides the loupe and cleans up transient state.
+- (void)invalidate;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITextLoupeSession.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h 2023-05-23 03:09:16
@@ -0,0 +1,80 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextSelectionDisplayInteraction.h>)
+//
+// UITextSelectionDisplayInteraction.h
+// UIKit
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitCore.h>
+
+#import <UIKit/UIInteraction.h>
+#import <UIKit/UITextCursorView.h>
+#import <UIKit/UITextSelectionHandleView.h>
+#import <UIKit/UITextSelectionHighlightView.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class UITextSelectionDisplayInteraction;
+
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@protocol UITextSelectionDisplayInteractionDelegate <NSObject>
+
+@optional
+/// If different than the view that the interaction is installed onto, one can return a container view here for
+/// selection views that draw _below_ text. Includes selection highlight view, etc. The default is assumed
+/// that all views are to be installed onto the interaction's view.
+- (nullable UIView *)selectionContainerViewBelowTextForSelectionDisplayInteraction:(UITextSelectionDisplayInteraction *)interaction;
+
+@end
+
+/// @class @c UITextSelectionDisplayInteraction
+/// @abstract Manages a collection of selection views (cursor, highlight, range adjustment) for a particular UITextInput object.
+/// @discussion This is the component that @c UITextInteraction generally talks to in order to accomplish all selection display
+/// using a collection of "managed subviews", i.e., selection view components that actually manage the display of the selection
+/// and the various affordances for changing the selection.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@interface UITextSelectionDisplayInteraction : NSObject <UIInteraction>
+
+/// Controls both the hidden sate of contained selection views as well as interactions that follow.
+@property (nonatomic, readwrite, assign, getter=isActivated) BOOL activated;
+
+/// The object the selection is being managed for.
+@property (nonatomic, weak, readonly) id<UITextInput> textInput;
+
+/// See @c UITextSelectionDisplayInteractionDelegate.
+@property (nonatomic, weak, readonly) id<UITextSelectionDisplayInteractionDelegate> delegate;
+
+/// The cursor view (also known as "caret" view). Shown when the selection is not ranged.
+@property (nonatomic, strong) UIView<UITextCursorView> *cursorView;
+
+/// The highlight view. This is the blue/tinted highlight drawn behind the rendered text.
+@property (nonatomic, strong) UIView<UITextSelectionHighlightView> *highlightView;
+
+/// @abstract The selection handles, shown adjacent to the highlight view's @c selectionRects when the selection is ranged.
+/// @discussion If you are replacing these system-provided handle views with your own, you must provide exactly two handle views, one to be used as the leading handle,
+/// and another to be used as the trailing handle.
+@property (nonatomic, strong) NSArray<UIView<UITextSelectionHandleView> *> *handleViews;
+
+/// Creates a UITextSelectionDisplayInteractionDelegate for a given object that implements the UITextInput protocol.
+/// `textInput` may be the same as the view this interaction is installed onto.
+- (instancetype)initWithTextInput:(id<UITextInput>)textInput
+ delegate:(id<UITextSelectionDisplayInteractionDelegate>)delegate
+ NS_DESIGNATED_INITIALIZER;
+
+/// Loads the selection from `-[UITextInput selectedTextRange]` and applies the selection to all managed subviews.
+- (void)layoutManagedSubviews;
+
+/// Call this whenever the selection changes, or needs to be re-laid out.
+- (void)setNeedsSelectionUpdate;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UITextSelectionDisplayInteraction.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHandleView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHandleView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHandleView.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHandleView.h 2023-05-23 03:09:20
@@ -0,0 +1,39 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextSelectionHandleView.h>)
+//
+// UITextSelectionHandleView.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitCore.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// @protocol UITextSelectionHandleView
+/// @abstract A view that represents a selection handle drawn at the edges of contiguous selection ranges.
+/// @discussion When a selection is ranged (i.e., length is > 0), and the device supports range adjustment via a gesture,
+/// selection handles ("lollipops") are displayed at the edges of the contiguous selection (usually a UITextSelectionHighlightView).
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@protocol UITextSelectionHandleView <UICoordinateSpace>
+
+/// Controls which direction the handle is oriented. For example, NSDirectionalRectEdgeLeading indicates the handle is on the leading
+/// edge, so the dot will be rendered on top.
+@property (nonatomic, assign) NSDirectionalRectEdge direction;
+
+/// Convenience accessor for @c direction calculations.
+@property (nonatomic, readonly, getter=isVertical) BOOL vertical;
+
+/// If applicable, a custom shape for the lollipop stem. Default is @c nil, which results in a rounded rect style based on bounds.
+@property (nonatomic, nullable, strong) UIBezierPath *customShape;
+
+/// Provides a preferred frame given @c rect based on the current appearance configuration.
+- (CGRect)preferredFrameForRect:(CGRect)rect;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITextSelectionHandleView.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHighlightView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHighlightView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHighlightView.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionHighlightView.h 2023-05-23 03:09:17
@@ -0,0 +1,29 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UITextSelectionHighlightView.h>)
+//
+// UITextSelectionHighlightView.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitCore.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// @protocol UITextSelectionHighlightView
+/// @abstract A view that displays a tinted highlight behind rendered text to indicate selection.
+/// @discussion When a selection is ranged (i.e., length is > 0), a highlight view is shown to indicate the selected text range.
+UIKIT_EXTERN API_AVAILABLE(ios(17.0)) NS_SWIFT_UI_ACTOR
+@protocol UITextSelectionHighlightView <UICoordinateSpace>
+
+/// A collection of @c UITextSelectionRects representing the geometry of the current selection. Rects are expected to be in the
+/// receiver's coordinate space.
+@property (nonatomic, strong) NSArray<UITextSelectionRect *> *selectionRects;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UITextSelectionHighlightView.h>
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h 2023-03-09 19:14:40
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h 2023-05-31 00:47:43
@@ -19,12 +19,13 @@
#import <UIKit/UIDataDetectors.h>
#import <UIKit/UITextItemInteraction.h>
#import <UIKit/UIContentSizeCategoryAdjusting.h>
+#import <UIKit/UILetterformAwareAdjusting.h>
#import <UIKit/UITextPasteConfigurationSupporting.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-@class UIFindInteraction, UIFont, UIColor, UIMenu, UIMenuElement, UITextView, NSTextContainer, NSTextLayoutManager, NSLayoutManager, NSTextStorage, NSTextAttachment;
-@protocol UIEditMenuInteractionAnimating;
+@class UIFindInteraction, UIFont, UIColor, UIMenu, UIMenuElement, UITextView, NSTextContainer, NSTextLayoutManager, NSLayoutManager, NSTextStorage, NSTextAttachment, UITextItem, UITextItemMenuConfiguration;
+@protocol UIEditMenuInteractionAnimating, UIContextMenuInteractionAnimating;
NS_SWIFT_UI_ACTOR
@protocol UITextViewDelegate <NSObject, UIScrollViewDelegate>
@@ -42,12 +43,6 @@
- (void)textViewDidChangeSelection:(UITextView *)textView;
-- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_AVAILABLE(ios(10.0));
-- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_AVAILABLE(ios(10.0));
-
-- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithURL:inRange:interaction:", ios(7.0, 10.0));
-- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithTextAttachment:inRange:interaction:", ios(7.0, 10.0));
-
/**
* @abstract Asks the delegate for the menu to be shown for the specified text range.
*
@@ -75,10 +70,67 @@
*/
- (void)textView:(UITextView *)textView willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)animator API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+/**
+ * Asks the delegate for the action to be performed when interacting with a text item. If a nil action is provided, the text view
+ * will request a menu to be presented on primary action if possible.
+ *
+ * @param textView The text view requesting the primary action.
+ * @param textItem The text item for performing said action.
+ * @param defaultAction The default action for the text item. Return this to perform the default action.
+ *
+ * @return Return a UIAction to be performed when the text item is interacted with. Return @c nil to prevent the action from being performed.
+ */
+- (nullable UIAction *)textView:(UITextView *)textView primaryActionForTextItem:(UITextItem *)textItem defaultAction:(UIAction *)defaultAction API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
+
+/**
+ * Asks the delegate for the menu configuration to be performed when interacting with a text item.
+ *
+ * @param textView The text view requesting the menu.
+ * @param textItem The text item for performing said action.
+ * @param defaultMenu The default menu for the specified text item.
+ *
+ * @return Return a menu configuration to be presented when the text item is interacted with. Return @c nil to prevent the menu from being presented.
+ */
+- (nullable UITextItemMenuConfiguration *)textView:(UITextView *)textView menuConfigurationForTextItem:(UITextItem *)textItem defaultMenu:(UIMenu *)defaultMenu API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
+
+/**
+ * Informs the delegate that a text item menu is about to be presented with the specified animator.
+ *
+ * @param textView The text view showing the menu.
+ * @param textItem The text item for performing said action.
+ * @param animator Appearance animator. Add animations to this object to run them alongside the appearance transition.
+ */
+- (void)textView:(UITextView *)textView textItemMenuWillDisplayForTextItem:(UITextItem *)textItem animator:(id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
+
+/**
+ * Informs the delegate that a text item menu is about to be dismissed with the specified animator.
+ *
+ * @param textView The text view showing the menu.
+ * @param textItem The text item for performing said action.
+ * @param animator Dismissal animator. Add animations to this object to run them alongside the dismissal transition.
+ */
+- (void)textView:(UITextView *)textView textItemMenuWillEndForTextItem:(UITextItem *)textItem animator:(id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos, tvos);
+
+
+- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), xros(1.0, 1.0));
+- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_DEPRECATED("Replaced by primaryActionForTextItem: and menuConfigurationForTextItem: for additional customization options.", ios(10.0, 17.0), xros(1.0, 1.0));
+
+- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithURL:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(xros);
+- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange API_DEPRECATED_WITH_REPLACEMENT("textView:shouldInteractWithTextAttachment:inRange:interaction:", ios(7.0, 10.0)) API_UNAVAILABLE(xros);
+
@end
+/// The type of border around the text view.
+typedef NS_ENUM(NSInteger, UITextViewBorderStyle) {
+ /// The text view does not display a border.
+ UITextViewBorderStyleNone,
+
+ /// Displays a rounded-style border for the text view.
+ UITextViewBorderStyleRoundedRect API_AVAILABLE(xros(1.0)),
+} API_AVAILABLE(ios(17.0), xros(1.0));
+
UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
-@interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting>
+@interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
@property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
@@ -88,7 +140,9 @@
@property(nonatomic) NSTextAlignment textAlignment; // default is NSLeftTextAlignment
@property(nonatomic) NSRange selectedRange;
@property(nonatomic,getter=isEditable) BOOL editable API_UNAVAILABLE(tvos);
-@property(nonatomic,getter=isSelectable) BOOL selectable API_AVAILABLE(ios(7.0)); // 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.
+// 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
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status