-
Notifications
You must be signed in to change notification settings - Fork 515
UIKit tvOS xcode13.0 beta1
Alex Soto edited this page Sep 13, 2021
·
3 revisions
#UIKit.framework https://github.com/xamarin/xamarin-macios/pull/12706
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2021-03-16 08:48:19.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2021-06-02 05:38:40.000000000 -0400
@@ -194,11 +194,12 @@
static const NSUnderlineStyle NSUnderlinePatternDashDotDot = NSUnderlineStylePatternDashDotDot;
static const NSUnderlineStyle NSUnderlineByWord = NSUnderlineStyleByWord;
-
+#if TARGET_OS_IPHONE
typedef NS_ENUM(NSInteger, NSTextWritingDirection) {
NSTextWritingDirectionEmbedding = (0 << 1),
NSTextWritingDirectionOverride = (1 << 1)
} API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionFormatType", ios(7.0, 9.0)) 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);
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2021-06-02 05:36:09.000000000 -0400
@@ -32,7 +32,7 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@protocol UIItemProviderPresentationSizeProviding <NSObject>
// Implement this on an object which conforms to the NSItemProviderWriting protocol.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h 2021-03-16 08:48:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h 2021-06-02 05:38:34.000000000 -0400
@@ -28,7 +28,7 @@
The -constraint* methods are available in multiple flavors to support use of different relations and omission of unused options.
*/
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
@interface NSLayoutAnchor<AnchorType> : NSObject
// NSLayoutAnchor conforms to <NSCopying> and <NSCoding> on macOS 10.12, iOS 10, and tvOS 10
#if (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || \
@@ -58,7 +58,7 @@
// Axis-specific subclasses for location anchors: top/bottom, leading/trailing, baseline, etc.
@class NSLayoutXAxisAnchor, NSLayoutYAxisAnchor, NSLayoutDimension;
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
@interface NSLayoutXAxisAnchor : NSLayoutAnchor<NSLayoutXAxisAnchor *>
// A composite anchor for creating constraints relating horizontal distances between locations.
@@ -66,7 +66,7 @@
@end
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
@interface NSLayoutYAxisAnchor : NSLayoutAnchor<NSLayoutYAxisAnchor *>
// A composite anchor for creating constraints relating vertical distances between locations.
@@ -75,7 +75,7 @@
@end
// This layout anchor subclass is used for sizes (width & height).
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
@interface NSLayoutDimension : NSLayoutAnchor<NSLayoutDimension *>
// These methods return an inactive constraint of the form thisVariable = constant.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h 2021-06-02 12:47:51.000000000 -0400
@@ -120,7 +120,7 @@
#endif
};
-NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0))
+NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) NS_SWIFT_UI_ACTOR
@interface NSLayoutConstraint : NSObject
/* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
@@ -204,6 +204,8 @@
factory methods.
*/
@class NSLayoutYAxisAnchor, NSLayoutDimension;
+
+NS_SWIFT_UI_ACTOR
@protocol UILayoutSupport <NSObject>
@property(nonatomic,readonly) CGFloat length; // As a courtesy when not using auto layout, this value is safe to refer to in -viewDidLayoutSubviews, or in -layoutSubviews after calling super
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2021-03-16 08:45:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2021-06-02 05:35:52.000000000 -0400
@@ -49,7 +49,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) @interface NSLayoutManager : NSObject <NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+@interface NSLayoutManager : NSObject <NSSecureCoding>
/**************************** Initialization ****************************/
@@ -352,12 +353,12 @@
/************************ Deprecated ************************/
enum {
- NSControlCharacterZeroAdvancementAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionZeroAdvancement instead") = NSControlCharacterActionZeroAdvancement,
- NSControlCharacterWhitespaceAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionWhitespace instead") = NSControlCharacterActionWhitespace,
- NSControlCharacterHorizontalTabAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionHorizontalTab instead") = NSControlCharacterActionHorizontalTab,
- NSControlCharacterLineBreakAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionLineBreak instead") = NSControlCharacterActionLineBreak,
- NSControlCharacterParagraphBreakAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionParagraphBreak instead") = NSControlCharacterActionParagraphBreak,
- NSControlCharacterContainerBreakAction NS_ENUM_DEPRECATED_IOS(7_0, 9_0, "Use NSControlCharacterActionContainerBreak instead") = NSControlCharacterActionContainerBreak
+ 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
};
@interface NSLayoutManager (NSLayoutManagerDeprecated)
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2021-03-16 05:18:44.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2021-06-02 12:44:57.000000000 -0400
@@ -12,7 +12,11 @@
#import <UIKit/UIKitDefines.h>
#import <UIKit/NSText.h>
+#ifndef FALL_2021_NEW_API_TRANSITION
+#define FALL_2021_NEW_API_TRANSITION 1
+#endif
+#if TARGET_OS_IPHONE
NS_ASSUME_NONNULL_BEGIN
#if !__NSPARAGRAPH_STYLE_SHARED_SECTION__
@@ -45,7 +49,8 @@
typedef NSString * NSTextTabOptionKey NS_TYPED_ENUM;
UIKIT_EXTERN NSTextTabOptionKey const NSTabColumnTerminatorsAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // An attribute for NSTextTab options. The value is NSCharacterSet. The character set is used to determine the tab column terminating character. The tab and newline characters are implied even if not included in the character set.
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) @interface NSTextTab : NSObject <NSCopying, NSCoding, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+@interface NSTextTab : NSObject <NSCopying, NSCoding, NSSecureCoding>
+ (NSCharacterSet *)columnTerminatorsForLocale:(nullable NSLocale *)aLocale API_AVAILABLE(macos(10.11), ios(7.0)); // Returns the column terminators for locale. Passing nil returns an instance corresponding to +[NSLocale systemLocale]. For matching user's formatting preferences, pass +[NSLocale currentLocale]. Can be used as the value for NSTabColumnTerminatorsAttributeName to make a decimal tab stop.
@@ -59,7 +64,8 @@
// NSParagraphStyle
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0)) @interface NSParagraphStyle : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0))
+@interface NSParagraphStyle : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
@property (class, readonly, copy, NS_NONATOMIC_IOSONLY) NSParagraphStyle *defaultParagraphStyle; // This class property returns a shared and cached NSParagraphStyle instance with the default style settings, with same value as the result of [[NSParagraphStyle alloc] init].
@@ -88,6 +94,9 @@
// Specifies the threshold for hyphenation. Valid values lie between 0.0 and 1.0 inclusive. Hyphenation will be attempted when the ratio of the text width as broken without hyphenation to the width of the line fragment is less than the hyphenation factor. When this takes on its default value of 0.0, the layout manager's hyphenation factor is used instead. When both are 0.0, hyphenation is disabled.
@property (readonly, NS_NONATOMIC_IOSONLY) float hyphenationFactor;
+// A property controlling the hyphenation behavior for the paragraph associated with the paragraph style. The exact hyphenation logic is dynamically determined by the layout context such as language, platform, etc. When YES, it affects the return value from -hyphenationFactor when the property is set to 0.0.
+@property (readonly, NS_NONATOMIC_IOSONLY) BOOL usesDefaultHyphenation API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
+
@property (readonly,copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextTab *> *tabStops API_AVAILABLE(macos(10.0), ios(7.0)); // An array of NSTextTabs. Contents should be ordered by location. The default value is an array of 12 left-aligned tabs at 28pt interval
@property (readonly, NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval API_AVAILABLE(macos(10.0), ios(7.0)); // The default tab interval used for locations beyond the last element in tabStops
@@ -98,7 +107,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0)) @interface NSMutableParagraphStyle : NSParagraphStyle
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0))
+@interface NSMutableParagraphStyle : NSParagraphStyle
@property (NS_NONATOMIC_IOSONLY) CGFloat lineSpacing;
@property (NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacing;
@@ -113,6 +123,7 @@
@property (NS_NONATOMIC_IOSONLY) CGFloat lineHeightMultiple;
@property (NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacingBefore;
@property (NS_NONATOMIC_IOSONLY) float hyphenationFactor;
+@property (readwrite, NS_NONATOMIC_IOSONLY) BOOL usesDefaultHyphenation API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
@property (null_resettable, copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextTab *> *tabStops API_AVAILABLE(macos(10.0), ios(7.0));
@property (NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval API_AVAILABLE(macos(10.0), ios(7.0));
@property (NS_NONATOMIC_IOSONLY) BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0));
@@ -125,8 +136,10 @@
@end
-
NS_ASSUME_NONNULL_END
+#elif TARGET_OS_OSX
+#import <AppKit/NSParagraphStyle.h>
+#endif
#else
#import <UIKitCore/NSParagraphStyle.h>
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2021-06-02 05:35:57.000000000 -0400
@@ -17,7 +17,8 @@
To set a shadow on an NSAttributedString use it as a value for NSShadowAttributeName.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface NSShadow : NSObject <NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(6.0))
+@interface NSShadow : NSObject <NSCopying, NSSecureCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2021-03-16 13:59:21.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2021-06-02 07:36:14.000000000 -0400
@@ -17,7 +17,8 @@
// When attributes=nil, the methods declared here uses the default behavior for each attribute described in <UIKit/NSAttributedString.h>. When stringDrawingContext=nil, it's equivalent of passing the default instance initialized with [[NSStringDrawingContext alloc] init].
-UIKIT_EXTERN API_AVAILABLE(macos(10.11), ios(6.0)) @interface NSStringDrawingContext : NSObject
+UIKIT_EXTERN API_AVAILABLE(macos(10.11), ios(6.0))
+@interface NSStringDrawingContext : NSObject
// Minimum scale factor for drawWithRect:options:context: and boundingRectWithSize:options:context: methods. If this property is set, the extended string drawing methods will attempt to draw the attributed string in the given bounds by proportionally scaling the font(s) in the attributed string
@property (NS_NONATOMIC_IOSONLY) CGFloat minimumScaleFactor;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2021-06-02 05:36:08.000000000 -0400
@@ -7,6 +7,7 @@
//
#import <Foundation/Foundation.h>
+#if TARGET_OS_IPHONE
#if __has_include(<CoreText/CTParagraphStyle.h>)
#import <CoreText/CTParagraphStyle.h>
#endif
@@ -45,6 +46,9 @@
#endif
NS_ASSUME_NONNULL_END
+#elif TARGET_OS_OSX
+#import <AppKit/NSText.h>
+#endif
#else
#import <UIKitCore/NSText.h>
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2021-06-02 11:08:54.000000000 -0400
@@ -7,6 +7,7 @@
//
#import <Foundation/NSObject.h>
+#import <Foundation/NSAttributedString.h>
#import <UIKit/UIKitDefines.h>
#import <CoreGraphics/CGGeometry.h>
@@ -18,6 +19,7 @@
@class NSTextContainer;
@class NSLayoutManager;
+@class NSFileWrapper;
@class UIImage;
@@ -36,7 +38,8 @@
#endif
@end
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) @interface NSTextAttachment : NSObject <NSTextAttachmentContainer, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+@interface NSTextAttachment : NSObject <NSTextAttachmentContainer, NSSecureCoding>
/**************************** Initialization ****************************/
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2021-03-16 08:48:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2021-06-02 12:44:47.000000000 -0400
@@ -11,11 +11,17 @@
#import <UIKit/UIKitDefines.h>
#import <UIKit/NSLayoutManager.h>
+#ifndef FALL_2021_NEW_API_TRANSITION
+#define FALL_2021_NEW_API_TRANSITION 1
+#endif
+
@class UIBezierPath;
+@class NSTextLayoutManager;
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+@interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
/**************************** Initialization ****************************/
@@ -32,6 +38,8 @@
// This method should be used instead of the primitive -setLayoutManager: if you need to replace a container's layoutManager with a new one leaving the rest of the web intact. All the NSTextContainers on the old NSLayoutManager get transferred to the new one. This method deals with all the work of making sure the containers don't get deallocated and removing the old layoutManager from the text storage and replacing it with the new one.
- (void)replaceLayoutManager:(NSLayoutManager *)newLayoutManager API_AVAILABLE(macos(10.0), ios(9.0));
+// Returns NSTextLayoutManager owning the text container. When non-nil, -layoutManager should be nil.
+@property (weak, nullable, readonly, NS_NONATOMIC_IOSONLY) NSTextLayoutManager *textLayoutManager API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/************************* Container shape properties *************************/
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 2021-06-02 05:36:10.000000000 -0400
@@ -0,0 +1,148 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextContentManager.h>)
+//
+// NSTextContentManager.h
+// Text Kit
+//
+// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSArray.h>
+#import <Foundation/NSNotification.h>
+#import <UIKit/UIKitDefines.h>
+
+@class NSTextRange;
+@class NSTextElement;
+@class NSTextParagraph;
+@class NSTextLayoutManager;
+@class NSTextStorage;
+@class NSTextContentStorage;
+@protocol NSTextLocation;
+@protocol NSTextContentManagerDelegate;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark NSTextElementProvider
+typedef NS_OPTIONS(NSUInteger, NSTextElementProviderEnumerationOptions) {
+ NSTextElementProviderEnumerationOptionsNone = 0,
+ NSTextElementProviderEnumerationOptionsReverse = (1 << 0)
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+// NSTextElementProvider is a protocol conformed by NSTextContentManager and its concrete subclasses. It defines the base interface for interacting with a custom text document content type.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextElementProvider <NSObject>
+// Declares the starting and ending locations for the document. The subclass could use its own implementation of a location object conforming to NSTextRange.
+@property (strong, readonly) NSTextRange *documentRange;
+
+// Enumerates the text elements starting at textLocation. If textLocation=nil, it assumes self.documentRange.location for forward enumeration; uses self.documentRange.endLocation for reverse enumeration. When enumerating backward, it starts with the element preceding the one containing textLocation. If enumerated at least one element, it returns the edge of the enumerated range. Note that the enumerated range might not match the range of the last element returned. It enumerates the elements in the sequence, but it can skip a range (it can limit the maximum number of text elements enumerated for a single invocation or hide some elements from the layout). Returning NO from block breaks out of the enumeration.
+- (nullable id <NSTextLocation>)enumerateTextElementsFromLocation:(nullable id <NSTextLocation>)textLocation options:(NSTextElementProviderEnumerationOptions)options usingBlock:(BOOL (NS_NOESCAPE ^)(NSTextElement *element))block;
+
+// Replaces the characters specified by range with textElements. If the edges of range is not at existing element range boundaries, it either split the element if it allows the operation (i.e. NSTextParagraph) or adjust the replacement range. This method is intended to be used only by NSTextLayoutManager.
+- (void)replaceContentsInRange:(NSTextRange *)range withTextElements:(nullable NSArray<NSTextElement *> *)textElements;
+
+// Synchronizes changes to the backing store. If completionHandler=nil, performs the operation synchronously. Returns YES succeeded to synchronizes or start the operation asynchronously. completionHandler gets passed error if failed. It should block (or fail if synchronous) when there is an active transaction.
+- (BOOL)synchronizeToBackingStore:(nullable void (^)(NSError * _Nullable error))completionHandler;
+
+// Returns a new location from location with offset. The offset value could be positive or negative indicating the logical direction. Could return nil when the inputs don't produce any legal location (i.e. out of bounds index).
+- (nullable id <NSTextLocation>)locationFromLocation:(id <NSTextLocation>)location withOffset:(NSInteger)offset;
+
+// Returns the offset between from and to. The return value could be positive or negative. Could return NSNotFound when the offset cannot be represented in an integer value (i.e. locations are not in the same document).
+- (NSInteger)offsetFromLocation:(id <NSTextLocation>)from toLocation:(id <NSTextLocation>)to;
+
+@optional
+// Should be implemented if the location backing store requires manual adjustment after editing. When textRange is intersecting or following the current edited range, the method returns the range adjusted for the modification in the editing session. Returns nil, when no adjustment necessary. inEditingTextSelection indicates if textRange is for the text selection associated with the edit session.
+- (nullable NSTextRange *)adjustedRangeFromRange:(NSTextRange *)textRange inEditingTextSelection:(BOOL)inEditingTextSelection;
+@end
+
+#pragma mark NSTextContentManager
+// NSTextContentManager is an abstract class defining the interface for managing the text document contents and the default implementation. The concrete subclass overrides NSTextElementProvider for managing the content backing store. It is the root object strongly referencing the rest of objects in the TextKit network via an array of NSTextLayoutManager. Also, it manages the editing transaction by tracking the active NSTextLayoutManager focused to be editing.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextContentManager : NSObject <NSTextElementProvider, NSSecureCoding>
+#pragma mark Initialization
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+#pragma mark Basic properties
+@property (weak, nullable) id <NSTextContentManagerDelegate> delegate;
+
+#pragma mark NSTextLayoutManager management
+// An array of NSTextLayoutManager. KVO-compliant
+@property (copy, readonly) NSArray<NSTextLayoutManager *> *textLayoutManagers;
+
+- (void)addTextLayoutManager:(NSTextLayoutManager *)textLayoutManager;
+- (void)removeTextLayoutManager:(NSTextLayoutManager *)textLayoutManager;
+
+// The primary NSTextLayoutManager interacting with the user allowing to edit. Setting an NSTextLayoutManager not in textLayoutManagers will reset to nil. It automatically synchronizes pending edits before switching to a new primary object. The operation is synchronous. KVO-compliant
+@property (nullable, strong) NSTextLayoutManager *primaryTextLayoutManager;
+
+// Synchronizes changes to all non-primary text layout managers. If completionHandler=nil, performs the operation synchronously. Returns YES succeeded to synchronizes or start the operation asynchronously. completionHandler gets passed error if failed. It should block (or fail if synchronous) when there is an active transaction.
+- (BOOL)synchronizeTextLayoutManagers:(nullable void (^)(NSError * _Nullable error))completionHandler;
+
+#pragma mark Element access
+// Returns an array of NSTextElement intersecting the specified range in sequence. It can return a set of elements not filling the entire range specified if the entire range is not synchronously available. Uses -enumerateTextElementsFromLocation:options:usingBlocK: to fill the array.
+- (NSArray<NSTextElement *> *)textElementsForRange:(NSTextRange *)range;
+
+#pragma mark Transaction
+// When YES, there is an active editing transaction from primaryTextLayoutManager. the synchronization operations to non-primary text layout managers and the backing store block (or fails when synchronous) while this property is YES. Non-primary text layout managers should avoid accessing the elements while this is YES. KVO-compliant
+@property (readonly) BOOL hasEditingTransaction;
+
+// Invoked by primaryTextLayoutManager controlling the active editing transaction. Can be nested. The outer most transaction toggles hasEditingTransaction and sends synchronization messages if enabled after invoking transaction.
+- (void)performEditingTransactionWithBlock:(void (NS_NOESCAPE ^) (void))transaction;
+
+// Records information about an edit action to the transaction. originalTextRange is the range edited before the action, and newTextRange is the corresponding range after the action. The concrete subclass should invoke this method for each edit action.
+- (void)recordEditActionInRange:(NSTextRange *)originalTextRange newTextRange:(NSTextRange *)newTextRange;
+
+// Automatically synchronizes all text layout managers when hasEditingTransaction becoming NO. YES by default.
+@property BOOL synchronizesTextLayoutManagersAutomatically;
+
+// Automatically synchronizes the backing store when hasEditingTransaction becoming NO. NO by default.
+@property BOOL synchronizesToBackingStoreAutomatically;
+@end
+
+#pragma mark NSTextContentManagerDelegate
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextContentManagerDelegate <NSObject>
+@optional
+// Returns a custom element for location. When non-nil, textContentManager uses the element instead of creating based on its standard mapping logic.
+- (nullable NSTextElement *)textContentManager:(NSTextContentManager *)textContentManager textElementAtLocation:(id <NSTextLocation>)location;
+
+// Gives delegate a chance to validate textElement right before block() invocation with -enumerateTextElementsFromLocation:options:usingBlock:. Returning NO indicates textElement to be skipped from the enumeration.
+- (BOOL)textContentManager:(NSTextContentManager *)textContentManager shouldEnumerateTextElement:(NSTextElement *)textElement withOptions:(NSTextElementProviderEnumerationOptions)options;
+@end
+
+#pragma mark NSTextContentStorageDelegate
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextContentStorageDelegate <NSTextContentManagerDelegate>
+@optional
+// Returns a custom NSTextParagraph for range in NSTextContentStorage.attributedString. When non-nil, textContentStorage uses the text paragraph instead of creating the standard NSTextParagraph with the attributed substring in range. The attributed string for a custom text paragraph must have range.length.
+- (nullable NSTextParagraph *)textContentStorage:(NSTextContentStorage *)textContentManager textParagraphWithRange:(NSRange)aRange;
+@end
+
+#pragma mark NSTextContentStorage
+// NSTextContentStorage is a concrete subclass of NSTextContentManager providing support for NSAttributedString backing-store. It also implements NSTextStorageObserving participating as a client of NSTextStorage. The facility only supports a single NSTextContentStorage associated with a text storage. When -textStorage!=nil, -attributedString is ignored. By default, NSTextContentStorage is initialized with NSTextStorage as the backing-store.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextContentStorage : NSTextContentManager
+#pragma mark Basic properties
+@property (weak, nullable) id <NSTextContentStorageDelegate> delegate;
+
+#pragma mark Document contents
+// The document contents. KVO-compliant
+@property (nullable, copy) NSAttributedString *attributedString;
+
+// Support for NSTextStorage-based clients. Changing this property also resets attributedString.
+@property (nullable, strong) NSTextStorage *textStorage;
+
+#pragma mark NSAttributedString utils
+// Returns a new attributed string for textElement. Returns if textElement cannot be mapped to NSAttributedString.
+- (nullable NSAttributedString *)attributedStringForTextElement:(NSTextElement *)textElement;
+
+// Returns NSTextElement corresponding to attributedString. Returns nil when attributedString contains attributes not mappable to NSTextElement.
+- (nullable NSTextElement *)textElementForAttributedString:(NSAttributedString *)attributedString;
+@end
+
+// Posted by NSTextContentStorage when a text attribute unsupported by NSTextContentStorage is added to the underlying text storage.
+UIKIT_EXTERN NSNotificationName NSTextContentStorageUnsupportedAttributeAddedNotification API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextContentManager.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 2021-06-02 05:35:54.000000000 -0400
@@ -0,0 +1,48 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextElement.h>)
+//
+// NSTextElement.h
+// Text Kit
+//
+// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+//
+
+
+#import <Foundation/NSObject.h>
+
+@class NSTextRange;
+@class NSTextContentManager;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// NSTextElement is an abstract base class for representing the smallest text layout unit typically paragraphs, tables, or attachments. A text element is associated with an NSTextContentManager.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextElement : NSObject
+#pragma mark Initialization
+- (instancetype)initWithTextContentManager:(nullable NSTextContentManager *)textContentManager NS_DESIGNATED_INITIALIZER;
+
+#pragma mark Properties
+// Returns the owner NSTextContentManager. A text element can migrate between text content managers.
+@property (nullable, weak) NSTextContentManager *textContentManager;
+
+// Represents the range of the element inside the document.
+@property (nullable, strong) NSTextRange *elementRange;
+@end
+
+#pragma mark NSTextParagraph
+// NSTextParagraph represents a single paragraph backed by NSAttributedString as the contents.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextParagraph : NSTextElement
+#pragma mark Initialization
+- (instancetype)initWithAttributedString:(nullable NSAttributedString *)attributedString NS_DESIGNATED_INITIALIZER;
+
+#pragma mark Contents
+@property (copy, readonly) NSAttributedString *attributedString;
+
+// The paragraph ranges are derived from elementRange and attributedString.
+@property (nullable, strong, readonly) NSTextRange *paragraphContentRange;
+@property (nullable, strong, readonly) NSTextRange *paragraphSeparatorRange;
+@end
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextElement.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2021-06-02 12:47:45.000000000 -0400
@@ -0,0 +1,92 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextLayoutFragment.h>)
+//
+// NSTextLayoutFragment.h
+// Text Kit
+//
+// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSArray.h>
+#import <CoreGraphics/CoreGraphics.h>
+
+@class NSTextLayoutManager;
+@class NSTextElement;
+@class NSTextRange;
+@class NSTextParagraph;
+@class NSTextLineFragment;
+@class NSOperationQueue;
+@class NSTextAttachmentViewProvider;
+@protocol NSTextLocation;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// NSTextLayoutFragment represents the layout fragment typically corresponding to a rendering surface such as CALayer or UIView/NSView subclasses.
+
+typedef NS_OPTIONS(NSInteger, NSTextLayoutFragmentEnumerationOptions) {
+ NSTextLayoutFragmentEnumerationOptionsNone = 0,
+ NSTextLayoutFragmentEnumerationOptionsReverse = (1 << 0),
+ NSTextLayoutFragmentEnumerationOptionsEstimatesSize = (1 << 1), // When enumerating, the layout fragments will be asked to estimate their size.
+ NSTextLayoutFragmentEnumerationOptionsEnsuresLayout = (1 << 2), // When enumerating, the layout fragments will be asked to layout.
+ NSTextLayoutFragmentEnumerationOptionsEnsuresExtraLineFragment = (1 << 3), // It synthesizes the extra line fragment when necessary.
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_ENUM(NSUInteger, NSTextLayoutFragmentState) {
+ NSTextLayoutFragmentStateNone = 0, // No layout information
+ NSTextLayoutFragmentStateEstimatedUsageBounds = 1, // When associated with NSTextLayoutManager, filled with an estimated rect if no layout
+ NSTextLayoutFragmentStateCalculatedUsageBounds = 2, // layout fragment measurements available without textLineFragments
+ NSTextLayoutFragmentStateLayoutAvailable = 3 // textLineFragments and layout fragment measurements available
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextLayoutFragment : NSObject <NSSecureCoding>
+#pragma mark Initialization
+- (instancetype)initWithTextElement:(NSTextElement *)textElement range:(nullable NSTextRange *)rangeInElement NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+#pragma mark Properties
+@property (nullable, weak, readonly) NSTextLayoutManager *textLayoutManager;
+
+#pragma mark Contents
+// The parent text element
+@property (weak, readonly) NSTextElement *textElement;
+
+// range inside textElement relative to the document origin
+@property (strong, readonly) NSTextRange *rangeInElement;
+
+#pragma mark Layout
+// An array of NSTextLineFragments. Valid when NSTextLayoutFragmentStateLayoutAvailable. KVO-compliant
+@property (copy, readonly) NSArray<NSTextLineFragment *> *textLineFragments;
+
+// When non-nil, the layout operation is dispatched to the queue asynchronously.
+@property (nullable, strong) NSOperationQueue *layoutQueue;
+
+// The layout information state. KVO-compliant
+@property (readonly) NSTextLayoutFragmentState state;
+
+// Invalidates any layout information associated with the receiver
+- (void)invalidateLayout;
+
+#pragma mark Layout information
+// 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.
+@property (readonly) CGRect renderingSurfaceBounds;
+
+#pragma mark Rendering
+// Renders the visual representation of this element in the specified graphics context.
+- (void)drawAtPoint:(CGPoint)renderingOrigin context:(CGContextRef)ctx;
+
+#pragma mark Text attachments
+// Returns NSTextAttachmentViewProvider associated with the receiver. The property contents are only valid with NSTextLayoutFragmentStateLayoutAvailable.
+@property (copy, readonly) NSArray<NSTextAttachmentViewProvider *> *textAttachmentViewProviders;
+
+// Returns the frame in the text layout fragment coordinate system for the attachment at location. It returns CGRectZero if location is not with any attachment or the state is not NSTextLayoutFragmentStateLayoutAvailable.
+- (CGRect)frameForTextAttachmentAtLocation:(id <NSTextLocation>)location;
+@end
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextLayoutFragment.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 2021-06-02 12:47:42.000000000 -0400
@@ -0,0 +1,167 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextLayoutManager.h>)
+//
+// NSTextLayoutManager.h
+// Text Kit
+//
+// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+//
+
+
+#import <Foundation/NSString.h>
+#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/NSTextLayoutFragment.h>
+#import <UIKit/NSTextSelectionNavigation.h>
+
+@class NSTextRange;
+@class NSTextContentManager;
+@class NSTextElement;
+@class NSTextContainer;
+@class NSTextViewportLayoutController;
+@protocol NSTextLocation;
+@protocol NSTextLayoutManagerDelegate;
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, NSTextLayoutManagerSegmentType) {
+ NSTextLayoutManagerSegmentTypeStandard = 0, // The standard segment matching the typographic bounds of range.
+ NSTextLayoutManagerSegmentTypeSelection = 1, // The segment behavior suitable for the selection rendering. Extends the last segment in a line fragment to the trailing edge if continuing to the next line.
+ NSTextLayoutManagerSegmentTypeHighlight = 2, // The segment behavior suitable for highlighting.
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_OPTIONS(NSUInteger, NSTextLayoutManagerSegmentOptions) {
+ NSTextLayoutManagerSegmentOptionsNone = 0,
+ NSTextLayoutManagerSegmentOptionsRangeNotRequired = (1 << 0), // Does not allocate and pass to the enumerator
+ NSTextLayoutManagerSegmentOptionsRangeMiddleFragmentsExcluded = (1 << 1), // Only enumerates segments in the first and last line fragments.
+ NSTextLayoutManagerSegmentOptionsRangeHeadSegmentExtended = (1 << 2), // When specified, the segment is extended to the head edge
+ NSTextLayoutManagerSegmentOptionsRangeTailSegmentExtended = (1 << 3), // When specified, the segment is extended to the tail edge.
+ NSTextLayoutManagerSegmentOptionsRangeUpstreamAffinity = (1 << 4), // When specified, the segment is placed based on the upstream affinity for an empty range.
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+// NSTextLayoutManager is the center piece of the TextKit object network maintaining the layout geometry via an array of NSTextContainer and layout results with NSTextLayoutFragment associated with NSTextElement vended from the owner NSTextContentManager.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextLayoutManager : NSObject <NSSecureCoding, NSTextSelectionDataSource>
+#pragma mark Initialization
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+#pragma mark Basic properties
+@property (nullable, weak) id <NSTextLayoutManagerDelegate> delegate;
+
+// If YES, uses the leading as specified by the font. However, this is not appropriate for most UI text. YES by default.
+@property BOOL usesFontLeading;
+
+// When YES, enables internal security analysis for malicious inputs and activates defensive behaviors. By enabling this functionality, it's possible certain text such as a very long paragraph might result in unexpected layout. NO by default.
+@property BOOL limitsLayoutForSuspiciousContents;
+
+// When YES, NSTextLayoutManager will attempt to hyphenate when wrapping lines. May be overridden on a per-paragraph basis by the NSParagraphStyle's usesDefaultHyphenation. The receiver makes the best effort to decide the exact logic including the hyphenation factor based on the context. The default value is NO. Can be overridden by the preference key @"NSUsesDefaultHyphenation".
+@property BOOL usesHyphenation;
+
+#pragma mark NSTextContentManager interface
+// Pointing to the NSTextContentManager object strongly referencing the text layout manager.
+@property (nullable, weak, readonly) NSTextContentManager *textContentManager;
+
+// This method should be used in order to replace an NSTextContentManager with a new one, leaving all related objects intact. This method makes sure the NSTextLayoutManager doesn't get deallocated while migrating to the new manager.
+- (void)replaceTextContentManager:(NSTextContentManager *)textContentManager;
+
+#pragma mark NSTextContainer interface
+// The text container object providing geometric information for the layout destination. If isSimpleRectangularTextContainer=NO, NSTextLayoutManager always fill from the top instead of allowing non-contiguous layout support.
+@property (nullable, strong, readwrite) NSTextContainer *textContainer;
+
+// The usage bounds for textContainer. KVO-compliant. Views can observe this property in order to trigger a resize operation. For example, UIView/NSView should call setNeedsUpdateConstraints() when the usage bounds changes.
+@property (readonly) CGRect usageBoundsForTextContainer;
+
+#pragma mark Layout
+// Returns NSTextViewportLayoutController associated with textContainer.
+@property (readonly, strong) NSTextViewportLayoutController *textViewportLayoutController;
+
+// If non-nil, it performs layout in the specified queue until estimatedUsageBounds=NO.
+@property (nullable, strong) NSOperationQueue *layoutQueue;
+
+// Performs the layout for textRange.
+- (void)ensureLayoutForRange:(NSTextRange *)range;
+
+// Performs the layout for filling bounds inside the last text container.
+- (void)ensureLayoutForBounds:(CGRect)bounds;
+
+// Invalidates layout information for textRange
+- (void)invalidateLayoutForRange:(NSTextRange *)range;
+
+// Returns the text layout fragment containing position inside the coordinate system for textContainer.
+- (nullable NSTextLayoutFragment *)textLayoutFragmentForPosition:(CGPoint)position;
+
+// Returns the text layout fragment containing the document location, location.
+- (nullable NSTextLayoutFragment *)textLayoutFragmentForLocation:(id <NSTextLocation>)location;
+
+// Enumerates the text layout fragments starting at textLocation. If textLocation=nil, it assumes self.textContentManager.documentRange.location; uses self.documentRange.endLocation for reverse enumeration. When enumerating backward, it starts with the fragment preceding the one containing textLocation. If enumerated at least one fragment, it returns the edge of the enumerated range. Note that the enumerated range might not match the range of the last element returned. It enumerates the elements in the sequence, but it can skip a range (it can limit the maximum number of text elements enumerated for a single invocation or hide some elements from the layout). Returning NO from block breaks out of the enumeration.
+- (nullable id <NSTextLocation>)enumerateTextLayoutFragmentsFromLocation:(nullable id <NSTextLocation>)location options:(NSTextLayoutFragmentEnumerationOptions)options usingBlock:(BOOL (^)(NSTextLayoutFragment *layoutFragment))block;
+
+#pragma mark Text Selection
+// An array of NSTextSelections associated by the text layout manager. Each NSTextSelection represents an insertion point. The selection state is shared among all view ports connected to the text layout manager via text containers.
+@property (strong) NSArray<NSTextSelection *> *textSelections;
+
+// Returns an NSTextSelectionNavigation configured to have the text layout manager as NSTextSelectionDataSource
+@property (strong) NSTextSelectionNavigation *textSelectionNavigation;
+
+#pragma mark Rendering Attributes
+// Rendering attributes overrides the document text attributes stored in NSTextParagraphs supplied by NSTextContentManager. NSTextLayoutFragment associated with a text paragraph applies the overriding attributes before executing layout. Specifying NSNull to an attribute indicates removing it from the document attributes. Rendering attributes are invalidated upon re-layout of the text layout fragment that they belong to.
+
+// Enumerates the rendering attributes from location. It enumerates only ranges with rendering attributes specified. Returning NO from block breaks out of the enumeration.
+- (void)enumerateRenderingAttributesFromLocation:(id <NSTextLocation> )location reverse:(BOOL)reverse usingBlock:(BOOL (NS_NOESCAPE ^)(NSTextLayoutManager *textLayoutManager, NSDictionary<NSAttributedStringKey, id> *attributes, NSTextRange *textRange))block;
+
+// Sets the rendering attributes.
+- (void)setRenderingAttributes:(NSDictionary<NSAttributedStringKey, id> *)renderingAttributes forTextRange:(NSTextRange *)textRange;
+
+// Sets the rendering attribute. Passing nil value indicates overriding the specified attribute by removing from the final attributes passed to the layout and rendering engine. This is a convenience over -setRenderingAttributes:forTextRange:.
+- (void)addRenderingAttribute:(NSAttributedStringKey)renderingAttribute value:(nullable id)value forTextRange:(NSTextRange *)textRange;
+
+// Removes attribute from textRange. This is a convenience over -setRenderingAttributes:forTextRange:.
+- (void)removeRenderingAttribute:(NSAttributedStringKey)renderingAttribute forTextRange:(NSTextRange *)textRange;
+
+// Invalidates the rendering attributes in textRange. Enumerating rendering attributes will skip the invalidated range.
+- (void)invalidateRenderingAttributesForTextRange:(NSTextRange *)textRange;
+
+// A callback block invoked whenever NSTextLayoutManager needs to validate the rendering attributes for the range. The validator should use -setRenderingAttributes:forTextRange: to fill the rendering attributes appropriate for the range inside textLayoutFragment.
+@property (nullable, copy) void (^renderingAttributesValidator)(NSTextLayoutManager *textLayoutManager, NSTextLayoutFragment *textLayoutFragment);
+
+#pragma mark Link Attributes
+// The default set of attributes for rendering NSLinkAttributeName. The base NSTextLayoutManager class returns with NSUnderlineStyleSingle for NSUnderlineStyleAttributeName and the platform link color for NSForegroundColorAttributeName. The platform color for macOS is +linkColor. Other platforms uses +blueColor.
+@property (class, readonly) NSDictionary<NSAttributedStringKey, id> *linkRenderingAttributes;
+
+// Returns a dictionary of rendering attributes for rendering NSLinkAttributeName. Just as other rendering attributes, specifying NSNull removes the attribute from the final attributes used for rendering. It has priority over the general rendering attributes.
+- (NSDictionary<NSAttributedStringKey, id> *)renderingAttributesForLink:(id)link atLocation:(id <NSTextLocation>)location;
+
+#pragma mark Text Segments
+// Enumerates text segments of type in textRange. A text segment is both logically and visually contiguous portion of the text content inside a line fragment. It can be defined with a single text range. The segments are enumerated visually from left to right. Returning NO from block breaks out of the enumeration.
+- (void)enumerateTextSegmentsInRange:(NSTextRange *)textRange type:(NSTextLayoutManagerSegmentType)type options:(NSTextLayoutManagerSegmentOptions)options usingBlock:(BOOL (^)(NSTextRange * _Nullable textSegmentRange, CGRect textSegmentFrame, CGFloat baselinePosition, NSTextContainer *textContainer))block;
+
+#pragma mark Editing
+- (void)replaceContentsInRange:(NSTextRange *)range withTextElements:(NSArray<NSTextElement *> *)elements;
+- (void)replaceContentsInRange:(NSTextRange *)range withAttributedString:(NSAttributedString *)attributedString;
+@end
+
+#pragma mark NSTextLayoutManagerDelegate
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextLayoutManagerDelegate <NSObject>
+@optional
+// NSTextContainer management
+// Returns the next text container that will be added to textContainers. If this method returns nil, templateTextContainer will be consulted next.
+- (NSTextContainer *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager textContainerForLocation:(id <NSTextLocation>)location;
+
+// NSTextLayoutFragment management
+// Returns NSTextLayoutFragment for location in textElement. NSTextLayoutManagerDelegate could provide an NSTextLayoutFragment specialized for an NSTextElement subclass targeted for the rendering surface.
+- (NSTextLayoutFragment *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager textLayoutFragmentForLocation:(id <NSTextLocation>)location inTextElement:(NSTextElement *)textElement;
+
+// Layout behavior
+// Invoked while determining the soft line break point. When hyphenating=NO, NSTextLayoutManager tries to find the next line break opportunity before location. When hyphenating=YES, it is an auto-hyphenation point.
+- (BOOL)textLayoutManager:(NSTextLayoutManager *)textLayoutManager shouldBreakLineBeforeLocation:(id <NSTextLocation>)location hyphenating:(BOOL)hyphenating;
+
+// Rendering attributes
+// Returns a dictionary of rendering attributes for rendering NSLinkAttributeName. Just as other rendering attributes, specifying NSNull removes the attribute from the final attributes used for rendering. It has priority over the general rendering attributes.
+- (nullable NSDictionary<NSAttributedStringKey, id> *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager shouldUseRenderingAttributes:(NSDictionary<NSAttributedStringKey, id> *)renderingAttributes forLink:(id)link atLocation:(id <NSTextLocation>)location;
+
+@end
+
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextLayoutManager.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 2021-06-02 05:36:02.000000000 -0400
@@ -0,0 +1,57 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextLineFragment.h>)
+//
+// NSTextLineFragment.h
+// Text Kit
+//
+// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSArray.h>
+#import <Foundation/NSAttributedString.h>
+#import <CoreGraphics/CoreGraphics.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark NSTextLineFragment
+// NSTextLineFragment represents a single textual layout and rendering unit inside NSTextLayoutFragment.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextLineFragment : NSObject <NSSecureCoding>
+#pragma mark Initialization
+- (instancetype)initWithAttributedString:(NSAttributedString *)attributedString range:(NSRange)range NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)initWithString:(NSString *)string attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes range:(NSRange)range;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+#pragma mark Basic properties
+// The source attributed string
+@property (readonly, copy) NSAttributedString *attributedString;
+
+// The string range for the source attributed string corresponding to this line fragment
+@property (readonly) NSRange characterRange;
+
+#pragma mark Typographic bounds
+// The typographic bounds specifying the dimensions of the line fragment for laying out line fragments to each other. The origin value is offset from the beginning of the line fragment group belonging to the parent layout fragment.
+@property (readonly) CGRect typographicBounds;
+
+#pragma mark Rendering
+// Rendering origin for the left most glyph in the line fragment coordinate system
+@property (readonly) CGPoint glyphOrigin;
+
+// Renders the line fragment contents at the rendering origin. The origin can be specified as (NSMinX(typographicBounds) + glyphOrigin.x, NSMinY(typographicBounds) + glyphOrigin.y) relative to the line fragment group coordinate system
+- (void)drawAtPoint:(CGPoint)point context:(CGContextRef)context;
+
+#pragma mark Character and point mappings
+// The location of the character at the specified index. It is on the upstream edge of the glyph. It is in the coordinate system relative to the line fragment origin
+- (CGPoint)locationForCharacterAtIndex:(NSInteger)index;
+
+// The character index for point inside the line fragment coordinate system. The fraction of distance is from the upstream edge
+- (NSInteger)characterIndexForPoint:(CGPoint)point fractionOfDistanceThroughGlyph:(nullable CGFloat *)partialFraction;
+
+@end
+
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextLineFragment.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 2021-06-02 05:35:53.000000000 -0400
@@ -0,0 +1,59 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextRange.h>)
+//
+// NSTextRange.h
+// Text Kit
+//
+// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSObject.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark NSTextLocation
+// NSTextLocation represents an abstract location inside document contents. A concrete class conforming to the protocol should be associated with a particular document backing store type. The interpretation of a location in enumeration operations is depending on the logical direction. When enumerating forward, it should start with the item containing the location. The enumeration should start with an item preceding the location for reverse operations.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos) NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION
+@protocol NSTextLocation <NSObject>
+
+// Compares and returns the logical ordering to location
+- (NSComparisonResult)compare:(id <NSTextLocation>)location API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+@end
+
+#pragma mark NSTextRange
+// NSTextRange represents a contiguous range between two locations inside document contents. It consists of the starting location and terminating location. They are the two basic properties, location and endLocation, respectively. The terminating location, endLocation, is directly following the last location in the range. So, a location is contained in a range if (range.location <= location) && (location < range.endLocation).
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextRange : NSObject
+#pragma mark Initialization
+// Returns an empty range when endLocation=nil
+- (nullable instancetype)initWithLocation:(id <NSTextLocation>)location endLocation:(nullable id <NSTextLocation>)endLocation NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithLocation:(id <NSTextLocation>)aLocation;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+#pragma mark Basic properties
+// An empty range when location == endLocation
+@property (readonly, getter=isEmpty) BOOL empty;
+
+// Represented with the inclusive location and the exclusive endLocation
+@property (strong, readonly) id <NSTextLocation> location;
+@property (strong, readonly) id <NSTextLocation> endLocation;
+
+- (BOOL)isEqualToTextRange:(NSTextRange *)textRange;
+
+#pragma mark Basic operations
+- (BOOL)containsLocation:(id <NSTextLocation>)aLocation;
+- (BOOL)containsRange:(NSTextRange *)textRange;
+- (BOOL)intersectsWithTextRange:(NSTextRange *)textRange;
+
+#pragma mark Basic mutations
+// Returns nil when two ranges are not intersecting
+- (nullable instancetype)textRangeByIntersectingWithTextRange:(NSTextRange *)textRange;
+- (instancetype)textRangeByFormingUnionWithTextRange:(NSTextRange *)textRange;
+@end
+
+
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextRange.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 2021-06-02 05:38:36.000000000 -0400
@@ -0,0 +1,83 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextSelection.h>)
+//
+// NSTextSelection.h
+// Text Kit
+//
+// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSAttributedString.h>
+#import <CoreGraphics/CGGeometry.h>
+
+@class NSTextRange;
+@protocol NSTextLocation;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// NSTextSelection represents a single logical selection context corresponding to an insertion point.
+#pragma mark NSTextSelection
+
+typedef NS_ENUM(NSInteger, NSTextSelectionGranularity) {
+ NSTextSelectionGranularityCharacter,
+ NSTextSelectionGranularityWord,
+ NSTextSelectionGranularityParagraph,
+ NSTextSelectionGranularityLine,
+ NSTextSelectionGranularitySentence
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_ENUM(NSInteger, NSTextSelectionAffinity) {
+ NSTextSelectionAffinityUpstream = 0,
+ NSTextSelectionAffinityDownstream = 1
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextSelection : NSObject <NSSecureCoding>
+#pragma mark Initialization
+// textRanges should be ordered and not overlapping. Otherwise, textRanges would get normalized by reordered and merging overlapping ranges.
+- (instancetype)initWithRanges:(NSArray<NSTextRange *> *)textRanges affinity:(NSTextSelectionAffinity)affinity granularity:(NSTextSelectionGranularity)granularity NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)initWithRange:(NSTextRange *)range affinity:(NSTextSelectionAffinity)affinity granularity:(NSTextSelectionGranularity)granularity;
+
+- (instancetype)initWithLocation:(id <NSTextLocation>)location affinity:(NSTextSelectionAffinity)affinity;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+#pragma mark Basic properties
+// Represents an array of disjoint logical ranges in the selection. The array must be logically ordered. When editing, all ranges in a text selection constitute a single insertion point.
+@property (copy, readonly) NSArray<NSTextRange *> *textRanges;
+
+// The granularity of the selection. NSTextSelectionGranularityByCharacter by default. Extending operations should modify the selection by the granularity.
+@property (readonly) NSTextSelectionGranularity granularity;
+
+// Either upstream or downstream selection. NSTextSelectionAffinityDownstream by default. For a 0-length selection, it describes the visual location of the text cursor between the head of line containing the selection location (downstream) or tail of the previous line (upstream). For a selection with contents, it describes the logical direction of non-anchored edge of the selection.
+@property (readonly) NSTextSelectionAffinity affinity;
+
+// Transient text selection during drag handling
+@property (readonly, getter=isTransient) BOOL transient;
+
+#pragma mark Navigation properties
+// Represents the anchor position offset from the beginning of a line fragment in the visual order for the initial tap or mouse down. That is from the left for a horizontal line fragment and from the top for a vertical. Navigating between lines uses this point when the current line fragment associated with the selection is shorter than the next line visited. 0.0 by default.
+@property CGFloat anchorPositionOffset;
+
+#pragma mark Visual selection
+// Indicates whether the selection should be interpreted as logical or visual.
+@property (getter=isLogical) BOOL logical;
+
+// Specifies the secondary character location when user taps/clicks at a directional boundary. Setting non-nil location has a side effect of making -logical=NO.
+@property (strong, nullable) id <NSTextLocation> secondarySelectionLocation;
+
+#pragma mark Typing attributes
+// The template attributes used for characters replacing the contents of this selection.
+@property (copy) NSDictionary<NSAttributedStringKey, id> *typingAttributes;
+
+#pragma mark Selection manipulation
+// Returns a selection with textRanges. Copying properties appropriate for the new instance.
+- (NSTextSelection *)textSelectionWithTextRanges:(NSArray<NSTextRange *> *)textRanges;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIFoundation/NSTextSelection.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 2021-06-02 12:44:45.000000000 -0400
@@ -0,0 +1,133 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextSelectionNavigation.h>)
+//
+// NSTextSelectionNavigation.h
+// Text Kit
+//
+// Copyright (c) 2019-2021, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSObject.h>
+#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/NSText.h>
+#import <UIKit/NSLayoutManager.h>
+#import <UIKit/NSTextSelection.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class NSTextSelection;
+@class NSTextRange;
+@class NSTextLineFragment;
+@protocol NSTextLocation;
+@protocol NSTextSelectionDataSource;
+
+// NSTextSelectionNavigation is an interface exposing methods for obtaining results from actions performed on text selections. It returns the essential information necessary for editing, selecting, and navigating operations.
+
+typedef NS_ENUM(NSInteger, NSTextSelectionNavigationDirection) {
+ // Logical directions
+ // Works with just character information
+ NSTextSelectionNavigationDirectionForward,
+ NSTextSelectionNavigationDirectionBackward,
+
+ // Visual directions
+ // Requires layout information if the direction is along the line (i.e. right and left for a horizontal line). Otherwise, it gets resolved to the corresponding logical direction except for NSTextSelectionNavigationDestinationCharacter
+ NSTextSelectionNavigationDirectionRight,
+ NSTextSelectionNavigationDirectionLeft,
+ NSTextSelectionNavigationDirectionUp,
+ NSTextSelectionNavigationDirectionDown
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_ENUM(NSInteger, NSTextSelectionNavigationDestination) {
+ NSTextSelectionNavigationDestinationCharacter, // Moving to the next extended grapheme cluster boundary. Could result in a location inside a cluster depending on operations. When the movement direction is not along the line (i.e. up and down for a horizontal line), it moves to the adjacent line using the anchor point instead of resolving to the logical direction
+ NSTextSelectionNavigationDestinationWord, // Moving to the next word boundary. Ignores punctuations, whitespaces, and format characters preceding the next word
+ NSTextSelectionNavigationDestinationLine, // Moving to the next line boundary. The boundary can be logical based on the line separator characters as well as visual with soft line wrapping
+ NSTextSelectionNavigationDestinationSentence, // Moving to the next sentence boundary. Ignores punctuations, whitespaces, and format characters preceding the next sentence
+ NSTextSelectionNavigationDestinationParagraph, // Moving to the next paragraph boundary. Ignores the end of line elastic characters and paragraph separators
+ NSTextSelectionNavigationDestinationContainer, // Moving to the next container/page boundary. Ignores the end of line elastic characters and container/page separators
+ NSTextSelectionNavigationDestinationDocument, // Moving to the document boundary
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_OPTIONS(NSUInteger, NSTextSelectionNavigationModifier) {
+ NSTextSelectionNavigationModifierExtend = (1 << 0), // Extends the selection by not moving the initial location while drag selection
+ NSTextSelectionNavigationModifierVisual = (1 << 1), // Extends the selection visually inside the rectangular area defined by the anchor and dragged positions
+ NSTextSelectionNavigationModifierMultiple = (1 << 2), // Extends the selection visually inside the rectangular area defined by the anchor and dragged positions and produces an NSTextSelection per line
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@interface NSTextSelectionNavigation : NSObject
+#pragma mark Initialization
+- (instancetype)initWithDataSource:(id <NSTextSelectionDataSource>)dataSource NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+#pragma mark Properties
+// The data source object providing the layout and document content information.
+@property (readonly, weak) id <NSTextSelectionDataSource> textSelectionDataSource;
+
+// If YES, the object could produce selections with multiple disjoint ranges.
+@property BOOL allowsNonContiguousRanges;
+
+// If YES, rotates the coordinate system for arguments passed to the navigation methods such as -textSelectionsInteractingAtPoint:inContainerAtLocation:anchors:modifiers:selecting:bounds: based on the text container layout orientation. NO by default.
+@property BOOL rotatesCoordinateSystemForLayoutOrientation;
+
+#pragma mark Layout Information Cache
+// Flushes cached layout information. Should be called whenever the document contents get changed.
+- (void)flushLayoutCache;
+
+#pragma mark Selection & Cursor Navigation
+// Returns a text selection moved from textSelection by the navigating operation presented by direction, destination, and extending. Returns nil when the requested operation does not produce any logically valid result. If 'confined' is YES, confine any movement to the text element that the selection already lies within.
+- (nullable NSTextSelection *)destinationSelectionForTextSelection:(NSTextSelection *)textSelection direction:(NSTextSelectionNavigationDirection)direction destination:(NSTextSelectionNavigationDestination)destination extending:(BOOL)extending confined:(BOOL)confined;
+
+// Returns an array of text selections produced with tap/mouse down at point. anchors defines the last text selection state if selecting=YES or NSTextSelectionNavigationModifierExtend. selecting=YES indicates it's in a text selection dragging session. bounds defines the view area in the container coordinate system that can interact with events. It is typically the view's visible area.
+- (NSArray<NSTextSelection *> *)textSelectionsInteractingAtPoint:(CGPoint)point inContainerAtLocation:(id <NSTextLocation>)containerLocation anchors:(NSArray <NSTextSelection *> *)anchors modifiers:(NSTextSelectionNavigationModifier)modifiers selecting:(BOOL)selecting bounds:(CGRect)bounds;
+
+// Returns a text selection expanded to the nearest boundaries for selectionGranularity enclosing textSelection.textRanges. The returned selection will have granularity=selectionGranularity.
+- (NSTextSelection *)textSelectionForSelectionGranularity:(NSTextSelectionGranularity)selectionGranularity enclosingTextSelection:(NSTextSelection *)textSelection;
+
+- (nullable NSTextSelection *)textSelectionForSelectionGranularity:(NSTextSelectionGranularity)granularity enclosingPoint:(CGPoint)point inContainerAtLocation:(id <NSTextLocation>)containerLocation;
+
+#pragma mark Editing
+// Returns the resolved location for inserting the next input if textSelection is isLogical=NO && secondarySelectionLocation!=nil. If not, returns nil.
+- (nullable id <NSTextLocation>)resolvedInsertionPointForTextSelection:(NSTextSelection *)textSelection writingDirection:(NSWritingDirection)writingDirection;
+
+// Returns the ranges that should be deleted based on textSelection and movement arguments. The selection after deletion should contain a 0-length range starting at the location of the first range returned. destination is ignored when textSelection has a non-empty selection. allowsDecomposition only applies to NSTextSelectionNavigationDirectionBackward and NSTextSelectionNavigationDestinationCharacter with 0-length selection.
+- (NSArray<NSTextRange *> *)deletionRangesForTextSelection:(NSTextSelection *)textSelection direction:(NSTextSelectionNavigationDirection)direction destination:(NSTextSelectionNavigationDestination)destination allowsDecomposition:(BOOL)allowsDecomposition;
+@end
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextSelectionDataSource <NSObject>
+@required
+// Declares the starting and ending locations for the document.
+@property (strong, readonly) NSTextRange *documentRange;
+
+// Enumerating the textual segment boundaries starting at location. The segmentation logic should be based on the natural language semantics and rules such as Unicode Text Segmentation UAX 29. It is allowed to have custom text segmentation behavior for specialized document contents (i.e. text editors with structured document contents such as a programming language). NSStringEnumerationByLines should be aware of the visual line boundaries based on soft line wrapping.
+- (void)enumerateSubstringsFromLocation:(id <NSTextLocation>)location options:(NSStringEnumerationOptions)opts usingBlock:(void (NS_NOESCAPE ^)(NSString * _Nullable substring, NSTextRange *substringRange, NSTextRange * _Nullable enclosingRange, BOOL *stop))block;
+
+// Returns a text range corresponding to selectionGranularity enclosing location. Returns nil when documentRange.isEmpty=YES.
+- (nullable NSTextRange *)textRangeForSelectionGranularity:(NSTextSelectionGranularity)selectionGranularity enclosingLocation:(id <NSTextLocation>)location;
+
+// Returns a new location from location with offset. The offset value could be positive or negative indicating the logical direction. Could return nil when the inputs don't produce any legal location (i.e. out of bounds index).
+- (nullable id <NSTextLocation>)locationFromLocation:(id <NSTextLocation>)location withOffset:(NSInteger)offset;
+
+// Returns the offset between from and to. The return value could be positive or negative. Could return NSNotFound when the offset cannot be represented in an integer value (i.e. locations are not in the same document).
+- (NSInteger)offsetFromLocation:(id <NSTextLocation>)from toLocation:(id <NSTextLocation>)to;
+
+// Returns the base writing direction at location. It is recommended to return the resolved base direction either NSWritingDirectionLeftToRight or NSWritingDirectionRightToLeft.
+- (NSWritingDirection)baseWritingDirectionAtLocation:(id <NSTextLocation>)location;
+
+// Layout
+// Enumerates all the caret offset from left to right in visual order. caretOffset should be in the coordinate system for the text container. When leadingEdge=YES, it indicates caretOffset is at the edge logically preceding the character. For LTR characters, it is on the left, and on the right for RTL characters.
+- (void)enumerateCaretOffsetsInLineFragmentAtLocation:(id<NSTextLocation>)location usingBlock:(void (NS_NOESCAPE ^)(CGFloat caretOffset, id <NSTextLocation> location, BOOL leadingEdge, BOOL * stop))block;
+
+// Returns the range of the line fragment containing point inside the coordinate system containing location.
+- (nullable NSTextRange *)lineFragmentRangeForPoint:(CGPoint)point inContainerAtLocation:(id <NSTextLocation>)location;
+
+@optional
+// This optional method should be implemented enumerating the text container/page boundary when the text selection data provider supports such a layout functionality.
+- (void)enumerateContainerBoundariesFromLocation:(id <NSTextLocation>)location reverse:(BOOL)isBackward usingBlock:(void (NS_NOESCAPE ^)(id <NSTextLocation> boundaryLocation, BOOL *stop))block;
+
+// Returns the text layout orientation at location. If not implemented, NSTextSelectionNavigation assumes it is NSTextLayoutOrientationHorizontal.
+- (NSTextLayoutOrientation)layoutOrientationAtLocation:(id <NSTextLocation>)location;
+@end
+NS_ASSUME_NONNULL_END
+#else
+#import <UIFoundation/NSTextSelectionNavigation.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h 2021-03-16 08:45:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h 2021-06-02 12:47:42.000000000 -0400
@@ -11,9 +11,14 @@
#import <UIKit/NSAttributedString.h>
#import <UIKit/UIKitDefines.h>
+#ifndef FALL_2021_NEW_API_TRANSITION
+#define FALL_2021_NEW_API_TRANSITION 1
+#endif
+
@class NSArray, NSLayoutManager, NSNotification;
@protocol NSTextStorageDelegate;
+@protocol NSTextStorageObserving;
NS_ASSUME_NONNULL_BEGIN
@@ -34,7 +39,8 @@
These primitives should perform the change then call edited:range:changeInLength: to get everything else to happen.
*/
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) @interface NSTextStorage : NSMutableAttributedString <NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+@interface NSTextStorage : NSMutableAttributedString <NSSecureCoding>
/**************************** Layout manager ****************************/
@@ -86,6 +92,9 @@
// Ensures all attributes in range are validated and ready to be used. An NSTextStorage that is lazy is required to call the following method before accessing any attributes. This gives the attribute fixing a chance to occur if necessary. NSTextStorage subclasses that wish to support laziness must call it from all attribute accessors that they implement. The default concrete subclass does call this from its accessors.
- (void)ensureAttributesAreFixedInRange:(NSRange)range;
+/**************************** NSTextStorageObserving ****************************/
+// An object conforming to NSTextStorageObserving observing and retaining NSTextStorage
+@property (nullable, weak, NS_NONATOMIC_IOSONLY) id <NSTextStorageObserving> textStorageController API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
@end
@@ -107,6 +116,20 @@
UIKIT_EXTERN NSNotificationName const NSTextStorageWillProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0));
UIKIT_EXTERN NSNotificationName const NSTextStorageDidProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0));
+#pragma mark NSTextStorageObserving
+// NSTextStorageObserving defines the protocol for NSTextStorage controller objects observing changes in the text backing-store.
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextStorageObserving <NSObject>
+// The document object
+@property (nullable, strong, NS_NONATOMIC_IOSONLY) NSTextStorage *textStorage;
+
+// The newCharRange is the range in the final string which was explicitly edited. The invalidatedRange includes portions that changed as a result of attribute fixing. invalidatedRange is either equal to newCharRange or larger. Controllers should not change the contents of the text storage during the execution of this message.
+- (void)processEditingForTextStorage:(NSTextStorage *)textStorage edited:(NSTextStorageEditActions)editMask range:(NSRange)newCharRange changeInLength:(NSInteger)delta invalidatedRange:(NSRange)invalidatedCharRange;
+
+// Transactional editing support
+- (void)performEditingTransactionForTextStorage:(NSTextStorage *)textStorage withBlock:(void (NS_NOESCAPE ^) (void))transaction;
+@end
+
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSToolbar+UIKitAdditions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSToolbar+UIKitAdditions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSToolbar+UIKitAdditions.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSToolbar+UIKitAdditions.h 2021-06-02 05:36:01.000000000 -0400
@@ -7,17 +7,16 @@
//
#import <TargetConditionals.h>
-
-#if TARGET_OS_MACCATALYST
-
+#if TARGET_OS_MACCATALYST || TARGET_OS_OSX
#import <Foundation/Foundation.h>
#import <UIKit/UIWindowScene.h>
#import <UIKit/UIActivityItemsConfigurationReading.h>
#import <AppKit/NSToolbarItem.h>
#import <AppKit/NSMenuToolbarItem.h>
#import <AppKit/NSSharingServicePickerToolbarItem.h>
+#import <AppKit/NSSearchToolbarItem.h>
-@class UITitlebar, NSToolbar, UIBarButtonItem;
+@class UITitlebar, NSToolbar, UIBarButtonItem, UISearchTextField;
NS_ASSUME_NONNULL_BEGIN
@@ -53,7 +52,7 @@
@property (nonatomic, readonly, nullable) UITitlebar *titlebar API_AVAILABLE(macCatalyst(13.0));
@end
-API_AVAILABLE(macCatalyst(13.0))
+API_AVAILABLE(macCatalyst(13.0)) NS_SWIFT_UI_ACTOR
@interface UITitlebar : NSObject
/*
@@ -126,7 +125,7 @@
NS_ASSUME_NONNULL_END
-#endif
+#endif // TARGET_OS_MACCATALYST || TARGET_OS_OSX
#else
#import <UIKitCore/NSToolbar+UIKitAdditions.h>
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTouchBar+UIKitAdditions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTouchBar+UIKitAdditions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTouchBar+UIKitAdditions.h 2021-03-16 13:57:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTouchBar+UIKitAdditions.h 2021-06-02 05:36:10.000000000 -0400
@@ -7,9 +7,7 @@
//
#import <TargetConditionals.h>
-
-#if TARGET_OS_MACCATALYST
-
+#if TARGET_OS_MACCATALYST || TARGET_OS_OSX
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIResponder.h>
@@ -56,7 +54,7 @@
NS_ASSUME_NONNULL_END
-#endif
+#endif // TARGET_OS_MACCATALYST || TARGET_OS_OSX
#else
#import <UIKitCore/NSTouchBar+UIKitAdditions.h>
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2021-06-02 05:36:01.000000000 -0400
@@ -18,7 +18,7 @@
@protocol UIAccelerometerDelegate;
-UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIAcceleration : NSObject
@property(nonatomic,readonly) NSTimeInterval timestamp;
@@ -28,7 +28,7 @@
@end
-UIKIT_EXTERN API_DEPRECATED("UIAccelerometer has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(tvos)
+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
+ (UIAccelerometer *)sharedAccelerometer;
@@ -38,7 +38,7 @@
@end
- API_UNAVAILABLE(tvos) API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0))
+ API_UNAVAILABLE(tvos) API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0)) NS_SWIFT_UI_ACTOR
@protocol UIAccelerometerDelegate<NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h 2021-06-02 05:36:08.000000000 -0400
@@ -19,7 +19,7 @@
See UIAccessibility.h for more information about hints and labels.
*/
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIPickerViewAccessibilityDelegate <UIPickerViewDelegate>
@optional
@@ -40,6 +40,7 @@
this protocol to announce "Showing books 10 through 20".
By default, VoiceOver will announce "Page X of Y" when scrolling.
*/
+NS_SWIFT_UI_ACTOR
@protocol UIScrollViewAccessibilityDelegate <UIScrollViewDelegate>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2021-06-02 05:36:03.000000000 -0400
@@ -33,29 +33,29 @@
/*
Returns the number of accessibility elements in the container.
*/
-- (NSInteger)accessibilityElementCount;
+- (NSInteger)accessibilityElementCount NS_SWIFT_UI_ACTOR;
/*
Returns the accessibility element in order, based on index.
default == nil
*/
-- (nullable id)accessibilityElementAtIndex:(NSInteger)index;
+- (nullable id)accessibilityElementAtIndex:(NSInteger)index NS_SWIFT_UI_ACTOR;
/*
Returns the ordered index for an accessibility element
default == NSNotFound
*/
-- (NSInteger)indexOfAccessibilityElement:(id)element;
+- (NSInteger)indexOfAccessibilityElement:(id)element NS_SWIFT_UI_ACTOR;
// A list of container elements managed by the receiver.
// This can be used as an alternative to implementing the dynamic methods.
// default == nil
-@property (nullable, nonatomic, strong) NSArray *accessibilityElements API_AVAILABLE(ios(8.0));
+@property (nullable, nonatomic, strong) NSArray *accessibilityElements API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR;
// Some containers provide more context for accessibility elements, such as tables or lists.
// Set this property so that assistive technologies can output more information.
// default == UIAccessibilityContainerTypeNone
-@property (nonatomic) UIAccessibilityContainerType accessibilityContainerType API_AVAILABLE(ios(11.0));
+@property (nonatomic) UIAccessibilityContainerType accessibilityContainerType API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR;
@end
@@ -64,7 +64,8 @@
convey more information specific to tables that contain structured data.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @protocol UIAccessibilityContainerDataTableCell <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@protocol UIAccessibilityContainerDataTableCell <NSObject>
@required
// The row/column index + the row/column span.
@@ -74,7 +75,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @protocol UIAccessibilityContainerDataTable <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@protocol UIAccessibilityContainerDataTable <NSObject>
@required
// Return the cell element for a specific row/column, including elements that span rows/columns.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h 2021-06-02 05:35:58.000000000 -0400
@@ -8,11 +8,12 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
-#import "UIImage.h"
+#import <UIKit/UIImage.h>
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIAccessibilityCustomAction : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(8.0))
+@interface UIAccessibilityCustomAction : NSObject
- (instancetype)initWithName:(NSString *)name target:(nullable id)target selector:(SEL)selector;
- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(11.0), tvos(11.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2021-03-16 09:56:28.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2021-06-02 05:38:44.000000000 -0400
@@ -68,12 +68,14 @@
// UIAccessibilityCustomRotorSearchPredicate is a container for search parameters.
// It should be examined to determine the next matching UIAccessibilityCustomRotorItemResult.
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIAccessibilityCustomRotorSearchPredicate : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIAccessibilityCustomRotorSearchPredicate : NSObject
@property (nonatomic, retain) UIAccessibilityCustomRotorItemResult *currentItem;
@property (nonatomic) UIAccessibilityCustomRotorDirection searchDirection;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIAccessibilityCustomRotor : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIAccessibilityCustomRotor : NSObject
- (instancetype)initWithName:(NSString *)name itemSearchBlock:(UIAccessibilityCustomRotorSearch)itemSearchBlock;
- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName itemSearchBlock:(UIAccessibilityCustomRotorSearch)itemSearchBlock API_AVAILABLE(ios(11.0), tvos(11.0));
@@ -97,7 +99,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIAccessibilityCustomRotorItemResult : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIAccessibilityCustomRotorItemResult : NSObject
- (instancetype)initWithTargetElement:(id<NSObject>)targetElement targetRange:(nullable UITextRange *)targetRange;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h 2021-06-02 05:35:59.000000000 -0400
@@ -22,7 +22,8 @@
backed by a UIView (for example: painted text or icon).
*/
-UIKIT_EXTERN API_AVAILABLE(ios(3.0)) @interface UIAccessibilityElement : UIResponder<UIAccessibilityIdentification>
+UIKIT_EXTERN API_AVAILABLE(ios(3.0)) NS_SWIFT_UI_ACTOR
+@interface UIAccessibilityElement : UIResponder<UIAccessibilityIdentification>
// initialize with the accessibility container that contains this element
- (instancetype)initWithAccessibilityContainer:(id)container;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityLocationDescriptor.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityLocationDescriptor.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityLocationDescriptor.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityLocationDescriptor.h 2021-06-02 05:36:01.000000000 -0400
@@ -19,7 +19,8 @@
* `accessibilityDropPointDescriptors` properties in the UIAccessibilityDragging informal protocol
* use UIAccessibilityLocationDescriptor objects to describe where drags may begin and end.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIAccessibilityLocationDescriptor : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UIAccessibilityLocationDescriptor : NSObject
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2021-06-02 05:36:07.000000000 -0400
@@ -13,11 +13,18 @@
typedef NSString *UIActionIdentifier NS_SWIFT_NAME(UIAction.Identifier) NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0));
+/// Default action identifiers for paste variants
+UIKIT_EXTERN const UIActionIdentifier UIActionPaste API_AVAILABLE(ios(15.0));
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndMatchStyle API_AVAILABLE(ios(15.0));
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndGo API_AVAILABLE(ios(15.0));
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndSearch API_AVAILABLE(ios(15.0));
+
@class UIAction;
typedef void (^UIActionHandler)(__kindof UIAction *action);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIAction : UIMenuElement
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIAction : UIMenuElement
/// Short display title.
@property (nonatomic, copy) NSString *title;
@@ -70,6 +77,23 @@
@end
+@protocol UIKeyInput;
+@class UIResponder;
+
+@interface UIAction (UICaptureTextFromCameraSupporting)
+
+/*!
+ * @abstract Creates a new UIAction for the captureTextFromCamera: standard edit action.
+ *
+ * @param responder The UIKeyInput responder to send captureTextFromCamera: to.
+ * @param identifier The action's identifier. Pass nil to use an auto-generated identifier.
+ *
+ * @return A new UIAction.
+ */
++ (instancetype)captureTextFromCameraActionForResponder:(UIResponder<UIKeyInput> *)responder identifier:(nullable UIActionIdentifier)identifier NS_SWIFT_NAME(captureTextFromCamera(responder:identifier:)) API_AVAILABLE(ios(15.0));
+
+@end
+
NS_ASSUME_NONNULL_END
#else
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2021-03-16 09:56:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2021-06-02 05:38:28.000000000 -0400
@@ -23,7 +23,7 @@
UIActionSheetStyleBlackOpaque = UIBarStyleBlackOpaque ,
} API_UNAVAILABLE(tvos) API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.", ios(2.0, 13.0));
-UIKIT_EXTERN API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead", ios(2.0, 8.3)) API_UNAVAILABLE(tvos)
+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
@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.");
@@ -59,7 +59,7 @@
@end
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIActionSheetDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2021-06-02 05:36:07.000000000 -0400
@@ -20,7 +20,8 @@
UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) = 2,
};
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIActivityIndicatorView : UIView <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIActivityIndicatorView : UIView <NSCoding>
- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfiguration.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfiguration.h 2021-06-02 05:35:56.000000000 -0400
@@ -19,7 +19,7 @@
// A configuration that allows a responder to export data through a variety of interactions.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIActivityItemsConfiguration : NSObject <UIActivityItemsConfigurationReading>
@property (nonatomic, strong, nullable) id localObject; // A local object retained for the convenience of the app developer
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading.h 2021-06-02 05:35:58.000000000 -0400
@@ -14,24 +14,24 @@
@class UIActivity;
-typedef NSString * UIActivityItemsConfigurationMetadataKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+typedef NSString * UIActivityItemsConfigurationMetadataKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyTitle API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos); // NSString or NSAttributedString - title
-UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyMessageBody API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos); // NSString or NSAttributedString - message body
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyTitle API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos); // NSString or NSAttributedString - title
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyMessageBody API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos); // NSString or NSAttributedString - message body
-typedef NSString * UIActivityItemsConfigurationPreviewIntent NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+typedef NSString * UIActivityItemsConfigurationPreviewIntent NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN UIActivityItemsConfigurationPreviewIntent const UIActivityItemsConfigurationPreviewIntentFullSize API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos); // Full size preview image
-UIKIT_EXTERN UIActivityItemsConfigurationPreviewIntent const UIActivityItemsConfigurationPreviewIntentThumbnail API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos); // Thumbnail preview image
+UIKIT_EXTERN UIActivityItemsConfigurationPreviewIntent const UIActivityItemsConfigurationPreviewIntentFullSize API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos); // Full size preview image
+UIKIT_EXTERN UIActivityItemsConfigurationPreviewIntent const UIActivityItemsConfigurationPreviewIntentThumbnail API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos); // Thumbnail preview image
-typedef NSString * UIActivityItemsConfigurationInteraction NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+typedef NSString * UIActivityItemsConfigurationInteraction NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN UIActivityItemsConfigurationInteraction const UIActivityItemsConfigurationInteractionShare API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+UIKIT_EXTERN UIActivityItemsConfigurationInteraction const UIActivityItemsConfigurationInteractionShare API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIActivityItemsConfigurationReading <NSObject>
@property (nonatomic, readonly, copy) NSArray<NSItemProvider *> *itemProvidersForActivityItemsConfiguration;
@@ -50,6 +50,14 @@
@end
+
+/// Protocol adopted by classes that can provide activity items configurations
+API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
+@protocol UIActivityItemsConfigurationProviding <NSObject>
+
+@property (nonatomic, nullable, readonly, strong) id<UIActivityItemsConfigurationReading> activityItemsConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+
+@end
NS_ASSUME_NONNULL_END
#else
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h 2021-06-02 05:35:59.000000000 -0400
@@ -34,7 +34,7 @@
@interface UIActivityViewController (UIActivityItemsConfiguration)
-- (instancetype)initWithActivityItemsConfiguration:(id<UIActivityItemsConfigurationReading>)activityItemsConfiguration API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos);
+- (instancetype)initWithActivityItemsConfiguration:(id<UIActivityItemsConfigurationReading>)activityItemsConfiguration API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h 2021-06-02 05:35:58.000000000 -0400
@@ -23,7 +23,8 @@
UIAlertControllerStyleAlert
} API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIAlertAction : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIAlertAction : NSObject <NSCopying>
+ (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler;
@@ -33,7 +34,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIAlertController : UIViewController
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIAlertController : UIViewController
+ (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2021-03-16 08:48:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2021-06-02 05:38:26.000000000 -0400
@@ -23,7 +23,7 @@
@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)
+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
@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.");
@@ -63,7 +63,7 @@
@end
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIAlertViewDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2021-06-02 05:36:04.000000000 -0400
@@ -21,8 +21,10 @@
*/
#define UI_APPEARANCE_SELECTOR __attribute__((annotate("ui_appearance_selector")))
+NS_SWIFT_UI_ACTOR
@protocol UIAppearanceContainer <NSObject> @end
+NS_SWIFT_UI_ACTOR
@protocol UIAppearance <NSObject>
/* To customize the appearance of all instances of a class, send the relevant appearance modification messages to the appearance proxy for the class. For example, to modify the bar tint color for all UINavigationBar instances:
[[UINavigationBar appearance] setBarTintColor:myColor];
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2021-03-16 08:48:11.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2021-06-02 11:08:52.000000000 -0400
@@ -23,8 +23,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 NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,
- UIStatusBarStyleBlackOpaque NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,
+ UIStatusBarStyleBlackTranslucent API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) = 1,
+ UIStatusBarStyleBlackOpaque API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) = 2,
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIStatusBarAnimation) {
@@ -72,7 +72,7 @@
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
-} NS_ENUM_DEPRECATED_IOS(3_0, 8_0, "Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.") 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(tvos);
typedef NS_ENUM(NSUInteger, UIBackgroundFetchResult) {
UIBackgroundFetchResultNewData,
@@ -108,7 +108,8 @@
@class INIntentResponse;
@class UIScene, UIWindowScene, UISceneSession, UISceneConfiguration, UISceneConnectionOptions, UISceneActivationRequestOptions, UISceneDestructionRequestOptions;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIApplication : UIResponder
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIApplication : UIResponder
@property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
@@ -132,7 +133,7 @@
- (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;
+@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0));
- (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
@@ -304,6 +305,7 @@
typedef NSString * UIApplicationLaunchOptionsKey NS_TYPED_ENUM;
+NS_SWIFT_UI_ACTOR
@protocol UIApplicationDelegate<NSObject>
@optional
@@ -363,7 +365,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 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));
// Called when the user activates your application by selecting a shortcut on the home screen,
// except when -application:willFinishLaunchingWithOptions: or -application:didFinishLaunchingWithOptions returns NO.
@@ -448,6 +450,13 @@
// 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.
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0));
+
+#pragma mark -- UIKeyCommand Support --
+// UIKeyCommand system-wide keyboard shortcut localization support
+// This method will be called during application launch.
+// Return NO if the receiving delegate object wishes to opt-out of system-wide keyboard shortcut localization for all application-supplied UIKeyCommands. Return YES by default for apps linked against 15.0 and later SDK.
+- (BOOL)applicationShouldAutomaticallyLocalizeKeyCommands:(UIApplication *)application API_AVAILABLE(ios(15.0));
+
@end
@interface UIApplication(UIApplicationDeprecated)
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h 2021-03-16 13:59:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h 2021-06-02 05:38:26.000000000 -0400
@@ -34,7 +34,8 @@
return range.minimum == otherRange.minimum && range.maximum == otherRange.maximum;
}
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIAttachmentBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIAttachmentBehavior : UIDynamicBehavior
- (instancetype)initWithItem:(id <UIDynamicItem>)item attachedToAnchor:(CGPoint)point;
- (instancetype)initWithItem:(id <UIDynamicItem>)item offsetFromCenter:(UIOffset)offset attachedToAnchor:(CGPoint)point NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2021-03-16 08:48:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2021-06-02 12:47:44.000000000 -0400
@@ -8,17 +8,16 @@
#import <UIKit/UIGeometry.h>
#import <UIKit/UIConfigurationColorTransformer.h>
+#import <UIKit/UIView.h>
NS_ASSUME_NONNULL_BEGIN
@protocol UIConfigurationState;
-@class UITraitCollection;
-@class UIColor;
@class UIVisualEffect;
-@class UIView;
+@class UIImage;
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UIBackgroundConfiguration : NSObject <NSCopying, NSSecureCoding>
/// Returns a clear configuration, with no default styling.
@@ -73,6 +72,11 @@
/// The visual effect to apply to the background. Default is nil.
@property (nonatomic, copy, nullable) UIVisualEffect *visualEffect;
+/// The image to use. Default is nil.
+@property (nonatomic, strong, nullable) UIImage *image API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+/// The content mode to use when rendering the image. Default is UIViewContentModeScaleToFill.
+@property (nonatomic) UIViewContentMode imageContentMode API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
// Stroke
/// Configures the color of the stroke. A nil value uses the view's tint color; use `clearColor` for no color (transparent).
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBandSelectionInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBandSelectionInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBandSelectionInteraction.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBandSelectionInteraction.h 2021-06-02 05:36:05.000000000 -0400
@@ -0,0 +1,57 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIBandSelectionInteraction.h>)
+//
+// UIBandSelectionInteraction.h
+// UIKit
+//
+// Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIInteraction.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, UIBandSelectionInteractionState) {
+ UIBandSelectionInteractionStatePossible = 0,
+ UIBandSelectionInteractionStateBegan,
+ UIBandSelectionInteractionStateSelecting,
+ UIBandSelectionInteractionStateEnded,
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIBandSelectionInteraction : NSObject <UIInteraction>
+
+/// Indicates whether the interaction is enabled. Defaults to YES.
+@property (nonatomic, getter=isEnabled) BOOL enabled;
+
+/// The interaction's current state.
+@property (nonatomic, readonly) UIBandSelectionInteractionState state;
+
+/// The current selection rect. Returns CGRectNull when the interaction is inactive.
+@property (nonatomic, readonly) CGRect selectionRect;
+
+/// Modifier keys held at the beginning of the interaction.
+@property (nonatomic, readonly) UIKeyModifierFlags initialModifierFlags;
+
+/// Called when the interaction is about to begin.
+/// Return a boolean indicating whether the interaction should begin at the given location.
+@property (nonatomic, copy, nullable) BOOL (^shouldBeginHandler)(UIBandSelectionInteraction *interaction, CGPoint point);
+
+/*!
+ * @abstract Creates a UIBandSelectionInteraction with the given selection handler.
+ *
+ * @param selectionHandler Called when the interaction's state and/or selection rect change.
+ */
+- (instancetype)initWithSelectionHandler:(void (^)(UIBandSelectionInteraction *interaction))selectionHandler;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+
+#else
+#import <UIKitCore/UIBandSelectionInteraction.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h 2021-06-02 05:36:07.000000000 -0400
@@ -15,7 +15,8 @@
@class UIImage;
@class UIBlurEffect;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) @interface UIBarAppearance : NSObject<NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarAppearance : NSObject<NSCopying, NSSecureCoding>
/// Constructs a new bar appearance, configured with default values and targeting the device idiom.
- (instancetype)init;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2021-06-02 12:44:49.000000000 -0400
@@ -19,7 +19,7 @@
typedef NS_ENUM(NSInteger, UIBarButtonItemStyle) {
UIBarButtonItemStylePlain,
- UIBarButtonItemStyleBordered NS_ENUM_DEPRECATED_IOS(2_0, 8_0, "Use UIBarButtonItemStylePlain when minimum deployment target is iOS7 or later"),
+ UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)),
UIBarButtonItemStyleDone,
};
@@ -47,13 +47,14 @@
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo API_AVAILABLE(ios(3.0)),
UIBarButtonSystemItemRedo API_AVAILABLE(ios(3.0)),
- UIBarButtonSystemItemPageCurl NS_ENUM_DEPRECATED_IOS(4_0, 11_0),
+ UIBarButtonSystemItemPageCurl API_DEPRECATED("", ios(4.0, 11.0)),
UIBarButtonSystemItemClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos)
};
@class UIImage, UIView;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIBarButtonItem : UIBarItem <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarButtonItem : UIBarItem <NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -97,6 +98,13 @@
/// 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);
+/// 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, getter=isSelected) BOOL selected API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+
//
// Appearance modifiers
//
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h 2021-06-02 05:35:57.000000000 -0400
@@ -14,7 +14,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) @interface UIBarButtonItemStateAppearance : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarButtonItemStateAppearance : NSObject
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -33,7 +34,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) @interface UIBarButtonItemAppearance : NSObject<NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarButtonItemAppearance : NSObject<NSCopying, NSSecureCoding>
/// Construct an appearance for the UIBarButtonItemStylePlain style.
- (instancetype)init;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2021-06-02 05:36:02.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIBarButtonItemGroup : NSObject<NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarButtonItemGroup : NSObject<NSCoding>
/// Create a new bar button item group with the given items. When bar button item layout is done, either the group's barButtonItems or its representativeItem is displayed (if it exists).
- (instancetype)initWithBarButtonItems:(NSArray<UIBarButtonItem *> *)barButtonItems representativeItem:(nullable UIBarButtonItem *)representativeItem NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2021-06-02 05:36:09.000000000 -0400
@@ -16,8 +16,8 @@
UIBarMetricsDefaultPrompt = 101, // Applicable only in bars with the prompt property, such as UINavigationBar and UISearchBar
UIBarMetricsCompactPrompt,
- UIBarMetricsLandscapePhone NS_ENUM_DEPRECATED_IOS(5_0, 8_0, "Use UIBarMetricsCompact instead") = UIBarMetricsCompact,
- UIBarMetricsLandscapePhonePrompt NS_ENUM_DEPRECATED_IOS(7_0, 8_0, "Use UIBarMetricsCompactPrompt") = 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,
};
typedef NS_ENUM(NSInteger, UIBarPosition) {
@@ -33,10 +33,12 @@
#define UIToolbarPositionTop UIBarPositionTop
+NS_SWIFT_UI_ACTOR
@protocol UIBarPositioning <NSObject> // UINavigationBar, UIToolbar, and UISearchBar conform to this
@property(nonatomic,readonly) UIBarPosition barPosition;
@end
+NS_SWIFT_UI_ACTOR
@protocol UIBarPositioningDelegate <NSObject> // UINavigationBarDelegate, UIToolbarDelegate, and UISearchBarDelegate all extend from this
@optional
/* Implement this method on your manual bar delegate when not managed by a UIKit controller.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h 2021-06-02 05:35:58.000000000 -0400
@@ -16,7 +16,8 @@
@class UIImage;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIBarItem : NSObject <NSCoding, UIAppearance>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIBarItem : NSObject <NSCoding, UIAppearance>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h 2021-06-02 05:36:09.000000000 -0400
@@ -0,0 +1,53 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIBehavioralStyle.h>)
+//
+// UIBehavioralStyle.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UISlider.h>
+#import <UIKit/UIButton.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos)
+/// Behavioral Styles are values that determine how a class — such as a view or control — behaves. This includes how the control is drawn, and what behaviors it supports. For example, handling certain customizations in one style, but not another.
+typedef NS_ENUM(NSUInteger, UIBehavioralStyle) {
+ /// The system will choose the most appropriate style for the targetted platform.
+ UIBehavioralStyleAutomatic = 0,
+
+ /// A style and set of behaviors best for iOS/iPadOS applications
+ UIBehavioralStylePad,
+
+ /// A style and set of behaviors best for macOS applications
+ UIBehavioralStyleMac,
+};
+
+API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UIButton (UIBehavioralStyle)
+
+/// The button's behavioral style. This property always returns a concrete, resolved style (never UIBehavioralStyleAutomatic).
+@property (nonatomic, readonly) UIBehavioralStyle behavioralStyle API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Request a style for the button. If the style changed, the button will redraw and its metrics may change.
+@property (nonatomic) UIBehavioralStyle preferredBehavioralStyle API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+@end
+
+API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos)
+@interface UISlider (UIBehavioralStyle)
+
+/// The slider's behavioral style. This property always returns a concrete, resolved style (never UIBehavioralStyleAutomatic).
+@property (nonatomic, readonly) UIBehavioralStyle behavioralStyle API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Request a style for the slider. If the style changes, the slider will redraw and its metrics may change.
+@property (nonatomic) UIBehavioralStyle preferredBehavioralStyle API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UIBehavioralStyle.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2021-06-02 05:35:56.000000000 -0400
@@ -57,7 +57,8 @@
} API_AVAILABLE(ios(8.0));
/* UIBlurEffect will provide a blur that appears to have been applied to the content layered behind the UIVisualEffectView. Views added to the contentView of a blur visual effect are not blurred themselves. */
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIBlurEffect : UIVisualEffect
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIBlurEffect : UIVisualEffect
+ (UIBlurEffect *)effectWithStyle:(UIBlurEffectStyle)style;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2021-03-16 09:56:12.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2021-06-02 05:35:51.000000000 -0400
@@ -12,6 +12,7 @@
#import <UIKit/UIStringDrawing.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UISpringLoadedInteractionSupporting.h>
+#import <UIKit/UIButtonConfiguration.h>
NS_ASSUME_NONNULL_BEGIN
@@ -42,8 +43,10 @@
@class UIButton, UIPointerStyle, UIPointerEffect, UIPointerShape;
typedef UIPointerStyle *_Nullable(^UIButtonPointerStyleProvider)(UIButton *button, UIPointerEffect *proposedEffect, UIPointerShape *proposedShape) API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos);
+typedef void (^UIButtonConfigurationUpdateHandler)(__kindof UIButton *button) API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIButton : UIControl <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIButton : UIControl <NSCoding>
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -58,17 +61,37 @@
/// Creates a button of the given type, registers primaryAction for the UIControlEventPrimaryActionTriggered control event, and if appropriate uses primaryAction's title & image as the button's title & image.
+ (instancetype)buttonWithType:(UIButtonType)buttonType primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0));
-@property(nonatomic) UIEdgeInsets contentEdgeInsets UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero. On tvOS 10 or later, default is nonzero except for custom buttons.
-@property(nonatomic) UIEdgeInsets titleEdgeInsets; // default is UIEdgeInsetsZero
-@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted; // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
-@property(nonatomic) UIEdgeInsets imageEdgeInsets; // default is UIEdgeInsetsZero
-@property(nonatomic) BOOL adjustsImageWhenHighlighted; // default is YES. if YES, image is drawn darker when highlighted(pressed)
-@property(nonatomic) BOOL adjustsImageWhenDisabled; // default is YES. if YES, image is drawn lighter when disabled
-@property(nonatomic) BOOL showsTouchWhenHighlighted API_UNAVAILABLE(tvos); // default is NO. if YES, show a simple feedback (currently a glow) while highlighted
+/// Construct a new UIButton. `configuration` will be installed on the created button, and `primaryAction` added to handle the .primaryActionTriggered control event. If `primaryAction` has a title or image, they will be copied to `configuration`
++ (instancetype)buttonWithConfiguration:(UIButtonConfiguration *)configuration primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Setting a non-nil value for `configuration` will opt into configuration-based behavior on UIButton, update the button in a platform specific manner, and enable/disable some API.
+@property (nonatomic, readwrite, copy, nullable) UIButtonConfiguration *configuration API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Requests the view update its configuration for its current state. This method is called automatically when the button's state may have changed, as well as in other circumstances where an update may be required. Multiple requests may be coalesced into a single update at the appropriate time.
+- (void)setNeedsUpdateConfiguration API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Subclasses should override this method and update the button's `configuration`. This method should not be called directly, use `setNeedsUpdateConfiguration` to request an update.
+- (void)updateConfiguration API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Block-based equivalent to overriding -updateConfiguration in a subclass. Setting this handler will force the button into configuration-based behavior (see the `configuration` property). This block is called after `-updateConfiguration`
+@property (nonatomic, readwrite, copy, nullable) UIButtonConfigurationUpdateHandler configurationUpdateHandler API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// When YES, the button will automatically call -updatedConfigurationForButton: on its `configuration ` when the button's state changes, and apply the updated configuration to the button. The default value is YES.
+@property (nonatomic, readwrite, assign) BOOL automaticallyUpdatesConfiguration API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Calculates an ideal size for the button if the given `configuration` were set. If `maximumWidth` is greater than 0, then that width is used to limit the button's width for the purposes of line wrapping, the ideal width may still be wider than `maximumWidth` if line wrapping is disabled or other features require a larger width. Clients may override this method to alter how UIButton calculates its size when using a configuration.
+- (CGSize)preferredSizeForConfiguration:(UIButtonConfiguration *)configuration maximumWidth:(CGFloat)maximumWidth API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
@property(null_resettable, nonatomic,strong) UIColor *tintColor API_AVAILABLE(ios(5.0)); // The tintColor is inherited through the superview hierarchy. See UIView for more information.
@property(nonatomic,readonly) UIButtonType buttonType;
-@property (nonatomic) UIButtonRole role API_AVAILABLE(ios(14.0)); // default is UIButtonRoleNormal.
+/// If pointer effects are enabled for the button, this will return true when an effect is active.
+@property (nonatomic, assign, readonly, getter = isHovered) BOOL hovered API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+/// Returns true while the button is presenting a menu.
+@property (nonatomic, assign, readonly, getter = isHeld) BOOL held API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+@property (nonatomic) UIButtonRole role API_AVAILABLE(ios(14.0)); // default is UIButtonRoleNormal.
/// Enables this button's built-in pointer interaction.
@property (nonatomic, readwrite, assign, getter = isPointerInteractionEnabled) BOOL pointerInteractionEnabled API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos);
@@ -77,12 +100,18 @@
* @abstract Called when the system pointer hovers over this button if its pointer interaction is enabled. The
* system calls this block with a proposed UIPointerEffect and UIPointerShape. You may use them to construct
* a customized version of the system provided style or return an entirely custom one.
+ * Setting this property automatically enables the button's pointer interaction and sets @c pointerInteractionEnabled to true.
*/
@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);
+/// 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);
+
// 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
// by other states which don't have a custom value set
@@ -118,23 +147,37 @@
// return title and image views. will always create them if necessary. always returns nil for system buttons
@property(nullable, nonatomic,readonly,strong) UILabel *titleLabel API_AVAILABLE(ios(3.0));
@property(nullable, nonatomic,readonly,strong) UIImageView *imageView API_AVAILABLE(ios(3.0));
+/// The label used to display the subtitle, when present.
+@property(nonatomic, readonly, strong, nullable) UILabel *subtitleLabel API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
-// these return the rectangle for the background (assumes bounds), the content (image + title) and for the image and title separately. the content rect is calculated based
-// on the title and image size and padding and then adjusted based on the control content alignment. there are no draw methods since the contents
-// are rendered in separate subviews (UIImageView, UILabel)
-
-- (CGRect)backgroundRectForBounds:(CGRect)bounds;
-- (CGRect)contentRectForBounds:(CGRect)bounds;
-- (CGRect)titleRectForContentRect:(CGRect)contentRect;
-- (CGRect)imageRectForContentRect:(CGRect)contentRect;
@end
-@interface UIButton(UIButtonDeprecated)
+@interface UIButton(/*UIButtonDeprecated*/)
@property(nonatomic,strong) UIFont *font API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
@property(nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(tvos);
@property(nonatomic) CGSize titleShadowOffset API_DEPRECATED("", ios(2.0, 3.0)) 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("", ios(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("", ios(2.0,15.0)); // default is UIEdgeInsetsZero
+@property(nonatomic) UIEdgeInsets imageEdgeInsets API_DEPRECATED("", ios(2.0,15.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("", ios(2.0,15.0)); // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
+@property(nonatomic) BOOL adjustsImageWhenHighlighted API_DEPRECATED("", ios(2.0,15.0)); // default is YES. if YES, image is drawn darker when highlighted(pressed)
+@property(nonatomic) BOOL adjustsImageWhenDisabled API_DEPRECATED("", ios(2.0,15.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("", ios(2.0,15.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("", ios(2.0,15.0));
+- (CGRect)contentRectForBounds:(CGRect)bounds API_DEPRECATED("", ios(2.0,15.0));
+- (CGRect)titleRectForContentRect:(CGRect)contentRect API_DEPRECATED("", ios(2.0,15.0));
+- (CGRect)imageRectForContentRect:(CGRect)contentRect API_DEPRECATED("", ios(2.0,15.0));
+
@end
#if TARGET_OS_IOS
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 2021-06-02 12:47:49.000000000 -0400
@@ -0,0 +1,128 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIButtonConfiguration.h>)
+//
+// UIButtonConfiguration.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIBackgroundConfiguration.h>
+
+@class UIImageSymbolConfiguration;
+@class UIButton;
+@class UIImage;
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NSDictionary<NSAttributedStringKey, id> *_Nonnull (^UIConfigurationTextAttributesTransformer)(NSDictionary<NSAttributedStringKey, id> *textAttributes) API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+typedef NS_ENUM(NSInteger, UIButtonConfigurationSize) {
+ UIButtonConfigurationSizeMedium,
+ UIButtonConfigurationSizeSmall,
+ UIButtonConfigurationSizeMini,
+ UIButtonConfigurationSizeLarge,
+} API_AVAILABLE(ios(15.0));
+
+typedef NS_ENUM(NSInteger, UIButtonConfigurationTitleAlignment) {
+ /// Align title & subtitle automatically
+ UIButtonConfigurationTitleAlignmentAutomatic,
+ /// Align title & subtitle along their leading edges
+ UIButtonConfigurationTitleAlignmentLeading,
+ /// Align title & subtitle to be centered with respect to each other
+ UIButtonConfigurationTitleAlignmentCenter,
+ /// Align title & subtitle along their trailing edges
+ UIButtonConfigurationTitleAlignmentTrailing,
+} API_AVAILABLE(ios(15.0));
+
+typedef NS_ENUM(NSInteger, UIButtonConfigurationCornerStyle) {
+ /// The corner radius provided by the background style will be used as is, without adjusting for dynamic type
+ UIButtonConfigurationCornerStyleFixed = -1,
+ /// The corner radius provided by the background style is adjusted based on dynamic type
+ UIButtonConfigurationCornerStyleDynamic,
+ /// Ignore the corner radius provided by the background style and substitute a small system defined corner radius.
+ UIButtonConfigurationCornerStyleSmall,
+ /// Ignore the corner radius provided by the background style and substitute a medium system defined corner radius.
+ UIButtonConfigurationCornerStyleMedium,
+ /// Ignore the corner radius provided by the background style and substitute a large system defined corner radius.
+ UIButtonConfigurationCornerStyleLarge,
+ /// Ignore the corner radius provided by the background style and always set the corner radius to generate a capsule.
+ UIButtonConfigurationCornerStyleCapsule,
+} API_AVAILABLE(ios(15.0));
+
+typedef NS_ENUM(NSInteger, UIButtonConfigurationMacIdiomStyle) {
+ /// Automatically select the style to use
+ UIButtonConfigurationMacIdiomStyleAutomatic,
+ /// Always use a bordered style button
+ UIButtonConfigurationMacIdiomStyleBordered,
+ /// Always use a borderless style button
+ UIButtonConfigurationMacIdiomStyleBorderless,
+ /// Always use a tinted, borderless style button
+ UIButtonConfigurationMacIdiomStyleBorderlessTinted,
+} API_AVAILABLE(ios(15.0));
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIButtonConfiguration : NSObject <NSCopying, NSSecureCoding>
+
++ (instancetype)plainButtonConfiguration;
++ (instancetype)tintedButtonConfiguration;
++ (instancetype)grayButtonConfiguration;
++ (instancetype)filledButtonConfiguration;
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns a copy of the configuration updated based on the given button, by applying the configuration's default values for that button's state to any properties that have not been customized.
+- (instancetype)updatedConfigurationForButton:(UIButton *)button;
+
+/// A UIBackgroundConfiguration describing the button's background. UIKit provides a value by default with values appropriate for a UIButton.
+@property (nonatomic, readwrite, strong) UIBackgroundConfiguration *background;
+
+/// The corner style controls how background.cornerRadius is interpreted by the button. Defaults to `Dynamic`.
+@property (nonatomic, readwrite, assign) UIButtonConfigurationCornerStyle cornerStyle;
+
+/// Determines the metrics and ideal size of the button. Clients may resize the button arbitrarily regardless of this value.
+@property (nonatomic, readwrite, assign) UIButtonConfigurationSize buttonSize;
+
+// Button style to use when running under the Mac idiom.
+@property (nonatomic, readwrite, assign) UIButtonConfigurationMacIdiomStyle macIdiomStyle;
+
+/// The base color to use for foreground elements. This color may be modified before being passed to a transformer, and finally applied to specific elements. Setting nil will cede full control to the configuration to select a color appropriate to the style.
+@property (nonatomic, readwrite, strong, nullable) UIColor *baseForegroundColor;
+
+/// The base color to use for background elements. This color may be modified before being passed to a transformer, and finally applied to specific elements. Setting nil will cede full control to the configuration to select a color appropriate to the style.
+@property (nonatomic, readwrite, strong, nullable) UIColor *baseBackgroundColor;
+
+@property (nonatomic, readwrite, strong, nullable) UIImage *image;
+@property (nonatomic, readwrite, copy, nullable) UIConfigurationColorTransformer imageColorTransformer;
+@property (nonatomic, readwrite, copy, nullable) UIImageSymbolConfiguration *preferredSymbolConfigurationForImage;
+
+/// Shows an activity indicator in place of an image. Its placement is controlled by the imagePlacement property.
+@property (nonatomic, readwrite, assign) BOOL showsActivityIndicator;
+
+@property (nonatomic, readwrite, copy, nullable) NSString *title;
+@property (nonatomic, readwrite, copy, nullable) NSAttributedString *attributedTitle;
+@property (nonatomic, readwrite, copy, nullable) UIConfigurationTextAttributesTransformer titleTextAttributesTransformer;
+
+@property (nonatomic, readwrite, copy, nullable) NSString *subtitle;
+@property (nonatomic, readwrite, copy, nullable) NSAttributedString *attributedSubtitle;
+@property (nonatomic, readwrite, copy, nullable) UIConfigurationTextAttributesTransformer subtitleTextAttributesTransformer;
+
+/// Insets from the bounds of the button to create the content region. Defaults styles provide insets based on the button size.
+@property (nonatomic, readwrite, assign) NSDirectionalEdgeInsets contentInsets;
+/// Defaults to Leading, only single edge values (top/leading/bottom/trailing) are supported.
+@property (nonatomic, readwrite, assign) NSDirectionalRectEdge imagePlacement;
+/// When a button has both image and text content, this value is the padding between the image and the text.
+@property (nonatomic, readwrite, assign) CGFloat imagePadding;
+/// When a button has both a title & subtitle, this value is the padding between those titles.
+@property (nonatomic, readwrite, assign) CGFloat titlePadding;
+/// The alignment to use for relative layout between title & subtitle.
+@property (nonatomic, readwrite, assign) UIButtonConfigurationTitleAlignment titleAlignment;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UIButtonConfiguration.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2021-03-16 08:48:12.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2021-06-02 11:08:52.000000000 -0400
@@ -32,7 +32,7 @@
/// Abstract base class. Do not instantiate directly.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessory : NSObject <NSCopying, NSSecureCoding>
/// The state(s) for which the accessory should be displayed.
@@ -58,19 +58,19 @@
/// A disclosure chevron that points in the trailing direction.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryDisclosureIndicator : UICellAccessory
@end
/// A checkmark with default green color.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryCheckmark : UICellAccessory
@end
/// A delete control (minus sign inside a circle) with default red color.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryDelete : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -83,7 +83,7 @@
/// An insert control (plus sign inside a circle) with default green color.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryInsert : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -97,7 +97,7 @@
/// A reorder control (three horizontal lines) with default gray color that automatically initiates interactive
/// reordering on the collection view when dragged (if supported).
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryReorder : UICellAccessory
/// Whether a vertical separator is displayed before the accessory when it is placed after another accessory. Default is YES.
@@ -108,7 +108,7 @@
/// A two-state control whose appearance follows the selection state of the cell (empty circle when deselected,
/// filled circle with checkmark when selected).
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryMultiselect : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -129,7 +129,7 @@
} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos);
/// A rotating disclosure chevron for use with outlines, used to indicate and toggle the expanded/collapsed state of the item.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryOutlineDisclosure : UICellAccessory
/// The style of the outline disclosure accessory. Default is automatic.
@@ -143,7 +143,7 @@
/// A label displaying a short string of text, typically a small number such as a count for the associated item.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryLabel : UICellAccessory
/// Creates a new label accessory using the provided text.
@@ -181,7 +181,7 @@
/// An accessory using a custom view.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryCustomView : UICellAccessory
/// Creates a new custom view accessory using the provided view and specified placement. The custom view must have translatesAutoresizingMaskIntoConstraints
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h 2021-06-02 05:36:03.000000000 -0400
@@ -30,7 +30,7 @@
} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICellConfigurationState : UIViewConfigurationState
@property (nonatomic, getter=isEditing) BOOL editing;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICloudSharingController.h 2021-06-02 05:35:53.000000000 -0400
@@ -26,7 +26,7 @@
UICloudSharingPermissionAllowReadWrite = 1 << 3, // The user is allowed to grant participants read/write permissions
} API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
-API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UICloudSharingControllerDelegate <NSObject>
- (void)cloudSharingController:(UICloudSharingController *)csc failedToSaveShareWithError:(NSError *)error;
@@ -45,7 +45,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) @interface UICloudSharingController : UIViewController
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UICloudSharingController : UIViewController
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h 2021-03-16 13:59:18.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h 2021-06-02 05:38:40.000000000 -0400
@@ -55,7 +55,7 @@
/// A list configuration can be used to layout a section inside a UICollectionViewCompositionalLayout as a list.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionLayoutListConfiguration : NSObject <NSCopying>
+ (instancetype)new NS_UNAVAILABLE;
@@ -104,6 +104,9 @@
/// Defines whether the section has a footer. Defaults to UICollectionLayoutListFooterModeNone.
@property (nonatomic) UICollectionLayoutListFooterMode footerMode;
+/// Padding above each section header. The default value is `UICollectionViewLayoutAutomaticDimension`
+@property (nonatomic) CGFloat headerTopPadding API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2021-03-16 09:56:21.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2021-06-02 12:47:50.000000000 -0400
@@ -43,6 +43,7 @@
@class UIDragItem, UIDragPreviewParameters, UIDragPreviewTarget;
@class UICollectionViewDropProposal, UICollectionViewPlaceholder, UICollectionViewDropPlaceholder;
@class UICollectionViewCellRegistration, UICollectionViewSupplementaryRegistration;
+@class UIWindowSceneActivationConfiguration;
@protocol UIDataSourceTranslating, UISpringLoadedInteractionContext;
@protocol UIDragSession, UIDropSession;
@protocol UICollectionViewDragDelegate, UICollectionViewDropDelegate, UICollectionViewDropCoordinator, UICollectionViewDropItem, UICollectionViewDropPlaceholderContext;
@@ -50,13 +51,15 @@
// layout transition block signature
typedef void (^UICollectionViewLayoutInteractiveTransitionCompletion)(BOOL completed, BOOL finished);
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UICollectionViewFocusUpdateContext : UIFocusUpdateContext
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewFocusUpdateContext : UIFocusUpdateContext
@property (nonatomic, strong, readonly, nullable) NSIndexPath *previouslyFocusedIndexPath;
@property (nonatomic, strong, readonly, nullable) NSIndexPath *nextFocusedIndexPath;
@end
+NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDataSource <NSObject>
@required
@@ -84,6 +87,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDataSourcePrefetching <NSObject>
@required
// indexPaths are ordered ascending by geometric distance from the collection view
@@ -96,6 +100,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDelegate <UIScrollViewDelegate>
@optional
@@ -138,7 +143,12 @@
- (void)collectionView:(UICollectionView *)collectionView didUpdateFocusInContext:(UICollectionViewFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator API_AVAILABLE(ios(9.0));
- (nullable NSIndexPath *)indexPathForPreferredFocusedViewInCollectionView:(UICollectionView *)collectionView API_AVAILABLE(ios(9.0));
-- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveFromItemAtIndexPath:(NSIndexPath *)originalIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_AVAILABLE(ios(9.0));
+/// Determines if the item at the specified index path should also become selected when focus moves to it.
+/// If the collection view's global selectionFollowsFocus is enabled but this delegate returns NO, focus will still move to the cell upon selection, but the cell will no longer become selected when focus moves to it.
+- (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));
- (CGPoint)collectionView:(UICollectionView *)collectionView targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset API_AVAILABLE(ios(9.0)); // customize the content offset to be applied during transition or update animations
@@ -252,9 +262,19 @@
*/
- (void)collectionView:(UICollectionView *)collectionView willEndContextMenuInteractionWithConfiguration:(UIContextMenuConfiguration *)configuration animator:(nullable id<UIContextMenuInteractionAnimating>)animator API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos, tvos);
+/*!
+ * @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.
+ *
+ * @param collectionView The collection view
+ * @param indexPath The index path of the cell being interacted with
+ * @param point The centroid of the interaction in the collection view's coordinate space.
+ */
+- (nullable UIWindowSceneActivationConfiguration *)collectionView:(UICollectionView *)collectionView sceneActivationConfigurationForItemAtIndexPath:(NSIndexPath *)indexPath point:(CGPoint)point API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+
@end
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionView : UIScrollView <UIDataSourceTranslating>
- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -270,9 +290,9 @@
@property (nonatomic, weak, nullable) id <UICollectionViewDropDelegate> dropDelegate API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-/* To enable intra-app drags on iPhone, set this to YES.
- * You can also force drags to be disabled for this collection view by setting this to NO.
- * By default, For iPad this will return YES and iPhone will return NO.
+/*
+ * You can force drags to be disabled for this collection view by setting this to NO.
+ * As of iOS 15, this is true for both iPhone and iPad by default. Prior to iOS 15, it defaulted to false on iPhone.
*/
@property (nonatomic) BOOL dragInteractionEnabled API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
@@ -315,7 +335,7 @@
- (void)reloadData; // discard the dataSource and delegate data and requery as necessary
- (void)setCollectionViewLayout:(UICollectionViewLayout *)layout animated:(BOOL)animated; // transition from one layout to another
-- (void)setCollectionViewLayout:(UICollectionViewLayout *)layout animated:(BOOL)animated completion:(void (^ __nullable)(BOOL finished))completion API_AVAILABLE(ios(7.0));
+- (void)setCollectionViewLayout:(UICollectionViewLayout *)layout animated:(BOOL)animated completion:(void (^ __nullable)(BOOL finished))completion NS_SWIFT_DISABLE_ASYNC API_AVAILABLE(ios(7.0));
- (UICollectionViewTransitionLayout *)startInteractiveTransitionToCollectionViewLayout:(UICollectionViewLayout *)layout completion:(nullable UICollectionViewLayoutInteractiveTransitionCompletion)completion API_AVAILABLE(ios(7.0));
- (void)finishInteractiveTransition API_AVAILABLE(ios(7.0));
@@ -332,7 +352,9 @@
- (nullable NSIndexPath *)indexPathForItemAtPoint:(CGPoint)point;
- (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;
+
@property (nonatomic, readonly) NSArray<__kindof UICollectionViewCell *> *visibleCells;
@property (nonatomic, readonly) NSArray<NSIndexPath *> *indexPathsForVisibleItems;
@@ -347,15 +369,18 @@
// These methods allow dynamic modification of the current set of items in the collection view
- (void)insertSections:(NSIndexSet *)sections;
- (void)deleteSections:(NSIndexSet *)sections;
-- (void)reloadSections:(NSIndexSet *)sections;
- (void)moveSection:(NSInteger)section toSection:(NSInteger)newSection;
+- (void)reloadSections:(NSIndexSet *)sections;
- (void)insertItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;
- (void)deleteItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;
-- (void)reloadItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;
- (void)moveItemAtIndexPath:(NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath;
+- (void)reloadItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;
+// Reconfigures any existing cells for the items. Reconfiguring is more efficient than reloading an item, as it does not replace the
+// existing cell with a new cell. Prefer reconfiguring over reloading unless you actually need an entirely new cell for the item.
+- (void)reconfigureItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
-- (void)performBatchUpdates:(void (NS_NOESCAPE ^ _Nullable)(void))updates completion:(void (^ _Nullable)(BOOL finished))completion; // allows multiple insert/delete/reload/move calls to be animated simultaneously. Nestable.
+- (void)performBatchUpdates:(void (NS_NOESCAPE ^ _Nullable)(void))updates completion:(void (^ _Nullable)(BOOL finished))completion NS_SWIFT_DISABLE_ASYNC; // allows multiple insert/delete/reload/move calls to be animated simultaneously. Nestable.
// Support for reordering
- (BOOL)beginInteractiveMovementForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(9.0)); // returns NO if reordering was prevented from beginning - otherwise YES
@@ -369,6 +394,16 @@
// When enabled, the collection view ensures that selection is automatically triggered when focus moves to a cell.
@property (nonatomic) BOOL selectionFollowsFocus API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
+/// Determines if the collection view allows its cells to become focused.
+/// When collectionView:canFocusItemAtIndexPath: is implemented, its return value takes precedence over this method.
+/// Defaults to a system derived value based on platform and other properties of the collection view.
+@property (nonatomic) BOOL allowsFocus API_AVAILABLE(ios(15.0), tvos(15.0));
+
+/// Determines if the collection view allows its cells to become focused while editing.
+/// When collectionView:canFocusItemAtIndexPath: is implemented, its return value takes precedence over this method.
+/// Defaults to a system derived value based on platform and other properties of the collection view.
+@property (nonatomic) BOOL allowsFocusDuringEditing API_AVAILABLE(ios(15.0), tvos(15.0));
+
// Drag & Drop
/* YES if a drag session is currently active. A drag session begins after items are "lifted" from the collection view.
@@ -407,7 +442,7 @@
@end
#endif
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDragDelegate <NSObject>
@required
@@ -454,7 +489,7 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDropDelegate <NSObject>
@required
@@ -524,7 +559,7 @@
} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewDropProposal : UIDropProposal
- (instancetype)initWithDropOperation:(UIDropOperation)operation intent:(UICollectionViewDropIntent)intent;
@@ -536,7 +571,7 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDropCoordinator <NSObject>
/* Ordered list of items available for this drop.
@@ -588,7 +623,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos,watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos,watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewPlaceholder : NSObject
- (instancetype)initWithInsertionIndexPath:(NSIndexPath*)insertionIndexPath reuseIdentifier:(NSString *)reuseIdentifier NS_DESIGNATED_INITIALIZER;
@@ -601,7 +636,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos,watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos,watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewDropPlaceholder : UICollectionViewPlaceholder
/* If specified, will be used to modify the appearance (e.g. visiblePath to supply a "cut out" region of the placeholder cell) of the animating dropped item.
@@ -611,7 +646,7 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDropItem <NSObject>
@property (nonatomic, readonly) UIDragItem *dragItem;
@@ -631,7 +666,7 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDropPlaceholderContext <UIDragAnimating>
/* Retrieve drop data from the dragItem's itemProvider.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h 2021-03-16 09:56:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h 2021-06-02 05:36:07.000000000 -0400
@@ -19,6 +19,7 @@
@class UICellConfigurationState;
@class UIBackgroundConfiguration;
@protocol UIContentConfiguration;
+@class UICollectionViewCell;
typedef NS_ENUM(NSInteger, UICollectionViewCellDragState) {
UICollectionViewCellDragStateNone,
@@ -33,7 +34,8 @@
UICollectionViewCellDragStateDragging
} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionReusableView : UIView
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionReusableView : UIView
@property (nonatomic, readonly, copy, nullable) NSString *reuseIdentifier;
@@ -56,7 +58,11 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewCell : UICollectionReusableView
+
+typedef void (^UICollectionViewCellConfigurationUpdateHandler)(__kindof UICollectionViewCell *cell, UICellConfigurationState *state) API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewCell : UICollectionReusableView
/// Returns the current configuration state for the cell.
/// To add your own custom state(s), override the getter and call super to obtain an instance with the
@@ -71,6 +77,9 @@
/// Subclasses should override this method and update the cell's configuration using the state provided.
/// This method should not be called directly, use `setNeedsUpdateConfiguration` to request an update.
- (void)updateConfigurationUsingState:(UICellConfigurationState *)state API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+/// Optional block-based alternative to overriding `-updateConfigurationUsingState:` in a subclass. This handler
+/// is called after `-updateConfigurationUsingState:`. Setting a new handler triggers `setNeedsUpdateConfiguration`.
+@property (nonatomic, copy, nullable) UICollectionViewCellConfigurationUpdateHandler configurationUpdateHandler API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
/// Setting a content configuration replaces the existing contentView of the cell with a new content view instance from the configuration,
/// or directly applies the configuration to the existing content view if the configuration is compatible with the existing content view type.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2021-06-02 12:44:45.000000000 -0400
@@ -37,7 +37,7 @@
} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewCompositionalLayoutConfiguration : NSObject<NSCopying>
@property(nonatomic) UICollectionViewScrollDirection scrollDirection; // default is UICollectionViewScrollDirectionVertical
@property(nonatomic) CGFloat interSectionSpacing; // default is 0
@@ -47,7 +47,7 @@
typedef NSCollectionLayoutSection * _Nullable (^UICollectionViewCompositionalLayoutSectionProvider)(NSInteger section, id<NSCollectionLayoutEnvironment>);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewCompositionalLayout : UICollectionViewLayout
- (instancetype)initWithSection:(NSCollectionLayoutSection*)section;
- (instancetype)initWithSection:(NSCollectionLayoutSection*)section configuration:(UICollectionViewCompositionalLayoutConfiguration*)configuration;
@@ -87,7 +87,7 @@
typedef void (^NSCollectionLayoutSectionVisibleItemsInvalidationHandler)(NSArray<id<NSCollectionLayoutVisibleItem>> *visibleItems, CGPoint contentOffset, id<NSCollectionLayoutEnvironment> layoutEnvironment);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+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;
- (instancetype)init NS_UNAVAILABLE;
@@ -116,7 +116,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutItem : NSObject<NSCopying>
+ (instancetype)itemWithLayoutSize:(NSCollectionLayoutSize*)layoutSize;
+ (instancetype)itemWithLayoutSize:(NSCollectionLayoutSize*)layoutSize supplementaryItems:(NSArray<NSCollectionLayoutSupplementaryItem*>*)supplementaryItems;
@@ -170,7 +170,7 @@
@property(nonatomic,readonly) NSArray<NSCollectionLayoutSupplementaryItem*> *supplementaryItems;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutGroupCustomItem : NSObject<NSCopying>
+ (instancetype)customItemWithFrame:(CGRect)frame;
+ (instancetype)customItemWithFrame:(CGRect)frame zIndex:(NSInteger)zIndex;
@@ -184,7 +184,7 @@
typedef NSArray<NSCollectionLayoutGroupCustomItem*> * _Nonnull(^NSCollectionLayoutGroupCustomItemProvider)(id<NSCollectionLayoutEnvironment> layoutEnvironment);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutGroup : NSCollectionLayoutItem<NSCopying>
// Specifies a group that will have N items equally sized along the horizontal axis. use interItemSpacing to insert space between items
@@ -203,7 +203,7 @@
+ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count;
// Specifies a group that will repeat items until available horizontal space is exhausted.
-// note: any remaining space after laying out items can be apportioned among flexible interItemSpacing defintions
+// note: any remaining space after laying out items can be apportioned among flexible interItemSpacing definitions
+ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitems:(NSArray<NSCollectionLayoutItem*>*)subitems;
// Specifies a group that will have N items equally sized along the vertical axis. use interItemSpacing to insert space between items
@@ -228,7 +228,7 @@
+ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count;
// Specifies a group that will repeat items until available vertical space is exhausted.
-// note: any remaining space after laying out items can be apportioned among flexible interItemSpacing defintions
+// note: any remaining space after laying out items can be apportioned among flexible interItemSpacing definitions
+ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize subitems:(NSArray<NSCollectionLayoutItem*>*)subitems;
// Specifies a custom group with client-specified frames.
@@ -253,7 +253,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutDimension : NSObject<NSCopying>
// dimension is computed as a fraction of the width of the containing group
+ (instancetype)fractionalWidthDimension:(CGFloat)fractionalWidth;
@@ -277,7 +277,7 @@
@property(nonatomic,readonly) CGFloat dimension;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutSize : NSObject<NSCopying>
+ (instancetype)sizeWithWidthDimension:(NSCollectionLayoutDimension*)width heightDimension:(NSCollectionLayoutDimension*)height;
- (instancetype)init NS_UNAVAILABLE;
@@ -287,7 +287,7 @@
@property(nonatomic,readonly) NSCollectionLayoutDimension *heightDimension;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutSpacing : NSObject<NSCopying>
+ (instancetype)flexibleSpacing:(CGFloat)flexibleSpacing; // i.e. >=
+ (instancetype)fixedSpacing:(CGFloat)fixedSpacing; // i.e. ==
@@ -300,7 +300,7 @@
@property(nonatomic,readonly) BOOL isFixedSpacing;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutEdgeSpacing : NSObject<NSCopying>
// Edge spacing specifies additional outsets around items required when performing layout.
@@ -343,7 +343,7 @@
@property(nonatomic,readonly,nullable) NSCollectionLayoutSpacing *bottom;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutSupplementaryItem : NSCollectionLayoutItem<NSCopying>
// Supplementary items are positioned (i.e. anchored) to coordinate spaces throughout the layout
@@ -395,7 +395,7 @@
@property(nonatomic,readonly,nullable) NSCollectionLayoutAnchor *itemAnchor;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutBoundarySupplementaryItem : NSCollectionLayoutSupplementaryItem<NSCopying>
// Specify the alignment of the supplementary relative the containing geometry's coordinate space to
@@ -444,7 +444,7 @@
@property(nonatomic,readonly) CGPoint offset;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutDecorationItem : NSCollectionLayoutItem<NSCopying>
// Useful for setting a background decoration view behind a section's content area.
@@ -483,7 +483,7 @@
@property(nonatomic,readonly) NSString *elementKind;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutAnchor : NSObject<NSCopying>
// +------------------+ +------+ +------------------+
@@ -540,7 +540,7 @@
@property(nonatomic,readonly) BOOL isFractionalOffset;
@end
-API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@protocol NSCollectionLayoutContainer<NSObject>
@property(nonatomic,readonly) CGSize contentSize; // resolved size of container (before any insets are applied)
@property(nonatomic,readonly) CGSize effectiveContentSize; // after insets are applied
@@ -548,13 +548,13 @@
@property(nonatomic,readonly) NSDirectionalEdgeInsets effectiveContentInsets; // resolved value after resolving any unit values
@end
-API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@protocol NSCollectionLayoutEnvironment<NSObject>
@property(nonatomic,readonly) id<NSCollectionLayoutContainer> container;
@property(nonatomic,readonly) UITraitCollection *traitCollection;
@end
-API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0))
+API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
@protocol NSCollectionLayoutVisibleItem<NSObject,UIDynamicItem>
@property(nonatomic) CGFloat alpha;
@property(nonatomic) NSInteger zIndex;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewController.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewController.h 2021-06-02 05:36:05.000000000 -0400
@@ -15,7 +15,8 @@
@class UICollectionViewLayout;
@class UICollectionViewController;
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewController : UIViewController <UICollectionViewDelegate, UICollectionViewDataSource>
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewController : UIViewController <UICollectionViewDelegate, UICollectionViewDataSource>
- (instancetype)initWithCollectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h 2021-03-16 08:48:18.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h 2021-06-02 11:08:59.000000000 -0400
@@ -21,13 +21,15 @@
UICollectionViewFlowLayoutSectionInsetFromLayoutMargins
} API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UICollectionViewFlowLayoutInvalidationContext : UICollectionViewLayoutInvalidationContext
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewFlowLayoutInvalidationContext : UICollectionViewLayoutInvalidationContext
@property (nonatomic) BOOL invalidateFlowLayoutDelegateMetrics; // if set to NO, flow layout will not requery the collection view delegate for size information etc.
@property (nonatomic) BOOL invalidateFlowLayoutAttributes; // if set to NO, flow layout will keep all layout information, effectively not invalidating - useful for a subclass which invalidates only a piece of itself
@end
+NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDelegateFlowLayout <UICollectionViewDelegate>
@optional
@@ -40,7 +42,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewFlowLayout : UICollectionViewLayout
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewFlowLayout : UICollectionViewLayout
@property (nonatomic) CGFloat minimumLineSpacing;
@property (nonatomic) CGFloat minimumInteritemSpacing;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewItemRegistration.h 2021-06-02 05:36:08.000000000 -0400
@@ -15,7 +15,7 @@
// Cell Registration
-UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewCellRegistration : NSObject
+ (instancetype)registrationWithCellClass:(Class)cellClass configurationHandler:(UICollectionViewCellRegistrationConfigurationHandler)configurationHandler;
@@ -31,7 +31,7 @@
typedef void(^UICollectionViewSupplementaryRegistrationConfigurationHandler)(__kindof UICollectionReusableView * _Nonnull supplementaryView, NSString * _Nonnull elementKind, NSIndexPath * _Nonnull indexPath);
-UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewSupplementaryRegistration : NSObject
+ (instancetype)registrationWithSupplementaryClass:(Class)supplementaryClass elementKind:(NSString*)elementKind configurationHandler:(UICollectionViewSupplementaryRegistrationConfigurationHandler)configurationHandler;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h 2021-03-16 13:59:20.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h 2021-06-02 05:38:41.000000000 -0400
@@ -19,6 +19,8 @@
NS_ASSUME_NONNULL_BEGIN
+UIKIT_EXTERN const CGFloat UICollectionViewLayoutAutomaticDimension API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+
UIKIT_EXTERN NSString *const UICollectionElementKindSectionHeader API_AVAILABLE(ios(6.0));
UIKIT_EXTERN NSString *const UICollectionElementKindSectionFooter API_AVAILABLE(ios(6.0));
@@ -37,7 +39,8 @@
@class UICollectionView;
@class UINib;
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewLayoutAttributes : NSObject <NSCopying, UIDynamicItem>
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewLayoutAttributes : NSObject <NSCopying, UIDynamicItem>
@property (nonatomic) CGRect frame;
@property (nonatomic) CGPoint center;
@@ -59,7 +62,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UICollectionViewLayoutInvalidationContext : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewLayoutInvalidationContext : NSObject
@property (nonatomic, readonly) BOOL invalidateEverything; // set to YES when invalidation occurs because the collection view is sent -reloadData
@property (nonatomic, readonly) BOOL invalidateDataSourceCounts; // if YES, the layout should requery section and item counts from the collection view - set to YES when the collection view is sent -reloadData and when items are inserted or deleted
@@ -81,7 +85,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewLayout : NSObject <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewLayout : NSObject <NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewListCell.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewListCell.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewListCell.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewListCell.h 2021-06-02 05:36:08.000000000 -0400
@@ -14,7 +14,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14_0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14_0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewListCell : UICollectionViewCell
/// Returns a default list content configuration for the cell's style.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h 2021-06-02 05:36:01.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UICollectionViewTransitionLayout : UICollectionViewLayout
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewTransitionLayout : UICollectionViewLayout
@property (assign, nonatomic) CGFloat transitionProgress;
@property (readonly, nonatomic) UICollectionViewLayout *currentLayout;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewUpdateItem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewUpdateItem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewUpdateItem.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewUpdateItem.h 2021-06-02 05:36:04.000000000 -0400
@@ -19,7 +19,8 @@
UICollectionUpdateActionNone
};
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) @interface UICollectionViewUpdateItem : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+@interface UICollectionViewUpdateItem : NSObject
@property (nonatomic, readonly, nullable) NSIndexPath *indexPathBeforeUpdate; // nil for UICollectionUpdateActionInsert
@property (nonatomic, readonly, nullable) NSIndexPath *indexPathAfterUpdate; // nil for UICollectionUpdateActionDelete
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollisionBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollisionBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollisionBehavior.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollisionBehavior.h 2021-06-02 05:36:09.000000000 -0400
@@ -22,6 +22,7 @@
UICollisionBehaviorModeEverything = NSUIntegerMax
} API_AVAILABLE(ios(7.0));
+NS_SWIFT_UI_ACTOR
@protocol UICollisionBehaviorDelegate <NSObject>
@optional
@@ -35,7 +36,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UICollisionBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UICollisionBehavior : UIDynamicBehavior
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2021-03-16 09:56:22.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2021-06-02 07:36:14.000000000 -0400
@@ -20,7 +20,8 @@
@class UIImage;
@class UITraitCollection;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIColor : NSObject <NSSecureCoding, NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0))
+@interface UIColor : NSObject <NSSecureCoding, NSCopying>
// Convenience methods for creating colors
+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2021-03-16 13:57:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorPickerViewController.h 2021-06-02 05:36:10.000000000 -0400
@@ -13,13 +13,24 @@
@class UIColorPickerViewController;
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@protocol UIColorPickerViewControllerDelegate <NSObject>
@optional
/// Called when the `selectedColor` changes.
-- (void)colorPickerViewControllerDidSelectColor:(UIColorPickerViewController *)viewController;
+- (void)colorPickerViewControllerDidSelectColor:(UIColorPickerViewController *)viewController
+ API_DEPRECATED_WITH_REPLACEMENT("colorPickerViewController:didSelectColor:continuously:", ios(14.0, 15.0));
+
+/// Called when the selected color changes.
+///
+/// @param viewController This color picker.
+/// @param color The new selected color
+/// @param continuously YES, if this update is part of a continuous user interaction (e.g. dragging through the spectrum). It's recommended
+/// to show these updates in your UI but to not include them in any undo operations.
+- (void)colorPickerViewController:(UIColorPickerViewController *)viewController
+ didSelectColor:(UIColor *)color
+ continuously:(BOOL)continuously API_AVAILABLE(ios(15.0));
/// In presentations (except popovers) the color picker shows a close button. If the close button is tapped,
/// the view controller is dismissed and `colorPickerViewControllerDidFinish:` is called. Can be used to
@@ -28,7 +39,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UIColorPickerViewController : UIViewController
@property (nullable, weak, nonatomic) id<UIColorPickerViewControllerDelegate> delegate;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColorWell.h 2021-06-02 05:36:08.000000000 -0400
@@ -6,11 +6,12 @@
// Copyright © 2020 Apple Inc. All rights reserved.
//
+#import <Foundation/Foundation.h>
#import <UIKit/UIControl.h>
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIColorWell : UIControl
/// Title for the color picker.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICommand.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICommand.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICommand.h 2021-03-16 08:48:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICommand.h 2021-06-02 11:08:50.000000000 -0400
@@ -28,7 +28,8 @@
/// Represents an alternate action to take for a command.
///
/// Two alternates are equal iff their modifierFlags are equal.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UICommandAlternate : NSObject <NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UICommandAlternate : NSObject <NSCopying, NSSecureCoding>
/// Short display title.
@property (nonatomic, readonly) NSString *title;
@@ -57,7 +58,8 @@
@end
/// Represents an action to take.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UICommand : UIMenuElement
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UICommand : UIMenuElement
/// Short display title.
@property (nonatomic, copy) NSString *title;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIConfigurationState.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIConfigurationState.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIConfigurationState.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIConfigurationState.h 2021-06-02 05:35:58.000000000 -0400
@@ -15,7 +15,7 @@
typedef NSString * UIConfigurationStateCustomKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@protocol UIConfigurationState <NSObject, NSCopying, NSSecureCoding>
/// Returns a new instance with the specified trait collection.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h 2021-06-02 05:35:56.000000000 -0400
@@ -16,7 +16,7 @@
@class UITraitCollection;
@protocol UIContentView;
-API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@protocol UIContentConfiguration <NSObject, NSCopying>
/// Initializes and returns a new instance of the content view using this configuration.
@@ -28,7 +28,7 @@
@end
-API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@protocol UIContentView <NSObject>
/// Returns the current configuration of the view. Setting this property applies the new configuration to the view.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentSizeCategoryAdjusting.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentSizeCategoryAdjusting.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentSizeCategoryAdjusting.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentSizeCategoryAdjusting.h 2021-06-02 05:36:07.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @protocol UIContentSizeCategoryAdjusting <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) NS_SWIFT_UI_ACTOR
+@protocol UIContentSizeCategoryAdjusting <NSObject>
/*
Indicates whether the corresponding element should automatically update its font when the device’s UIContentSizeCategory is changed.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuConfiguration.h 2021-06-02 05:35:57.000000000 -0400
@@ -28,7 +28,8 @@
typedef UIViewController * _Nullable (^UIContextMenuContentPreviewProvider)(void);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @interface UIContextMenuConfiguration : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIContextMenuConfiguration : NSObject
@property (nonatomic, readonly) id<NSCopying> identifier;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h 2021-03-16 09:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextMenuInteraction.h 2021-06-02 11:08:48.000000000 -0400
@@ -28,7 +28,8 @@
UIContextMenuInteractionAppearanceCompact, // Non-modal, compact menu with no preview.
} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @interface UIContextMenuInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIContextMenuInteraction : NSObject <UIInteraction>
/// The interaction's delegate.
@property (nonatomic, weak, readonly) id<UIContextMenuInteractionDelegate> delegate;
@@ -65,17 +66,19 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIContextMenuInteractionAnimating <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIContextMenuInteractionAnimating <NSObject>
/// Displayed preview view controller.
@property (nonatomic, readonly, nullable) UIViewController *previewViewController;
- (void)addAnimations:(void (^)(void))animations;
-- (void)addCompletion:(void (^)(void))completion;
+- (void)addCompletion:(void (^)(void))completion NS_SWIFT_DISABLE_ASYNC;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIContextMenuInteractionCommitAnimating <UIContextMenuInteractionAnimating>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIContextMenuInteractionCommitAnimating <UIContextMenuInteractionAnimating>
/// Preferred animation style for the menu's commit action. Triggered when the user taps the preview.
@property (nonatomic) UIContextMenuInteractionCommitStyle preferredCommitStyle;
@@ -83,7 +86,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIContextMenuInteractionDelegate <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIContextMenuInteractionDelegate <NSObject>
/*!
* @abstract Called when the interaction begins.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextualAction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextualAction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextualAction.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContextualAction.h 2021-06-02 05:35:53.000000000 -0400
@@ -23,7 +23,7 @@
UIContextualActionStyleDestructive
} NS_SWIFT_NAME(UIContextualAction.Style) API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIContextualAction : NSObject
+ (instancetype)contextualActionWithStyle:(UIContextualActionStyle)style title:(nullable NSString *)title handler:(UIContextualActionHandler)handler;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h 2021-03-16 13:59:20.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h 2021-06-02 05:38:42.000000000 -0400
@@ -68,10 +68,12 @@
@class UITouch;
@class UIEvent;
+@class UIToolTipInteraction;
//______________________________________________________
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIControl : UIView
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIControl : UIView
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -136,6 +138,11 @@
/// 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);
+/// 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));
+/// Returns the control's default UIToolTipInteraction.
+@property (nonatomic, readonly, strong, nullable) UIToolTipInteraction *toolTipInteraction API_AVAILABLE(ios(15.0));
+
@end
#if TARGET_OS_IOS
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDataSourceTranslating.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDataSourceTranslating.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDataSourceTranslating.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDataSourceTranslating.h 2021-06-02 05:36:07.000000000 -0400
@@ -14,7 +14,7 @@
* to gather information in order to create UICollectionViewLayoutAttributes) this protocol allows
* translation between the data source index path into the presentation index path (i.e. layout) state.
*/
-API_AVAILABLE(ios(11.0), tvos(11.0))
+API_AVAILABLE(ios(11.0), tvos(11.0)) NS_SWIFT_UI_ACTOR
@protocol UIDataSourceTranslating <NSObject>
/* Translate (if needed) a Data Source section index to its Presentation section index value.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDatePicker.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDatePicker.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDatePicker.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDatePicker.h 2021-06-02 05:36:04.000000000 -0400
@@ -30,7 +30,8 @@
UIDatePickerStyleInline API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos),
} API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) @interface UIDatePicker : UIControl <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIDatePicker : UIControl <NSCoding>
@property (nonatomic) UIDatePickerMode datePickerMode; // default is UIDatePickerModeDateAndTime
@property (nullable, nonatomic, strong) NSLocale *locale; // default is [NSLocale currentLocale]. setting nil returns to default
@@ -52,6 +53,11 @@
/// The style that the date picker is using for its layout. This property always returns a concrete style (never automatic).
@property (nonatomic, readonly, assign) UIDatePickerStyle datePickerStyle API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
+/// When this property is YES, @c date will always round to the @c minuteInterval, and
+/// only emit dates that are aligned with the @c minuteInterval. Otherwise, any changes
+/// to @c date will ignore the @c minuteInterval property. Default is @c YES.
+@property (nonatomic) BOOL roundsToMinuteInterval API_AVAILABLE(ios(15.0));
+
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDeferredMenuElement.h 2021-06-02 05:36:08.000000000 -0400
@@ -10,7 +10,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) @interface UIDeferredMenuElement : UIMenuElement
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) NS_SWIFT_UI_ACTOR
+@interface UIDeferredMenuElement : UIMenuElement
/*!
* @abstract Returns a placeholder menu element that is replaced with the result of the block's
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h 2021-03-16 08:48:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h 2021-06-02 12:47:51.000000000 -0400
@@ -53,7 +53,8 @@
return ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown || (orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight);
}
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIDevice : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIDevice : NSObject
@property(class, nonatomic, readonly) UIDevice *currentDevice;
@@ -85,6 +86,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIInputViewAudioFeedback <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDiffableDataSource.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDiffableDataSource.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDiffableDataSource.h 2021-03-16 08:45:28.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDiffableDataSource.h 2021-06-02 11:09:01.000000000 -0400
@@ -60,6 +60,9 @@
- (void)moveItemWithIdentifier:(ItemIdentifierType)fromIdentifier afterItemWithIdentifier:(ItemIdentifierType)toIdentifier;
- (void)reloadItemsWithIdentifiers:(NSArray<ItemIdentifierType>*)identifiers;
+// Reconfigures any existing cells for the items. Reconfiguring is more efficient than reloading an item, as it does not replace the
+// existing cell with a new cell. Prefer reconfiguring over reloading unless you actually need an entirely new cell for the item.
+- (void)reconfigureItemsWithIdentifiers:(NSArray<ItemIdentifierType>*)identifiers API_AVAILABLE(ios(15.0), tvos(15.0));
// section operations
@@ -97,14 +100,14 @@
@property(nonatomic,readonly) NSArray<NSDiffableDataSourceSectionTransaction<SectionIdentifierType, ItemIdentifierType>*> *sectionTransactions;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewDiffableDataSourceReorderingHandlers<SectionType,ItemType> : NSObject<NSCopying>
@property(nonatomic,copy,nullable) BOOL(^canReorderItemHandler)(ItemType);
@property(nonatomic,copy,nullable) void(^willReorderHandler)(NSDiffableDataSourceTransaction<SectionType, ItemType> *);
@property(nonatomic,copy,nullable) void(^didReorderHandler)(NSDiffableDataSourceTransaction<SectionType, ItemType> *);
@end
-UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewDiffableDataSourceSectionSnapshotHandlers<ItemType> : NSObject<NSCopying>
@property(nonatomic,copy,nullable) BOOL(^shouldExpandItemHandler)(ItemType);
@property(nonatomic,copy,nullable) void(^willExpandItemHandler)(ItemType);
@@ -114,7 +117,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface UICollectionViewDiffableDataSource<SectionIdentifierType,ItemIdentifierType> : NSObject<UICollectionViewDataSource>
- (instancetype)initWithCollectionView:(UICollectionView*)collectionView cellProvider:(UICollectionViewDiffableDataSourceCellProvider)cellProvider;
@@ -126,24 +129,39 @@
// Create a snapshot of the current UICollectionView data source state.
// This snapshot can be mutated and later applied via -applySnapshot:animatingDifferences:
-- (NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot;
+- (NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot UIKIT_SWIFT_ACTOR_INDEPENDENT;
// Apply a snapshot to the collection view committing to the new data source state.
//
-// animatingDifferences == YES: perform a diff between the current UICollectionView state and the snapshot and animate the update.
-// animatingDifferences == NO: commit to the new collection view state from the snapshot. The changes will not be animated.
+// animatingDifferences == YES: perform a diff between the current UICollectionView state and the snapshot, and animate the update.
+// animatingDifferences == NO: perform a diff between the current UICollectionView state and the snapshot, but don't animate the update.
//
-// If the (optional) completion block is specified, it will be called on the main queue when the animations are completed.
+// If the (optional) completion block is specified, it will be called on the main queue when any animations are completed.
//
// Note: you may call this from a background queue which will cause the diff (if needed) to be generated on the calling queue and the
// final UI update to be applied back on the main queue. However, all applySnapshot invocations must be confined to the same queue.
// (if you violate this restriction and mix calls between the main queue and some background queue, the framework
// will log and/or assert to avoid deadlocks)
-- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences;
-- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences completion:(void(^ _Nullable)(void))completion;
+- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences UIKIT_SWIFT_ACTOR_INDEPENDENT;
+- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences completion:(void(^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC UIKIT_SWIFT_ACTOR_INDEPENDENT;
+
+// Apply a snapshot to the collection view using reloadData.
+//
+// This always skips diffing, and immediately resets the UICollectionView to the new data source state without animation.
+// Generally this should only be used for specific cases where you need to fully reset the collection view's data to the
+// new state immediately (e.g. recycling the collection view for use with a completely different data set), or when you
+// specifically want to skip diffing (e.g. applying an exceptionally large changeset).
+
+- (void)applySnapshotUsingReloadData:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(15.0), tvos(15.0));
+- (void)applySnapshotUsingReloadData:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot completion:(void(^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(15.0), tvos(15.0));
+
+// convert section index <-> SectionIdentifierType
-// convert IndexPath <-> ItemIdentifierType
+- (nullable SectionIdentifierType)sectionIdentifierForIndex:(NSInteger)index API_AVAILABLE(ios(15.0), tvos(15.0));
+- (NSInteger)indexForSectionIdentifier:(SectionIdentifierType)identifier API_AVAILABLE(ios(15.0), tvos(15.0));
+
+// convert item NSIndexPath <-> ItemIdentifierType
- (nullable ItemIdentifierType)itemIdentifierForIndexPath:(NSIndexPath*)indexPath;
- (nullable NSIndexPath*)indexPathForItemIdentifier:(ItemIdentifierType)identifier;
@@ -154,17 +172,17 @@
// Section Snapshot Support
-- (void)applySnapshot:(NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshot toSection:(SectionIdentifierType)sectionIdentifier animatingDifferences:(BOOL)animatingDifferences API_AVAILABLE(ios(14.0),tvos(14.0));
-- (void)applySnapshot:(NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshot toSection:(SectionIdentifierType)sectionIdentifier animatingDifferences:(BOOL)animatingDifferences completion:(void (^ _Nullable)(void))completion API_AVAILABLE(ios(14.0),tvos(14.0));
-- (NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshotForSection:(SectionIdentifierType)section API_AVAILABLE(ios(14.0),tvos(14.0));
+- (void)applySnapshot:(NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshot toSection:(SectionIdentifierType)sectionIdentifier animatingDifferences:(BOOL)animatingDifferences UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(14.0),tvos(14.0));
+- (void)applySnapshot:(NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshot toSection:(SectionIdentifierType)sectionIdentifier animatingDifferences:(BOOL)animatingDifferences completion:(void (^ _Nullable)(void))completion UIKIT_SWIFT_ACTOR_INDEPENDENT NS_SWIFT_DISABLE_ASYNC API_AVAILABLE(ios(14.0),tvos(14.0));
+- (NSDiffableDataSourceSectionSnapshot<ItemIdentifierType>*)snapshotForSection:(SectionIdentifierType)section UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(14.0),tvos(14.0));
@property(nonatomic,copy) UICollectionViewDiffableDataSourceSectionSnapshotHandlers<ItemIdentifierType> *sectionSnapshotHandlers API_AVAILABLE(ios(14.0),tvos(14.0));
@end
-typedef UITableViewCell * _Nullable (^UITableViewDiffableDataSourceCellProvider)(UITableView * _Nonnull, NSIndexPath * _Nonnull, id _Nonnull);
+typedef UITableViewCell * _Nullable (^UITableViewDiffableDataSourceCellProvider)(UITableView * _Nonnull tableView, NSIndexPath * _Nonnull indexPath, id _Nonnull itemIdentifier);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0)) NS_SWIFT_UI_ACTOR
@interface UITableViewDiffableDataSource<SectionIdentifierType,ItemIdentifierType> : NSObject<UITableViewDataSource>
- (instancetype)initWithTableView:(UITableView*)tableView cellProvider:(UITableViewDiffableDataSourceCellProvider)cellProvider;
@@ -174,24 +192,39 @@
// Create a snapshot of the current UITableView data source state.
// This snapshot can be mutated and later applied via -applySnapshot:animatingDifferences:
-- (NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot;
+- (NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot UIKIT_SWIFT_ACTOR_INDEPENDENT;
// Apply a snapshot to the table view committing to the new data source state.
//
-// animatingDifferences == YES: perform a diff between the current UITableView state and the snapshot and animate the update.
-// animatingDifferences == NO: commit to the new table view state from the snapshot. The changes will not be animated.
+// animatingDifferences == YES: perform a diff between the current UITableView state and the snapshot, and animate the update.
+// animatingDifferences == NO: perform a diff between the current UITableView state and the snapshot, but don't animate the update.
//
-// If the (optional) completion block is specified, it will be called on the main queue when the animations are completed.
+// If the (optional) completion block is specified, it will be called on the main queue when any animations are completed.
//
// Note: you may call this from a background queue which will cause the diff (if needed) to be generated on the calling queue and the
// final UI update to be applied back on the main queue. However, all applySnapshot invocations must be confined to the same queue.
// (if you violate this restriction and mix calls between the main queue and some background queue, the framework
// will log and/or assert to avoid deadlocks)
-- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences;
-- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences completion:(void(^ _Nullable)(void))completion;
+- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences UIKIT_SWIFT_ACTOR_INDEPENDENT;
+- (void)applySnapshot:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot animatingDifferences:(BOOL)animatingDifferences completion:(void(^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC UIKIT_SWIFT_ACTOR_INDEPENDENT;
+
+// Apply a snapshot to the table view using reloadData.
+//
+// This always skips diffing, and immediately resets the UITableView to the new data source state without animation.
+// Generally this should only be used for specific cases where you need to fully reset the table view's data to the
+// new state immediately (e.g. recycling the table view for use with a completely different data set), or when you
+// specifically want to skip diffing (e.g. applying an exceptionally large changeset).
+
+- (void)applySnapshotUsingReloadData:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(15.0), tvos(15.0));
+- (void)applySnapshotUsingReloadData:(NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>*)snapshot completion:(void(^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC UIKIT_SWIFT_ACTOR_INDEPENDENT API_AVAILABLE(ios(15.0), tvos(15.0));
+
+// convert section index <-> SectionIdentifierType
+
+- (nullable SectionIdentifierType)sectionIdentifierForIndex:(NSInteger)index API_AVAILABLE(ios(15.0), tvos(15.0));
+- (NSInteger)indexForSectionIdentifier:(SectionIdentifierType)identifier API_AVAILABLE(ios(15.0), tvos(15.0));
-// convert IndexPath <-> ItemIdentifierType
+// convert item NSIndexPath <-> ItemIdentifierType
- (nullable ItemIdentifierType)itemIdentifierForIndexPath:(NSIndexPath*)indexPath;
- (nullable NSIndexPath*)indexPathForItemIdentifier:(ItemIdentifierType)identifier;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h 2021-03-16 09:56:19.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocument.h 2021-06-02 12:44:50.000000000 -0400
@@ -35,7 +35,8 @@
UIKIT_EXTERN NSNotificationName const UIDocumentStateChangedNotification API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos) @interface UIDocument : NSObject <NSFilePresenter, NSProgressReporting>
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIDocument : NSObject <NSFilePresenter, NSProgressReporting>
#pragma mark *** Initialization ***
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentMenuViewController.h 2021-06-02 05:36:01.000000000 -0400
@@ -16,10 +16,11 @@
typedef NS_ENUM(NSUInteger, UIDocumentMenuOrder) {
UIDocumentMenuOrderFirst,
UIDocumentMenuOrderLast
-} NS_ENUM_DEPRECATED_IOS(8_0,11_0) API_UNAVAILABLE(tvos);
+} API_DEPRECATED("", ios(8.0, 11.0)) API_UNAVAILABLE(tvos);
API_DEPRECATED("UIDocumentMenuDelegate is deprecated. Use UIDocumentPickerViewController directly.", ios(8.0, 13.0))
-API_UNAVAILABLE(tvos) @protocol UIDocumentMenuDelegate <NSObject>
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDocumentMenuDelegate <NSObject>
- (void)documentMenu:(UIDocumentMenuViewController *)documentMenu didPickDocumentPicker:(UIDocumentPickerViewController *)documentPicker;
@optional
@@ -28,7 +29,8 @@
@end
UIKIT_EXTERN API_DEPRECATED("UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly.", ios(8.0, 11.0))
-API_UNAVAILABLE(tvos) @interface UIDocumentMenuViewController : UIViewController
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIDocumentMenuViewController : UIViewController
- (instancetype)initWithDocumentTypes:(NSArray <NSString *> *)allowedUTIs inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithURL:(NSURL *)url inMode:(UIDocumentPickerMode)mode NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h 2021-03-16 13:56:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerExtensionViewController.h 2021-06-02 05:35:52.000000000 -0400
@@ -13,7 +13,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_DEPRECATED("Use enumeration based NSFileProviderExtension instead", ios(8.0, 14.0)) API_UNAVAILABLE(tvos) @interface UIDocumentPickerExtensionViewController : UIViewController
+UIKIT_EXTERN API_DEPRECATED("Use enumeration based NSFileProviderExtension instead", ios(8.0, 14.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.
// In Import mode, any URL that the extension has access to is valid.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h 2021-03-16 08:45:22.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDocumentPickerViewController.h 2021-06-02 11:08:54.000000000 -0400
@@ -14,7 +14,8 @@
@class UIDocumentPickerViewController, UIDocumentMenuViewController, UTType;
-API_UNAVAILABLE(tvos) @protocol UIDocumentPickerDelegate <NSObject>
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDocumentPickerDelegate <NSObject>
@optional
@@ -33,7 +34,8 @@
UIDocumentPickerModeMoveToService
} API_DEPRECATED("Use appropriate initializers instead",ios(8.0,14.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UIDocumentPickerViewController : UIViewController
+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);
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragInteraction.h 2021-03-16 08:45:20.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragInteraction.h 2021-06-02 05:35:59.000000000 -0400
@@ -17,7 +17,8 @@
@class UIDragItem, UITargetedDragPreview;
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDragAnimating <NSObject>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDragAnimating <NSObject>
/* Instances of UIDragAnimating provide you a way to animate your own changes
* alongside the drag and drop system's animations.
@@ -26,12 +27,13 @@
* animated to their new values.
*/
- (void)addAnimations:(void (^)(void))animations;
-- (void)addCompletion:(void (^)(UIViewAnimatingPosition finalPosition))completion;
+- (void)addCompletion:(void (^)(UIViewAnimatingPosition finalPosition))completion NS_SWIFT_DISABLE_ASYNC;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDragInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDragInteraction : NSObject <UIInteraction>
- (instancetype)initWithDelegate:(id<UIDragInteractionDelegate>)delegate NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@@ -60,7 +62,8 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDragInteractionDelegate <NSObject>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDragInteractionDelegate <NSObject>
@required
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragItem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragItem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragItem.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragItem.h 2021-06-02 05:35:54.000000000 -0400
@@ -13,7 +13,8 @@
@class UIDragPreview;
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDragItem : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDragItem : NSObject
- (instancetype)initWithItemProvider:(NSItemProvider *)itemProvider NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreview.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreview.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreview.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreview.h 2021-06-02 05:35:56.000000000 -0400
@@ -14,7 +14,8 @@
@class UIDragPreviewParameters, UIView;
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDragPreview : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDragPreview : NSObject <NSCopying>
/* UIDragPreview is a preview used after a drag has started,
* when no lift, drop, or cancel animation is running.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreviewParameters.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreviewParameters.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreviewParameters.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreviewParameters.h 2021-06-02 05:35:53.000000000 -0400
@@ -10,7 +10,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDragPreviewParameters : UIPreviewParameters
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDragPreviewParameters : UIPreviewParameters
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragSession.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragSession.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragSession.h 2021-03-16 08:45:21.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDragSession.h 2021-06-02 05:36:00.000000000 -0400
@@ -14,7 +14,8 @@
@class UIDragItem, UIView;
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDragDropSession <NSObject>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDragDropSession <NSObject>
/* A common protocol used for both drag and drop sessions. */
@@ -65,7 +66,8 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDragSession <UIDragDropSession>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDragSession <UIDragDropSession>
/* Use `localContext` to attach additional information to this drag session,
* visible only inside the app that started the drag.
@@ -80,7 +82,8 @@
UIDropSessionProgressIndicatorStyleDefault, // A default indicator is displayed
} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDropSession <UIDragDropSession, NSProgressReporting>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDropSession <UIDragDropSession, NSProgressReporting>
/* The `UIDragSession` that corresponds to this `UIDropSession`.
* If the drag was started in a different app, this is nil.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDropInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDropInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDropInteraction.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDropInteraction.h 2021-06-02 05:38:37.000000000 -0400
@@ -15,7 +15,8 @@
@class UIDragItem, UITargetedDragPreview;
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDropInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDropInteraction : NSObject <UIInteraction>
- (instancetype)initWithDelegate:(id<UIDropInteractionDelegate>)delegate NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@@ -82,7 +83,8 @@
} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @interface UIDropProposal : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIDropProposal : NSObject <NSCopying>
- (instancetype)initWithDropOperation:(UIDropOperation)operation NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@@ -109,7 +111,8 @@
@end
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIDropInteractionDelegate <NSObject>
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIDropInteractionDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicAnimator.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicAnimator.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicAnimator.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicAnimator.h 2021-06-02 05:36:02.000000000 -0400
@@ -16,6 +16,7 @@
@class UIDynamicBehavior;
@class UIDynamicAnimator;
+NS_SWIFT_UI_ACTOR
@protocol UIDynamicAnimatorDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicBehavior.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicBehavior.h 2021-06-02 05:35:53.000000000 -0400
@@ -21,6 +21,7 @@
UIDynamicItemCollisionBoundsTypePath
} API_AVAILABLE(ios(9.0));
+NS_SWIFT_UI_ACTOR
@protocol UIDynamicItem <NSObject>
@property (nonatomic, readwrite) CGPoint center;
@@ -42,7 +43,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIDynamicItemGroup : NSObject <UIDynamicItem>
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIDynamicItemGroup : NSObject <UIDynamicItem>
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items;
@@ -50,7 +52,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIDynamicBehavior : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIDynamicBehavior : NSObject
- (void)addChildBehavior:(UIDynamicBehavior *)behavior;
- (void)removeChildBehavior:(UIDynamicBehavior *)behavior;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicItemBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicItemBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicItemBehavior.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDynamicItemBehavior.h 2021-06-02 05:36:04.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIDynamicItemBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIDynamicItemBehavior : UIDynamicBehavior
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h 2021-06-02 05:36:07.000000000 -0400
@@ -58,7 +58,8 @@
/// .button(2) == .secondary
UIKIT_EXTERN UIEventButtonMask UIEventButtonMaskForButtonNumber(NSInteger buttonNumber) NS_SWIFT_NAME(UIEventButtonMask.button(_:)) API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIEvent : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIEvent : NSObject
@property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
@property(nonatomic,readonly) UIEventSubtype subtype API_AVAILABLE(ios(3.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttribution.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttribution.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttribution.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttribution.h 2021-06-02 05:35:52.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos) @interface UIEventAttribution : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIEventAttribution : NSObject <NSCopying>
/// An identifier that is associated with the source of the attribution. For example, you may choose to use this as a campaign identifier to measure the effectiveness of different advertisement campaigns.
///
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttributionView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttributionView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttributionView.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEventAttributionView.h 2021-06-02 05:36:00.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos) @interface UIEventAttributionView : UIView
+UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIEventAttributionView : UIView
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h 2021-06-02 05:36:02.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
// UIFeedbackGenerator is an abstract class that should not be used directly
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) @interface UIFeedbackGenerator : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) 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
/// safe to call more than once before the generator receives an event, if events are still imminently possible
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFieldBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFieldBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFieldBehavior.h 2021-03-16 13:59:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFieldBehavior.h 2021-06-02 05:35:57.000000000 -0400
@@ -14,7 +14,8 @@
@class UIRegion;
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIFieldBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIFieldBehavior : UIDynamicBehavior
- (instancetype)init NS_UNAVAILABLE; // Use one of the convenience initializers
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2021-03-16 09:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocus.h 2021-06-02 05:38:26.000000000 -0400
@@ -11,7 +11,7 @@
#import <UIKit/UIFocusAnimationCoordinator.h>
#import <UIKit/UIKitDefines.h>
-@class UIView, UIFocusUpdateContext, UIFocusMovementHint;
+@class UIView, UIFocusUpdateContext, UIFocusMovementHint, UIFocusEffect;
@protocol UICoordinateSpace, UIFocusItemContainer;
typedef NS_OPTIONS(NSUInteger, UIFocusHeading) {
@@ -22,14 +22,25 @@
UIFocusHeadingRight = 1 << 3,
UIFocusHeadingNext = 1 << 4,
UIFocusHeadingPrevious = 1 << 5,
+ UIFocusHeadingFirst API_AVAILABLE(ios(13.0), tvos(13.0)) = 1 << 8,
+ UIFocusHeadingLast API_AVAILABLE(ios(13.0), tvos(13.0)) = 1 << 9,
} API_AVAILABLE(ios(9.0));
typedef NSString * UIFocusSoundIdentifier NS_TYPED_EXTENSIBLE_ENUM;
+/// These are focus group priorities that the system uses and that clients can use to make an item
+/// more or less important than these system states. Any priority below 0 will be ignored.
+typedef NSInteger UIFocusGroupPriority NS_TYPED_EXTENSIBLE_ENUM;
+extern UIFocusGroupPriority const UIFocusGroupPriorityIgnored API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+extern UIFocusGroupPriority const UIFocusGroupPriorityPreviouslyFocused API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+extern UIFocusGroupPriority const UIFocusGroupPriorityPrioritized API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+extern UIFocusGroupPriority const UIFocusGroupPriorityCurrentlyFocused API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+
NS_ASSUME_NONNULL_BEGIN
/// Objects conforming to UIFocusEnvironment influence and respond to focus behavior within a specific area of the screen that they control.
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @protocol UIFocusEnvironment <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusEnvironment <NSObject>
/// The preferred focus environments define where to search for the default focused item in an environment, such as when focus updates programmatically.
/// Starting from the target environment, each preferred focus environment is recursively searched in the order of the array until an eligible, focusable item is found.
@@ -74,7 +85,8 @@
/// Objects conforming to UIFocusItem are considered capable of participating in focus. Only UIFocusItems can ever be focused.
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @protocol UIFocusItem <UIFocusEnvironment>
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusItem <UIFocusEnvironment>
/// Indicates whether or not this item is currently allowed to become focused.
/// Returning NO restricts the item from being focusable, even if it is visible in the user interface. For example, UIControls return NO if they are disabled.
@@ -85,6 +97,18 @@
@optional
+/// Describes a visual effect to apply when this item is focused. When not implemented, the system may create a default effect for this item.
+/// Returning nil indicates that the system should not apply any visual effects, and that the app will handle applying the appropriate visuals.
+@property (nonatomic, nullable, readonly, copy) UIFocusEffect *focusEffect API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// The priority this item has in its focus group. The higher the priority, the more likely it is to get picked when focus moves into this group.
+/// Note: this method can only be used to increase an item's priority, not decrease it. For example if an item is currently selected, the actual priority of this item will be determined by MAX(focusGroupPriority, UIFocusGroupPrioritySelected).
+@property (nonatomic, readonly) UIFocusGroupPriority focusGroupPriority API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+
+/// If this returns YES, the focus item is considered transparent in terms of occlusion. Items that are behind it are focusable.
+/// This value is ignored when the item is focusable, in which case the item is never considered transparent.
+@property (nonatomic, readonly) BOOL isTransparentFocusItem API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+
/// Called whenever this focus item is hinting to the user a focus movement might occur.
/// The provided object is mutated by the focus engine whenever the user's finger moves.
- (void)didHintFocusMovement:(UIFocusMovementHint *)hint API_AVAILABLE(ios(12.0));
@@ -94,7 +118,8 @@
/// Objects conforming to UIFocusItemContainer are responsible for providing which focus items they
/// contain and where they are.
-UIKIT_EXTERN API_AVAILABLE(ios(12.0)) @protocol UIFocusItemContainer <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(12.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusItemContainer <NSObject>
/// The coordinate space of the focus items contained in this container. The focus items returned by focusItemsInRect: should report their frames in this coordinate space.
/// If you are implementing this protocol, you may find it convenient to return the UIScreen as your coordinate space, and ensure that your contained items report their frames in screen space.
@@ -110,7 +135,8 @@
/// Objects conforming to UIFocusItemScrollableContainer are updated accordingly to ensure the
/// focused item remains visible on the screen.
-UIKIT_EXTERN API_AVAILABLE(ios(12.0)) @protocol UIFocusItemScrollableContainer <UIFocusItemContainer>
+UIKIT_EXTERN API_AVAILABLE(ios(12.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusItemScrollableContainer <UIFocusItemContainer>
/// The current content offset of this scrollable container. If the scrollable container has a `bounds` property, `bounds.origin` must be equal to `contentOffset`.
@property (nonatomic, readwrite) CGPoint contentOffset;
@@ -126,7 +152,8 @@
/// UIFocusUpdateContexts provide information relevant to a specific focus update from one view to another. They are ephemeral objects that are usually discarded after the update is finished.
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIFocusUpdateContext : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIFocusUpdateContext : NSObject
/// The item that was focused before the update, i.e. where focus is updating from. May be nil if no item was focused, such as when focus is initially set.
@property (nonatomic, weak, readonly, nullable) id<UIFocusItem> previouslyFocusedItem API_AVAILABLE(ios(10.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusAnimationCoordinator.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusAnimationCoordinator.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusAnimationCoordinator.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusAnimationCoordinator.h 2021-06-02 05:36:09.000000000 -0400
@@ -13,7 +13,8 @@
/// UIFocusAnimationContext is used to provide UIKit-determined context about animations that are related to a focus update.
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @protocol UIFocusAnimationContext <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusAnimationContext <NSObject>
/// The duration of the main animations in seconds.
@property (nonatomic, readonly) NSTimeInterval duration;
@@ -21,7 +22,8 @@
@end
/// UIFocusAnimationCoordinator is used to coordinate disparate animations that are related to a focus update.
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIFocusAnimationCoordinator : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIFocusAnimationCoordinator : NSObject
/**
Specifies focus-related animations that should be coordinated with the animations of the focusing or un-focusing view.
@@ -31,7 +33,7 @@
It is perfectly legitimate to only specify a completion block.
*/
-- (void)addCoordinatedAnimations:(nullable void (^)(void))animations completion:(nullable void (^)(void))completion;
+- (void)addCoordinatedAnimations:(nullable void (^)(void))animations completion:(nullable void (^)(void))completion NS_SWIFT_DISABLE_ASYNC;
/**
Specifies focus-related animations that should be coordinated with the animations of the focusing item.
@@ -42,7 +44,7 @@
A context object is provided in the animation block with details of the UIKit-defined animations being run for the focusing item.
*/
-- (void)addCoordinatedFocusingAnimations:(void (^ _Nullable)(id<UIFocusAnimationContext> animationContext))animations completion:(void (^ _Nullable)(void))completion API_AVAILABLE(ios(11.0), tvos(11.0));
+- (void)addCoordinatedFocusingAnimations:(void (^ _Nullable)(id<UIFocusAnimationContext> animationContext))animations completion:(void (^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC API_AVAILABLE(ios(11.0), tvos(11.0));
/**
Specifies focus-related animations that should be coordinated with the animations of the un-focusing item.
@@ -53,7 +55,7 @@
A context object is provided in the animation block with details of the UIKit-defined animations being run for the un-focusing item.
*/
-- (void)addCoordinatedUnfocusingAnimations:(void (^ _Nullable)(id<UIFocusAnimationContext> animationContext))animations completion:(void (^ _Nullable)(void))completion API_AVAILABLE(ios(11.0), tvos(11.0));
+- (void)addCoordinatedUnfocusingAnimations:(void (^ _Nullable)(id<UIFocusAnimationContext> animationContext))animations completion:(void (^ _Nullable)(void))completion NS_SWIFT_DISABLE_ASYNC API_AVAILABLE(ios(11.0), tvos(11.0));
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDebugger.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDebugger.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDebugger.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusDebugger.h 2021-06-02 05:35:59.000000000 -0400
@@ -14,7 +14,8 @@
NS_ASSUME_NONNULL_BEGIN
/// UIFocusDebugger provides a collection of runtime utilities for debugging issues related to focus interaction.
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @interface UIFocusDebugger : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@interface UIFocusDebugger : NSObject
/// Outputs an overview of all supported debugging utilities and other relevant information.
/// - To use in Swift, enter `po UIFocusDebugger.help()` when paused in lldb.
@@ -36,9 +37,16 @@
/// - To use in Objective-C, enter `po [UIFocusDebugger simulateFocusUpdateRequestFromEnvironment:<environment reference>]` when paused in lldb.
+ (id<UIFocusDebuggerOutput>)simulateFocusUpdateRequestFromEnvironment:(id<UIFocusEnvironment>)environment;
+/// Outputs a diagnosis of the focus groups of the specified environment and its children.
+/// Pass a focus system as the environment to get the full focus group tree for this focus system.
+/// - To use in Swift, enter `po UIFocusDebugger.checkFocusGroupTree(for: <environment reference>)` when paused in lldb.
+/// - To use in Objective-C, enter `po [UIFocusDebugger checkFocusGroupTreeForEnvironment:<environment reference>]` when paused in lldb.
++ (NSString *)checkFocusGroupTreeForEnvironment:(id<UIFocusEnvironment>)environment;
+
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @protocol UIFocusDebuggerOutput <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@protocol UIFocusDebuggerOutput <NSObject>
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusEffect.h 2021-06-02 05:35:55.000000000 -0400
@@ -0,0 +1,66 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIFocusEffect.h>)
+//
+// UIFocusEffect.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <QuartzCore/CALayer.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class UIView, UIBezierPath;
+
+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;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+
+typedef NS_ENUM(NSInteger, UIFocusHaloEffectPosition) {
+ /// Automatically detects the best position depending on the the focus item and its containing view hierarchy.
+ UIFocusHaloEffectPositionAutomatic = 0,
+ /// Draws the halo around the given shape.
+ UIFocusHaloEffectPositionOutside,
+ /// Draws the halo inside the given shape.
+ UIFocusHaloEffectPositionInside,
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos);
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) @interface UIFocusHaloEffect : UIFocusEffect
+
+/// Creates a rectangular halo.
++ (instancetype)effectWithRect:(CGRect)rect;
+
+/// Creates a rounded rect halo using the specified corner radius and corner curve.
++ (instancetype)effectWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius curve:(CALayerCornerCurve)curve;
+
+/// Creates a halo with the given bezier path.
++ (instancetype)effectWithPath:(UIBezierPath *)bezierPath;
+
+/// Container view in which to place the effect. When not set, the container is determined automatically
+/// from the focus item that provided this effect and the @c referenceView (if present).
+@property (nonatomic, weak, nullable) UIView *containerView;
+
+/// When set, the halo is placed above this view. If a @c containerView is also set, the @c referenceView must be a descendant
+/// of the @c containerView. The system will ensure that the halo is in the container but visually above the @c referenceView.
+@property (nonatomic, weak, nullable) UIView *referenceView;
+
+/// Position of the halo relative to the specified shape. Defaults to @c UIFocusHaloEffectPositionAutomatic.
+@property (nonatomic) UIFocusHaloEffectPosition position;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UIFocusEffect.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusGuide.h 2021-06-02 05:35:58.000000000 -0400
@@ -14,7 +14,8 @@
NS_ASSUME_NONNULL_BEGIN
/// UIFocusGuides are UILayoutGuide subclasses that participate in the focus system from within their owning view. A UIFocusGuide may be used to expose non-view areas as focusable.
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIFocusGuide : UILayoutGuide
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIFocusGuide : UILayoutGuide
/// If disabled, UIFocusGuides are ignored by the focus engine, but still participate in layout. Modifying this flag allows you to conditionally enable or disable certain focus behaviors. YES by default.
@property (nonatomic, getter=isEnabled) BOOL enabled;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFocusSystem.h 2021-06-02 05:35:55.000000000 -0400
@@ -8,11 +8,13 @@
#import <UIKit/UIFocus.h>
#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIWindowScene.h>
NS_ASSUME_NONNULL_BEGIN
/// UIFocusSystem instances manage focus state within a part of the user interface. They are in charge of tracking the current focused item, as well as processing focus updates.
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) @interface UIFocusSystem : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+@interface UIFocusSystem : NSObject
/// The currently focused item in this focus system.
@property (nonatomic, weak, readonly, nullable) id<UIFocusItem> focusedItem API_AVAILABLE(tvos(12.0), ios(12.0));
@@ -22,7 +24,11 @@
/// 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));
+#else
+ (nullable UIFocusSystem *)focusSystemForEnvironment:(id<UIFocusEnvironment>)environment API_AVAILABLE(tvos(12.0), ios(12.0));
+#endif
/// Requests a focus update to the specified environment. If accepted, the focus update will happen
/// in the next run loop cycle.
@@ -39,6 +45,12 @@
@end
+
+@interface UIWindowScene (UIFocusSystem)
+/// Returns the focus system that is responsible for this scene or nil if this scene does not support focus.
+@property (nullable, nonatomic, readonly) UIFocusSystem *focusSystem API_AVAILABLE(ios(15.0), tvos(15.0));
+@end
+
NS_ASSUME_NONNULL_END
#else
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h 2021-03-16 08:45:29.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h 2021-06-02 05:36:09.000000000 -0400
@@ -15,7 +15,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIFont : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIFont : NSObject <NSCopying, NSSecureCoding>
// Returns an instance of the font associated with the text style and scaled appropriately for the user's selected content size category. See UIFontDescriptor.h for the complete list.
+ (UIFont *)preferredFontForTextStyle:(UIFontTextStyle)style API_AVAILABLE(ios(7.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2021-03-16 05:20:33.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2021-06-02 07:34:30.000000000 -0400
@@ -61,7 +61,8 @@
@class NSMutableDictionary, NSDictionary, NSArray, NSSet, UITraitCollection;
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIFontDescriptor : NSObject <NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(7.0))
+@interface UIFontDescriptor : NSObject <NSCopying, NSSecureCoding>
- (instancetype)init;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewController.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewController.h 2021-06-02 05:36:02.000000000 -0400
@@ -14,7 +14,8 @@
@class UIFontPickerViewController;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) @protocol UIFontPickerViewControllerDelegate <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@protocol UIFontPickerViewControllerDelegate <NSObject>
@optional
@@ -24,7 +25,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) @interface UIFontPickerViewController : UIViewController
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UIFontPickerViewController : UIViewController
/*
UIFontPickerViewController allows selecting a font family or specific face based on the configuration provided. Mutating the configuration after invoking the initializer has no effect on the view controller.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontPickerViewControllerConfiguration.h 2021-06-02 05:36:01.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) @interface UIFontPickerViewControllerConfiguration : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UIFontPickerViewControllerConfiguration : NSObject <NSCopying>
// Indicates if individual faces can be selected instead of just families.
@property (nonatomic) BOOL includeFaces;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h 2021-03-16 08:45:18.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h 2021-06-02 11:08:50.000000000 -0400
@@ -31,7 +31,8 @@
UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded // the recognizer has received touches recognized as the gesture. the action method will be called at the next turn of the run loop and the recognizer will be reset to UIGestureRecognizerStatePossible
};
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) @interface UIGestureRecognizer : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) NS_SWIFT_UI_ACTOR
+@interface UIGestureRecognizer : NSObject
// Valid action method signatures:
// -(void)handleGesture;
@@ -86,6 +87,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIGestureRecognizerDelegate <NSObject>
@optional
// called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h 2021-06-02 05:35:59.000000000 -0400
@@ -23,7 +23,8 @@
UIGraphicsImageRendererFormatRangeStandard
} API_AVAILABLE(ios(12.0));
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsImageRendererFormat : UIGraphicsRendererFormat
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsImageRendererFormat : UIGraphicsRendererFormat
@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.
@@ -36,11 +37,13 @@
+ (instancetype)formatForTraitCollection:(UITraitCollection *)traitCollection API_AVAILABLE(ios(11.0));
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsImageRendererContext : UIGraphicsRendererContext
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsImageRendererContext : UIGraphicsRendererContext
@property (nonatomic, readonly) UIImage *currentImage; // Returns a UIImage representing the current state of the renderer's CGContext
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsImageRenderer : UIGraphicsRenderer
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsImageRenderer : UIGraphicsRenderer
- (instancetype)initWithSize:(CGSize)size;
- (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithBounds:(CGRect)bounds format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsPDFRenderer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsPDFRenderer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsPDFRenderer.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsPDFRenderer.h 2021-06-02 05:36:01.000000000 -0400
@@ -15,11 +15,13 @@
typedef void (^UIGraphicsPDFDrawingActions)(UIGraphicsPDFRendererContext *rendererContext) API_AVAILABLE(ios(10.0));
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsPDFRendererFormat : UIGraphicsRendererFormat
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsPDFRendererFormat : UIGraphicsRendererFormat
@property (nonatomic, copy) NSDictionary<NSString *, id> *documentInfo;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsPDFRendererContext : UIGraphicsRendererContext
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsPDFRendererContext : UIGraphicsRendererContext
@property (nonatomic, readonly) CGRect pdfContextBounds;
- (void)beginPage;
@@ -30,7 +32,8 @@
- (void)setDestinationWithName:(NSString *)name forRect:(CGRect)rect;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsPDFRenderer : UIGraphicsRenderer
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsPDFRenderer : UIGraphicsRenderer
- (instancetype)initWithBounds:(CGRect)bounds format:(UIGraphicsPDFRendererFormat *)format NS_DESIGNATED_INITIALIZER;
- (BOOL)writePDFToURL:(NSURL *)url withActions:(NS_NOESCAPE UIGraphicsPDFDrawingActions)actions error:(NSError **)error;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsRenderer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsRenderer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsRenderer.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsRenderer.h 2021-06-02 05:36:01.000000000 -0400
@@ -18,7 +18,8 @@
UIGraphicsRendererFormat is an object that describes the particular properties of the
context created by its associated renderer class.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsRendererFormat : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsRendererFormat : NSObject <NSCopying>
// returns a default configured format object, best suited for the current device.
+ (instancetype)defaultFormat API_DEPRECATED_WITH_REPLACEMENT("preferredFormat", tvos(10.0, 11.0)) API_AVAILABLE(ios(10.0), watchos(3.0));
@@ -35,7 +36,8 @@
UIKit classes (UIImage, UIBezierPath, etc) in addition to providing access to the underlying
CGContextRef.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsRendererContext : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsRendererContext : NSObject
@property (nonatomic, readonly) CGContextRef CGContext;
@property (nonatomic, readonly) __kindof UIGraphicsRendererFormat *format;
@@ -51,7 +53,8 @@
/*
An abstract base class for creating graphics renderers. Do not use this class directly.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) @interface UIGraphicsRenderer : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+@interface UIGraphicsRenderer : NSObject
// Creates a new UIGraphicsRenderer instance with the provides bounds and format, or a defaultFormat if none is provided.
// The format instance is copied by the initializer, and the provided instance may be immediately reused
// for creating other renderer instances with the same or different bounds.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGravityBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGravityBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGravityBehavior.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGravityBehavior.h 2021-06-02 05:35:54.000000000 -0400
@@ -13,7 +13,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIGravityBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIGravityBehavior : UIDynamicBehavior
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGuidedAccess.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGuidedAccess.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGuidedAccess.h 2021-03-16 08:45:27.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGuidedAccess.h 2021-06-02 12:47:54.000000000 -0400
@@ -46,7 +46,8 @@
The initial state of all Guided Access restrictions is UIGuidedAccessRestrictionStateAllow.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @protocol UIGuidedAccessRestrictionDelegate <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@protocol UIGuidedAccessRestrictionDelegate <NSObject>
@required
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2021-03-16 13:56:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2021-06-02 05:35:51.000000000 -0400
@@ -18,6 +18,7 @@
#if __has_include(<UIKit/NSTextAttachment.h>)
#import <UIKit/NSTextAttachment.h>
#endif
+#import <UIKit/UIImageVariants.h>
NS_ASSUME_NONNULL_BEGIN
@@ -29,6 +30,10 @@
@class UIGraphicsImageRendererFormat;
#endif
+#if __has_include(<UIKit/UIScreen.h>)
+@class UIScreen;
+#endif
+
typedef NS_ENUM(NSInteger, UIImageOrientation) {
UIImageOrientationUp, // default orientation
UIImageOrientationDown, // 180 deg rotation
@@ -263,6 +268,30 @@
- (UIImage *)imageWithTintColor:(UIColor *)color API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
- (UIImage *)imageWithTintColor:(UIColor *)color renderingMode:(UIImageRenderingMode)renderingMode API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+#if __has_include(<UIKit/UIScreen.h>)
+
+/// Synchronously prepares this image for displaying on the specified screen.
+///
+/// @return A UIImage object that contains the prepared image.
+///
+/// @note The prepared UIImage is not related to the original image. If the properties of the screen (such as its resolution or color gamut) change, or if the image is displayed on a different screen that the one it was prepared for, it may not render correctly.
+- (nullable UIImage *)imageByPreparingForDisplay API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+
+/// Asynchronously prepares this image for displaying on the specified screen.
+///
+/// The completion handler will be invoked on a private queue. Be sure to return to the main queue before assigning the prepared image to an image view.
+///
+/// @param completionHandler A block to invoke with the prepared image. If preparation failed (for example, beacuse the image data is corrupt), @c image will be nil.
+///
+/// @note The prepared UIImage is not related to the original image. If the properties of the screen (such as its resolution or color gamut) change, or if the image is displayed on a different screen that the one it was prepared for, it may not render correctly.
+- (void)prepareForDisplayWithCompletionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingForDisplay()) API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+
+- (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+
+- (void)prepareThumbnailOfSize:(CGSize)size completionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingThumbnail(ofSize:)) API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+
+#endif
+
@end
@interface UIImage (PreconfiguredSystemImages)
@@ -275,6 +304,42 @@
@end
+@interface UIImage (ImageVariant)
+
+/// Get a system symbol with a certain variant shape.
++ (nullable UIImage *)systemImageNamed:(NSString *)name shape:(UIImageVariantShape)shape API_AVAILABLE(ios(15.0));
+/// Get a system symbol with a certain variant shape and fill.
++ (nullable UIImage *)systemImageNamed:(NSString *)name shape:(UIImageVariantShape)shape fill:(UIImageVariantFill)fill API_AVAILABLE(ios(15.0));
+/// Get a system symbol with a certain variant shape and fill with a specific configuration.
++ (nullable UIImage *)systemImageNamed:(NSString *)name shape:(UIImageVariantShape)shape fill:(UIImageVariantFill)fill withConfiguration:(nullable UIImageConfiguration *)configuration API_AVAILABLE(ios(15.0));
+
+/// Get a custom image with a certain variant shape.
++ (nullable UIImage *)imageNamed:(NSString *)name shape:(UIImageVariantShape)shape API_AVAILABLE(ios(15.0));
+/// Get a custom image with a certain variant shape and fill.
++ (nullable UIImage *)imageNamed:(NSString *)name shape:(UIImageVariantShape)shape fill:(UIImageVariantFill)fill API_AVAILABLE(ios(15.0));
+/// Get a custom image with a certain variant shape and fill with a specific configuration.
++ (nullable UIImage *)imageNamed:(NSString *)name shape:(UIImageVariantShape)shape fill:(UIImageVariantFill)fill withConfiguration:(nullable UIImageConfiguration *)configuration API_AVAILABLE(ios(15.0));
+
+/// Get an image with a variant shape.
+- (UIImage *)imageWithShape:(UIImageVariantShape)shape API_AVAILABLE(ios(15.0));
+
+/// Get an image with a variant fill.
+/// You can use this to both add or remove a fill variant of an image.
+- (UIImage *)imageWithFill:(UIImageVariantFill)fill API_AVAILABLE(ios(15.0));
+
+/// Get an image with a variant shape and fill. This is equivalent to
+/// getting a variant with a shape first, then requesting a variant with a fill, but
+/// without loading the intermediate image.
+- (UIImage *)imageWithShape:(UIImageVariantShape)shape fill:(UIImageVariantFill)fill API_AVAILABLE(ios(15.0));
+
+/// Get an image with a variant the same as another (variant) image.
+- (UIImage *)imageWithVariantsFromImage:(UIImage *)image API_AVAILABLE(ios(15.0));
+
+/// Remove all variants from a (variant) image.
+- (UIImage *)imageWithoutVariants API_AVAILABLE(ios(15.0));
+
+@end
+
#if TARGET_OS_IOS
@interface UIImage (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting, UIItemProviderPresentationSizeProviding>
#else
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h 2021-03-16 08:45:16.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImagePickerController.h 2021-06-02 05:35:54.000000000 -0400
@@ -65,7 +65,8 @@
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 UIImagePickerControllerImageURL API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos); // an NSURL
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) @interface UIImagePickerController : UINavigationController <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIImagePickerController : UINavigationController <NSCoding>
+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType; // returns YES if source is available (i.e. camera present)
+ (nullable NSArray<NSString *> *)availableMediaTypesForSourceType:(UIImagePickerControllerSourceType)sourceType; // returns array of available media types (i.e. kUTTypeImage)
@@ -108,7 +109,8 @@
@end
-API_UNAVAILABLE(tvos) @protocol UIImagePickerControllerDelegate<NSObject>
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@protocol UIImagePickerControllerDelegate<NSObject>
@optional
// 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
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageSymbolConfiguration.h 2021-06-02 05:35:56.000000000 -0400
@@ -66,6 +66,10 @@
+ (instancetype)configurationWithFont:(UIFont *)font; // Adjusts for Dynamic Type. Use UIFontMetrics to get automatic adjustment with a custom font.
+ (instancetype)configurationWithFont:(UIFont *)font scale:(UIImageSymbolScale)scale; // Adjusts for Dynamic Type. Use UIFontMetrics to get automatic adjustment with a custom font.
++ (instancetype)configurationWithHierarchicalColor:(UIColor *)hierarchicalColor;
++ (instancetype)configurationWithPaletteColors:(NSArray<UIColor *> *)paletteColors;
++ (instancetype)configurationPreferringMulticolor;
+
// Removes attributes from the configuration if they are set
- (instancetype)configurationWithoutTextStyle;
- (instancetype)configurationWithoutScale;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageVariants.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageVariants.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageVariants.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageVariants.h 2021-06-02 05:36:06.000000000 -0400
@@ -0,0 +1,28 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIImageVariants.h>)
+//
+// UIImageVariants.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+typedef NS_ENUM(NSInteger, UIImageVariantShape) {
+ UIImageVariantShapeUnspecified = -1, // shape value is not specified
+ UIImageVariantShapeNone = 0, // don't use any shape. This is different from unspecified.
+ UIImageVariantShapeCircle, // prefer a circle shape
+ UIImageVariantShapeSquare, // prefer a square shape
+ UIImageVariantShapeRectangle // prefer a rectangle shape
+} API_AVAILABLE(ios(15.0));
+
+typedef NS_ENUM(NSInteger, UIImageVariantFill) {
+ UIImageVariantFillUnspecified = -1, // fill value is not specified
+ UIImageVariantFillOutline = 0, // prefer an unfilled, outlined shape
+ UIImageVariantFillFilled // prefer a filled shape
+} API_AVAILABLE(ios(15.0));
+
+
+#else
+#import <UIKitCore/UIImageVariants.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h 2021-03-16 08:45:21.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h 2021-06-02 12:44:51.000000000 -0400
@@ -14,7 +14,8 @@
@class UIImage, UIImageSymbolConfiguration;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIImageView : UIView
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIImageView : UIView
- (instancetype)initWithImage:(nullable UIImage *)image;
- (instancetype)initWithImage:(nullable UIImage *)image highlightedImage:(nullable UIImage *)highlightedImage API_AVAILABLE(ios(3.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h 2021-06-02 05:35:55.000000000 -0400
@@ -21,7 +21,8 @@
};
// 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) @interface UIImpactFeedbackGenerator : UIFeedbackGenerator
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UIImpactFeedbackGenerator : UIFeedbackGenerator
- (instancetype)initWithStyle:(UIImpactFeedbackStyle)style;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h 2021-03-16 08:48:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIIndirectScribbleInteraction.h 2021-06-02 11:08:48.000000000 -0400
@@ -19,7 +19,8 @@
- 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 @interface UIIndirectScribbleInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIIndirectScribbleInteraction : NSObject <UIInteraction>
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -45,7 +46,8 @@
/*!
@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 @protocol UIIndirectScribbleInteractionDelegate <NSObject>
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@protocol UIIndirectScribbleInteractionDelegate <NSObject>
/*!
@abstract This method will be called to request the text input elements in a certain rect of the view, each of which represents an area where the user can start writing even if it's not a text input field itself.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputView.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputView.h 2021-06-02 05:36:03.000000000 -0400
@@ -16,7 +16,8 @@
UIInputViewStyleKeyboard, // mimics the keyboard background
} API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIInputView : UIView
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIInputView : UIView
@property (nonatomic, readonly) UIInputViewStyle inputViewStyle;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputViewController.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInputViewController.h 2021-06-02 05:36:06.000000000 -0400
@@ -16,6 +16,7 @@
@class UILexicon;
+NS_SWIFT_UI_ACTOR
@protocol UITextDocumentProxy <UIKeyInput>
@property (nullable, nonatomic, readonly) NSString *documentContextBeforeInput;
@@ -38,7 +39,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIInputViewController : UIViewController <UITextInputDelegate>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIInputViewController : UIViewController <UITextInputDelegate>
@property (nullable, nonatomic, strong) UIInputView *inputView;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInteraction.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInteraction.h 2021-06-02 05:35:57.000000000 -0400
@@ -10,7 +10,8 @@
NS_ASSUME_NONNULL_BEGIN
-API_AVAILABLE(ios(11.0), watchos(5.0), tvos(13.0)) @protocol UIInteraction <NSObject>
+API_AVAILABLE(ios(11.0), watchos(5.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+@protocol UIInteraction <NSObject>
@property (nonatomic, nullable, weak, readonly) __kindof UIView *view;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2021-03-16 08:45:22.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h 2021-06-02 12:47:49.000000000 -0400
@@ -19,8 +19,8 @@
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
- UIBarStyleBlackOpaque API_DEPRECATED("Use UIBarStyleBlack instead.", ios(2.0, 13.0)) = 1,
- UIBarStyleBlackTranslucent API_DEPRECATED("Use UIBarStyleBlack and set the translucent property to YES instead.", ios(2.0, 13.0)) = 2,
+ 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,
} API_UNAVAILABLE(tvos);
typedef NS_ENUM(NSInteger, UIUserInterfaceSizeClass) {
@@ -100,6 +100,7 @@
@property (class, nonatomic, readonly) UIColor *systemPurpleColor API_AVAILABLE(ios(9.0), tvos(9.0)) API_UNAVAILABLE(watchos);
@property (class, nonatomic, readonly) UIColor *systemTealColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
@property (class, nonatomic, readonly) UIColor *systemIndigoColor API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
+@property (class, nonatomic, readonly) UIColor *systemBrownColor API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/* Shades of gray. systemGray is the base gray color.
*/
@@ -119,6 +120,21 @@
@property (class, nonatomic, readonly) UIColor *systemGray5Color API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
@property (class, nonatomic, readonly) UIColor *systemGray6Color API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+#pragma mark Tint color
+
+/* This color represents the tint color of a view.
+ *
+ * Like other dynamic colors, UIColor.tintColor relies on UITraitCollection.currentTraitCollection
+ * being set to a view's trait collection when it is used, so that it can resolve to that view's
+ * tint color. If you use UIColor.tintColor outside a view's context, and do not resolve it
+ * manually with a view's trait collection, it will return the system default tint color.
+ *
+ * Setting UIColor.tintColor directly to a view's tintColor property behaves the same as setting nil.
+ * However, you cannot set a custom dynamic color (e.g. using +[UIColor colorWithDynamicProvider:])
+ * that can resolve to UIColor.tintColor to a view's tintColor property.
+ */
+@property (class, nonatomic, readonly) UIColor *tintColor API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(tintColor);
+
#pragma mark Foreground colors
/* Foreground colors for static text and related elements.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKey.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKey.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKey.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKey.h 2021-06-02 05:36:03.000000000 -0400
@@ -13,7 +13,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos) @interface UIKey : NSObject <NSCopying, NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+@interface UIKey : NSObject <NSCopying, NSCoding>
/// @returns a string representing what would be inserted into a text field when this key is pressed.
/// @discussion if a modifier key is held, this property will contain the modified characters according
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h 2021-03-16 09:56:24.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyCommand.h 2021-06-02 12:44:55.000000000 -0400
@@ -14,7 +14,8 @@
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunguarded-availability"
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIKeyCommand : UICommand
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIKeyCommand : UICommand
#pragma clang diagnostic pop
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -47,6 +48,15 @@
/// Alternates that differ in modifier flags, if any.
@property (nonatomic, readonly) NSArray<UICommandAlternate *> *alternates API_AVAILABLE(ios(13.0));
+/// Indicates whether the key command should execute if it conflicts with focus or text-editing system commands, defaults to @c NO
+@property (nonatomic) BOOL wantsPriorityOverSystemBehavior API_AVAILABLE(ios(15.0));
+
+/// Suppose the system detects a given key command that is not reachable in the current keyboard layout; it will localize the key command to something reachable. By setting this property to NO, you will opt-out this menu item from the system-provided localization. YES by default for apps linked against 15.0 and later SDK.
+@property (nonatomic) BOOL allowsAutomaticLocalization API_AVAILABLE(ios(15.0));
+
+/// Suppose the system detects a given key command with the following input string [ ] { } ( ) < > ← → in a right-to-left user interface environment (UIUserInterfaceLayoutDirectionRightToLeft); in that case, the system will automatically mirror the key command. For example, a pair of key commands with input { and } will be localized to } and { in a right-to-left user interface. By setting this property to NO, you will opt-out this key command of automatically mirroring in RTL. It would be best only to do this if your action will result in some sort of directional change in the UI, e.g. a segmented control for text alignment or a D-pad in a game. YES by default for apps linked against 15.0 and later SDK.
+@property (nonatomic) BOOL allowsAutomaticMirroring API_AVAILABLE(ios(15.0));
+
/// Initializes a key command.
///
/// @param title Short display title. This should be localized.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKeyboardLayoutGuide.h 2021-06-02 05:36:10.000000000 -0400
@@ -0,0 +1,26 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIKeyboardLayoutGuide.h>)
+//
+// UIKeyboardLayoutGuide.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UITrackingLayoutGuide.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+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.
+@property (nonatomic, readwrite) BOOL followsUndockedKeyboard;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UIKeyboardLayoutGuide.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2021-03-16 02:33:25.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2021-06-01 22:11:47.000000000 -0400
@@ -178,6 +178,9 @@
- Name: 'configurationState'
PropertyKind: Instance
SwiftPrivate: true
+ - Name: 'configurationUpdateHandler'
+ PropertyKind: Instance
+ SwiftPrivate: true
- Name: 'backgroundConfiguration'
PropertyKind: Instance
SwiftPrivate: true
@@ -196,6 +199,9 @@
- Name: 'configurationState'
PropertyKind: Instance
SwiftPrivate: true
+ - Name: 'configurationUpdateHandler'
+ PropertyKind: Instance
+ SwiftPrivate: true
- Name: 'backgroundConfiguration'
PropertyKind: Instance
SwiftPrivate: true
@@ -211,6 +217,9 @@
- Name: 'configurationState'
PropertyKind: Instance
SwiftPrivate: true
+ - Name: 'configurationUpdateHandler'
+ PropertyKind: Instance
+ SwiftPrivate: true
- Name: 'backgroundConfiguration'
PropertyKind: Instance
SwiftPrivate: true
@@ -429,6 +438,18 @@
- Selector: 'buttonWithType:primaryAction:'
MethodKind: Class
SwiftPrivate: true
+ - Selector: 'buttonWithConfiguration:primaryAction:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'preferredSizeForConfiguration:maximumWidth:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ Properties:
+ - Name: 'configuration'
+ PropertyKind: Instance
+ SwiftPrivate: true
+- Name: UIButtonConfiguration
+ SwiftPrivate: true
- Name: UIBarButtonItem
Methods:
- Selector: 'initWithBarButtonSystemItem:primaryAction:'
@@ -670,6 +691,8 @@
Properties:
- Name: isKeyWindow
SwiftName: isKey
+ - Name: canBecomeKeyWindow
+ SwiftName: canBecomeKey
Methods:
- Selector: becomeKeyWindow
SwiftName: becomeKey()
@@ -750,6 +773,21 @@
- Selector: 'systemImageNamed:compatibleWithTraitCollection:'
MethodKind: Class
SwiftName: 'init(systemName:compatibleWith:)'
+ - Selector: 'systemImageNamed:shape:'
+ MethodKind: Class
+ SwiftName: 'init(systemName:shape:)'
+ - Selector: 'systemImageNamed:shape:fill:'
+ MethodKind: Class
+ SwiftName: 'init(systemName:shape:fill:)'
+ - Selector: 'systemImageNamed:shape:fill:withConfiguration:'
+ MethodKind: Class
+ SwiftName: 'init(systemName:shape:fill:configuration:)'
+ - Selector: 'imageWithoutVariants'
+ MethodKind: Instance
+ SwiftName: 'withoutVariants()'
+ - Selector: 'imageWithVariantsFromImage:'
+ MethodKind: Instance
+ SwiftName: 'withVariants(from:)'
- Name: UIImageConfiguration
SwiftName: UIImage.Configuration
- Name: UIImageSymbolConfiguration
@@ -759,6 +797,42 @@
- Selector: 'elementWithProvider:'
SwiftName: 'init(_:)'
MethodKind: Class
+- Name: UIBandSelectionInteraction
+ Methods:
+ - Selector: 'initWithSelectionHandler:'
+ SwiftName: 'init(_:)'
+ MethodKind: Instance
+ Properties:
+ - Name: 'selectionRect'
+ PropertyKind: Instance
+ SwiftPrivate: true
+- Name: UIPointerAccessory
+ Properties:
+ - Name: shape
+ PropertyKind: Instance
+ SwiftPrivate: true
+ Methods:
+ - Selector: 'accessoryWithShape:position:'
+ MethodKind: Class
+ SwiftPrivate: true
+ - Selector: 'arrowAccessoryWithPosition:'
+ MethodKind: Class
+ SwiftPrivate: true
+- Name: UIWindowSceneActivationConfiguration
+ SwiftName: UIWindowScene.ActivationConfiguration
+- Name: UIWindowSceneActivationRequestOptions
+ SwiftName: UIWindowScene.ActivationRequestOptions
+- Name: UIWindowSceneActivationAction
+ SwiftName: UIWindowScene.ActivationAction
+- Name: UIWindowSceneActivationInteraction
+ SwiftName: UIWindowScene.ActivationInteraction
+- Name: UISheetPresentationControllerDetent
+ SwiftName: UISheetPresentationController.Detent
+- Name: UISheetPresentationController
+ Properties:
+ - Name: preferredCornerRadius
+ PropertyKind: Instance
+ SwiftPrivate: true
Protocols:
- Name: UIConfigurationState
SwiftPrivate: true
@@ -853,6 +927,9 @@
MethodKind: Instance
- Name: UIAdaptivePresentationControllerDelegate
Methods:
+ - Selector: 'presentationController:prepareAdaptivePresentationController:'
+ SwiftName: presentationController(_:prepare:)
+ MethodKind: Instance
- Selector: 'presentationControllerDidAttemptToDismiss:'
SwiftName: presentationControllerDidAttemptToDismiss(_:)
MethodKind: Instance
@@ -1029,6 +1106,12 @@
SwiftName: UIGraphicsImageRendererFormat.Range
- Name: UIContextMenuInteractionAppearance
SwiftName: UIContextMenuInteraction.appearance
+- Name: UIBandSelectionInteractionState
+ SwiftName: UIBandSelectionInteraction.State
+- Name: UIPointerAccessoryPosition
+ SwiftPrivate: true
+- Name: UIFocusHaloEffectPosition
+ SwiftName: UIFocusHaloEffect.Position
# Swift 4.2 Renames
- Name: UIApplicationState
SwiftName: UIApplication.State
@@ -1140,6 +1223,14 @@
SwiftName: UIButton.ButtonType
- Name: UIButtonRole
SwiftName: UIButton.Role
+- Name: UIButtonConfigurationSize
+ SwiftPrivate: true
+- Name: UIButtonConfigurationTitleAlignment
+ SwiftPrivate: true
+- Name: UIButtonConfigurationCornerStyle
+ SwiftPrivate: true
+- Name: UIButtonConfigurationMacIdiomStyle
+ SwiftPrivate: true
- Name: UIDatePickerMode
SwiftName: UIDatePicker.Mode
- Name: UISwitchStyle
@@ -1282,6 +1373,10 @@
SwiftName: UIImage.SymbolScale
- Name: UIImageSymbolWeight
SwiftName: UIImage.SymbolWeight
+- Name: UIImageVariantShape
+ SwiftName: UIImage.VariantShape
+- Name: UIImageVariantFill
+ SwiftName: UIImage.VariantFill
- Name: UIPrinterCutterBehavior
SwiftName: UIPrinter.CutterBehavior
- Name: UIPrinterJobTypes
@@ -1309,8 +1404,18 @@
- Name: UIWindowSceneDismissalAnimation
SwiftName: UIWindowScene.DismissalAnimation
Typedefs:
+- Name: UIButtonConfigurationUpdateHandler
+ SwiftName: UIButton.ConfigurationUpdateHandler
- Name: UIConfigurationColorTransformer
SwiftPrivate: true
+- Name: UITableViewCellConfigurationUpdateHandler
+ SwiftPrivate: true
+- Name: UITableViewHeaderFooterViewConfigurationUpdateHandler
+ SwiftPrivate: true
+- Name: UICollectionViewCellConfigurationUpdateHandler
+ SwiftPrivate: true
+- Name: UIConfigurationTextAttributesTransformer
+ SwiftPrivate: true
- Name: UICellAccessoryPosition
SwiftPrivate: true
- Name: UICollectionViewCellRegistrationConfigurationHandler
@@ -1353,6 +1458,8 @@
SwiftPrivate: true
- Name: UISceneSessionRole
SwiftName: UISceneSession.Role
+- Name: UISheetPresentationControllerDetentIdentifier
+ SwiftName: UISheetPresentationControllerDetent.Identifier
# Swift 4.2 Renames
- Name: UIActivityType
SwiftName: UIActivity.ActivityType
@@ -1646,9 +1753,9 @@
- Name: UIFontSlantTrait
SwiftName: slant
- Name: UIFontFeatureTypeIdentifierKey
- SwiftName: featureIdentifier
+ SwiftName: type
- Name: UIFontFeatureSelectorIdentifierKey
- SwiftName: typeIdentifier
+ SwiftName: selector
- Name: UIFontWeightUltraLight
SwiftName: ultraLight
- Name: UIFontWeightThin
@@ -1693,6 +1800,8 @@
SwiftName: windowApplication
- Name: UIWindowSceneSessionRoleExternalDisplay
SwiftName: windowExternalDisplay
+- Name: UISheetPresentationControllerAutomaticDimension
+ SwiftPrivate: true
# Swift 4.2 Renames
- Name: UIApplicationBackgroundRefreshStatusDidChangeNotification
SwiftName: UIApplication.backgroundRefreshStatusDidChangeNotification
@@ -1902,6 +2011,8 @@
SwiftName: UICollectionViewFlowLayout.automaticSize
- Name: UITableViewAutomaticDimension
SwiftName: UITableView.automaticDimension
+- Name: UICollectionViewLayoutAutomaticDimension
+ SwiftPrivate: true
- Name: UISplitViewControllerAutomaticDimension
SwiftName: UISplitViewController.automaticDimension
- Name: UIFloatRangeZero
@@ -1978,6 +2089,8 @@
SwiftName: UIKeyCommand.f11
- Name: UIKeyInputF12
SwiftName: UIKeyCommand.f12
+- Name: UIKeyInputDelete
+ SwiftName: UIKeyCommand.inputDelete
- Name: NSUserActivityDocumentURLKey
SwiftName: UIDocument.userActivityURLKey
- Name: UIViewControllerHierarchyInconsistencyException
@@ -2207,6 +2320,8 @@
SwiftName: "UIAccessibility.guidedAccessRestrictionState(forIdentifier:)"
- Name: UIGuidedAccessConfigureAccessibilityFeatures
SwiftName: "UIAccessibility.configureForGuidedAccess(features:enabled:completionHandler:)"
+- Name: UIPointerAccessoryPositionMake
+ SwiftPrivate: true
SwiftVersions:
#
# Swift 4 and below specific conversions
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2021-03-16 08:41:21.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2021-06-01 22:08:31.000000000 -0400
@@ -44,6 +44,7 @@
#import <UIKit/UIBarButtonItemGroup.h>
#import <UIKit/UIBarItem.h>
#import <UIKit/UIButton.h>
+#import <UIKit/UIButtonConfiguration.h>
#import <UIKit/UICollectionView.h>
#import <UIKit/UICollectionViewCell.h>
#import <UIKit/UICollectionViewController.h>
@@ -97,6 +98,7 @@
#import <UIKit/UIGraphicsPDFRenderer.h>
#import <UIKit/UIImageAsset.h>
#import <UIKit/UIImagePickerController.h>
+#import <UIKit/UIImageVariants.h>
#import <UIKit/UIImageView.h>
#import <UIKit/UIInputView.h>
#import <UIKit/UIInputViewController.h>
@@ -216,6 +218,8 @@
#import <UIKit/NSLayoutConstraint.h>
#import <UIKit/NSLayoutAnchor.h>
#import <UIKit/UILayoutGuide.h>
+#import <UIKit/UIKeyboardLayoutGuide.h>
+#import <UIKit/UITrackingLayoutGuide.h>
#import <UIKit/UIStackView.h>
#import <UIKit/NSLayoutManager.h>
#import <UIKit/NSTextAttachment.h>
@@ -226,6 +230,7 @@
#import <UIKit/UIViewControllerTransitionCoordinator.h>
#import <UIKit/UIPresentationController.h>
#import <UIKit/UIPreviewInteraction.h>
+#import <UIKit/UISheetPresentationController.h>
#import <UIKit/UIPopoverPresentationController.h>
#import <UIKit/UIDynamicAnimator.h>
#import <UIKit/UIDynamicBehavior.h>
@@ -277,6 +282,7 @@
#import <UIKit/UIFocusMovementHint.h>
#import <UIKit/UIPencilInteraction.h>
#import <UIKit/UISceneDefinitions.h>
+#import <UIKit/UISceneEnhancedStateRestoration.h>
#import <UIKit/UISceneOptions.h>
#import <UIKit/UIScene.h>
#import <UIKit/UIWindowScene.h>
@@ -300,8 +306,17 @@
#import <UIKit/UIPointerInteraction.h>
#import <UIKit/UIPointerStyle.h>
#import <UIKit/UIPointerRegion.h>
+#import <UIKit/UIBandSelectionInteraction.h>
+#import <UIKit/UIPointerAccessory.h>
#import <UIKit/UIColorWell.h>
#import <UIKit/UIColorPickerViewController.h>
#import <UIKit/UIEventAttribution.h>
#import <UIKit/UIEventAttributionView.h>
+#import <UIKit/UIBehavioralStyle.h>
+#import <UIKit/UIWindowSceneActivationRequestOptions.h>
+#import <UIKit/UIWindowSceneActivationConfiguration.h>
+#import <UIKit/UIWindowSceneActivationAction.h>
+#import <UIKit/UIWindowSceneActivationInteraction.h>
+#import <UIKit/UIFocusEffect.h>
+#import <UIKit/UIToolTipInteraction.h>
#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h 2021-06-02 05:35:54.000000000 -0400
@@ -28,12 +28,24 @@
#define UIKIT_CLASS_AVAILABLE_IOS_TVOS(_ios, _tvos) UIKIT_EXTERN __IOS_AVAILABLE(_ios) __WATCHOS_UNAVAILABLE __TVOS_AVAILABLE(_tvos)
#define UIKIT_CLASS_AVAILABLE_IOS_WATCHOS_TVOS(_ios, _watchos, _tvos) UIKIT_EXTERN __IOS_AVAILABLE(_ios) __WATCHOS_AVAILABLE(_watchos) __TVOS_AVAILABLE(_tvos)
+#define UIKIT_SWIFT_ACTOR_INDEPENDENT __attribute__((swift_attr("@actorIndependent(unsafe)")))
+
#if __swift__
#define UIKIT_SWIFT_FORWARD_DECLARE(DECLARATION) DECLARATION;
#else
#define UIKIT_SWIFT_FORWARD_DECLARE(DECLARATION)
#endif
+#if !defined(UIKIT_EXTERN_C_BEGIN) && !defined(UIKIT_EXTERN_C_END)
+ #ifdef __cplusplus
+ #define UIKIT_EXTERN_C_BEGIN extern "C" {
+ #define UIKIT_EXTERN_C_END }
+ #else
+ #define UIKIT_EXTERN_C_BEGIN
+ #define UIKIT_EXTERN_C_END
+ #endif
+#endif
+
#else
#import <UIKitCore/UIKitDefines.h>
#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h 2021-03-16 09:56:28.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h 2021-06-02 12:44:59.000000000 -0400
@@ -17,7 +17,8 @@
@class UIColor, UIFont;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting>
@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)
@@ -76,6 +77,8 @@
// If YES, the UILabel will scroll its text while any of its immediate or distant superviews become focused. Also, lineBreakMode, adjustsFontSizeToFitWidth, and allowsDefaultTighteningForTruncation are ignored.
@property (nonatomic) BOOL enablesMarqueeWhenAncestorFocused API_AVAILABLE(tvos(12.0)) API_UNAVAILABLE(ios, watchos);
+/// Indicates whether expansion text will be shown when the view is too small to show all the contents. Defaults to NO.
+@property (nonatomic) BOOL showsExpansionTextWhenTruncated API_AVAILABLE(macCatalyst(15.0));
// deprecated:
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILargeContentViewer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILargeContentViewer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILargeContentViewer.h 2021-03-16 08:48:18.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILargeContentViewer.h 2021-06-02 12:44:57.000000000 -0400
@@ -23,7 +23,8 @@
// It is intended only for use with items that must remain small due to unavoidable design constraints.
// For example, buttons in a tab bar remain small to leave more room for the main content.
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @protocol UILargeContentViewerItem <NSObject>
+API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UILargeContentViewerItem <NSObject>
/// Returns whether the item shows the large content viewer.
/// In general, only views that cannot scale for the full range of Dynamic Type sizes should return YES.
@@ -67,7 +68,8 @@
/// UILargeContentViewerInteraction enables a gesture to present and dismiss the large content viewer on a device with relevant settings.
/// Use methods in <UIKit/UIInteraction.h> to add the interaction to an appropriate view, such as a custom tab bar.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @interface UILargeContentViewerInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UILargeContentViewerInteraction : NSObject <UIInteraction>
- (instancetype)initWithDelegate:(nullable id<UILargeContentViewerInteractionDelegate>)delegate NS_DESIGNATED_INITIALIZER;
@@ -85,14 +87,15 @@
@end
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @protocol UILargeContentViewerInteractionDelegate <NSObject>
+API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UILargeContentViewerInteractionDelegate <NSObject>
@optional
/// Performs an action when the large content viewer gesture ends at the location of the given item.
/// (The point in the interaction's view's coordinate system is also provided.)
/// For example, you may wish to perform the action that would have occurred if the user had tapped on that item.
-/// If this is not implemented and the gesture ends at the location of a UIControl object, it will send a UIControlEventTouchUpInside event.
+/// If you don’t implement this method and are using standard UIKit controls, the system performs a default action, such as sending a touchUpInside event to the control.
/// This method is called only if the gesture ends successfully (not if it fails or gets canceled).
- (void)largeContentViewerInteraction:(UILargeContentViewerInteraction *)interaction didEndOnItem:(nullable id<UILargeContentViewerItem>)item atPoint:(CGPoint)point;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILayoutGuide.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILayoutGuide.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILayoutGuide.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILayoutGuide.h 2021-06-02 05:36:01.000000000 -0400
@@ -20,7 +20,7 @@
Create a UILayoutGuide with -init, and add to a view with -[UIView addLayoutGuide:]
before using it in a constraint.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(9.0))
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
@interface UILayoutGuide : NSObject <NSCoding>
/* The frame of the UILayoutGuide in its owningView's coordinate system.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILexicon.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILexicon.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILexicon.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILexicon.h 2021-06-02 05:36:01.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UILexiconEntry : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UILexiconEntry : NSObject <NSCopying>
// -documentText returns the intended text to be inserted into the document for a given -userInput.
// -userInput represents the expected typed string, which need not match the actual typed string.
// for example, if the -documentText were "iPhone", the corresponding -userInput could be "iphone"
@@ -21,7 +22,8 @@
@property (nonatomic, readonly) NSString *userInput;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UILexicon : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UILexicon : NSObject <NSCopying>
@property (nonatomic, readonly) NSArray<UILexiconEntry *> *entries;
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h 2021-03-16 08:45:17.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentConfiguration.h 2021-06-02 05:35:55.000000000 -0400
@@ -14,7 +14,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UIListContentConfiguration : NSObject <UIContentConfiguration, NSSecureCoding>
/// Returns the default configuration for a list cell.
@@ -32,6 +32,10 @@
+ (instancetype)groupedHeaderConfiguration;
/// Returns the default configuration for a grouped list footer.
+ (instancetype)groupedFooterConfiguration;
+/// Returns the default configuration for a prominent inset grouped list header.
++ (instancetype)prominentInsetGroupedHeaderConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
+/// Returns the default configuration for an extra prominent inset grouped list header.
++ (instancetype)extraProminentInsetGroupedHeaderConfiguration API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(tvos, watchos);
/// Returns the default configuration for a sidebar list cell.
+ (instancetype)sidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
@@ -55,14 +59,14 @@
/// 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 `textConfiguration` if set.
+/// 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) UIListContentTextProperties *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 `secondaryTextConfiguration` if set.
+/// 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) UIListContentTextProperties *secondaryTextProperties;
@@ -85,7 +89,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UIListContentView : UIView <UIContentView>
- (instancetype)initWithConfiguration:(UIListContentConfiguration *)configuration NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentImageProperties.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentImageProperties.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentImageProperties.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentImageProperties.h 2021-06-02 05:36:00.000000000 -0400
@@ -16,7 +16,7 @@
@class UIImageSymbolConfiguration;
@class UIColor;
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UIListContentImageProperties : NSObject <NSCopying, NSSecureCoding>
/// The symbol configuration to use.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentTextProperties.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentTextProperties.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentTextProperties.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListContentTextProperties.h 2021-06-02 05:35:53.000000000 -0400
@@ -29,7 +29,7 @@
UIListContentTextTransformCapitalized
} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
@interface UIListContentTextProperties : NSObject <NSCopying, NSSecureCoding>
/// The font used for the text.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListSeparatorConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListSeparatorConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListSeparatorConfiguration.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIListSeparatorConfiguration.h 2021-06-02 05:36:05.000000000 -0400
@@ -26,7 +26,7 @@
/// This configuration allows for fine grained control of separator appearance in a UICollectionView List section.
/// @see UICollectionLayoutListConfiguration.separatorConfiguration
-UIKIT_EXTERN API_AVAILABLE(ios(14.5), watchos(7.4)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.5), watchos(7.4)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIListSeparatorConfiguration : NSObject <NSCopying, NSSecureCoding>
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2021-03-16 13:57:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2021-06-02 05:36:10.000000000 -0400
@@ -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)
+UIKIT_EXTERN API_DEPRECATED("Use UserNotifications Framework's UNNotificationRequest", ios(4.0, 10.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UILocalNotification : NSObject<NSCopying, NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h 2021-06-02 05:35:53.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(3.0)) @interface UILocalizedIndexedCollation : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(3.0)) NS_SWIFT_UI_ACTOR
+@interface UILocalizedIndexedCollation : NSObject
+ (instancetype)currentCollation;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILongPressGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILongPressGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILongPressGestureRecognizer.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILongPressGestureRecognizer.h 2021-06-02 05:36:04.000000000 -0400
@@ -18,7 +18,8 @@
// Changes: when a finger moves
// Ends: when a finger is lifted
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) @interface UILongPressGestureRecognizer : UIGestureRecognizer
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) NS_SWIFT_UI_ACTOR
+@interface UILongPressGestureRecognizer : UIGestureRecognizer
@property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 0. The number of full taps required before the press for gesture to be recognized
@property (nonatomic) NSUInteger numberOfTouchesRequired API_UNAVAILABLE(tvos); // Default is 1. Number of fingers that must be held down for the gesture to be recognized
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIManagedDocument.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIManagedDocument.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIManagedDocument.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIManagedDocument.h 2021-06-02 05:36:03.000000000 -0400
@@ -16,7 +16,8 @@
@class NSManagedObjectContext;
@class NSPersistentStoreCoordinator;
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos) @interface UIManagedDocument : UIDocument
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIManagedDocument : UIDocument
/* The name for the persistent store file inside the document's file wrapper. When working with the Core Data APIs, this path component is appended to the document URL provided by the UIDocument APIs. The default name is @"documentpersistentstore.db"
*/
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2021-03-16 13:59:16.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenu.h 2021-06-02 12:44:54.000000000 -0400
@@ -19,11 +19,15 @@
/// Indicates whether the menu should be rendered with a destructive appearance in its parent
UIMenuOptionsDestructive = 1 << 1,
+ /// Indicates whether the menu (and any submenus) should only allow a single "on" menu item.
+ UIMenuOptionsSingleSelection API_AVAILABLE(ios(15.0)) = 1 << 5,
+
} NS_SWIFT_NAME(UIMenu.Options) API_AVAILABLE(ios(13.0));
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIMenu : UIMenuElement
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIMenu : UIMenuElement
/// Unique identifier.
@property (nonatomic, readonly) UIMenuIdentifier identifier;
@@ -34,6 +38,9 @@
/// The menu's sub-elements and sub-menus. On iOS 14.0, elements of your own menus are mutable, -copying a menu will produce mutable elements, and UIKit will take immutable copies of menus it receives. Prior to iOS 14.0, menus are always fully immutable.
@property (nonatomic, readonly) NSArray<UIMenuElement *> *children;
+/// The element(s) in the menu and sub-menus that have an "on" menu item state.
+@property (nonatomic, readonly) NSArray <UIMenuElement *> *selectedElements API_AVAILABLE(ios(15.0));
+
/*!
* @abstract Creates a UIMenu with an empty title, nil image, automatically generated identifier, and default options.
*
@@ -217,6 +224,9 @@
/// Show/Hide and Customize Toolbar menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuToolbar API_AVAILABLE(ios(13.0));
+/// Sidebar menu
+UIKIT_EXTERN const UIMenuIdentifier UIMenuSidebar API_AVAILABLE(ios(15.0));
+
/// Fullscreen menu
UIKIT_EXTERN const UIMenuIdentifier UIMenuFullscreen API_AVAILABLE(ios(13.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuBuilder.h 2021-06-02 05:35:53.000000000 -0400
@@ -17,7 +17,8 @@
NS_ASSUME_NONNULL_BEGIN
/// Encapsulates access and mutation for a menu hierarchy.
-API_AVAILABLE(ios(13.0)) @protocol UIMenuBuilder
+API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@protocol UIMenuBuilder
/// Which system we are building for.
@property (nonatomic, readonly) UIMenuSystem *system;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuController.h 2021-06-02 05:35:54.000000000 -0400
@@ -22,7 +22,8 @@
@class UIView, UIMenuItem;
-UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) @interface UIMenuController : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIMenuController : NSObject
@property(class, nonatomic, readonly) UIMenuController *sharedMenuController;
@@ -53,7 +54,8 @@
UIKIT_EXTERN NSNotificationName const UIMenuControllerDidHideMenuNotification API_UNAVAILABLE(tvos);
UIKIT_EXTERN NSNotificationName const UIMenuControllerMenuFrameDidChangeNotification API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) @interface UIMenuItem : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIMenuItem : NSObject
- (instancetype)initWithTitle:(NSString *)title action:(SEL)action NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuElement.h 2021-06-02 05:35:55.000000000 -0400
@@ -25,7 +25,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIMenuElement : NSObject <NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIMenuElement : NSObject <NSCopying, NSSecureCoding>
/// The element's title.
@property (nonatomic, readonly) NSString *title;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuSystem.h 2021-06-02 05:36:03.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
/// The command system to build or rebuild.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIMenuSystem : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIMenuSystem : NSObject
/// The main command system.
@property (class, nonatomic, readonly) UIMenuSystem *mainSystem;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMotionEffect.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMotionEffect.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMotionEffect.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMotionEffect.h 2021-06-02 12:47:48.000000000 -0400
@@ -15,7 +15,8 @@
Subclasses must implement conformance for NSCopying and NSCoding. */
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIMotionEffect : NSObject <NSCopying, NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIMotionEffect : NSObject <NSCopying, NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -59,7 +60,8 @@
Animation's implementation of interpolation for all the standard types.
`keyPath` should be expressed relative to the effect's target view. */
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIInterpolatingMotionEffect : UIMotionEffect
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIInterpolatingMotionEffect : UIMotionEffect
- (instancetype)initWithKeyPath:(NSString *)keyPath type:(UIInterpolatingMotionEffectType)type NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -75,7 +77,8 @@
/*! Behaves like CAAnimationGroup. Merges key/value pairs of constituent
using Core Animation's implementations of addition for all the standard types. */
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIMotionEffectGroup : UIMotionEffect
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIMotionEffectGroup : UIMotionEffect
@property (nullable, copy, nonatomic) NSArray<__kindof UIMotionEffect *> *motionEffects;
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBar.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBar.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBar.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBar.h 2021-06-02 12:47:42.000000000 -0400
@@ -20,7 +20,8 @@
@class UINavigationItem, UIBarButtonItem, UIImage, UIColor, UINavigationBarAppearance;
@protocol UINavigationBarDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UINavigationBar : UIView <NSCoding, UIBarPositioning>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UINavigationBar : UIView <NSCoding, UIBarPositioning>
@property(nonatomic,assign) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos);
@property(nullable,nonatomic,weak) id<UINavigationBarDelegate> delegate;
@@ -101,10 +102,20 @@
/*
Fallback Behavior:
- 1) Appearance objects are used in whole – that is, all values will be sourced entirely from an instance of UINavigationBarAppearance defined by one of these named properties (standardAppearance, compactAppearance, scrollEdgeAppearance) on either UINavigationBar (self) or UINavigationItem (self.topItem).
- 2) The navigation bar will always attempt to use the most relevant appearance instances first, before falling back to less relevant ones. The fallback logic is:
- AtScrollEdge: self.topItem.scrollEdgeAppearance => self.scrollEdgeAppearance => self.topItem.standardAppearance => self.standardAppearance
- CompactSize: self.topItem.compactAppearance => self.compactAppearance => self.topItem.standardAppearance => self.standardAppearance
+ 1) Appearance objects are used in whole – that is, all values will be sourced entirely from an
+ instance of UINavigationBarAppearance defined by one of these named properties (standardAppearance,
+ compactAppearance, scrollEdgeAppearance, compactScrollEdgeAppearance) on either UINavigationBar
+ (self) or UINavigationItem (self.topItem).
+ 2) The navigation bar will always attempt to use the most relevant appearance instances first,
+ before falling back to less relevant ones. The fallback logic is:
+ AtScrollEdge: self.topItem.scrollEdgeAppearance => self.scrollEdgeAppearance
+ => self.topItem.standardAppearance => self.standardAppearance
+ AtCompactScrollEdge: self.topItem.compactScrollEdgeAppearance
+ => self.compactScrollEdgeAppearance => self.topItem.scrollEdgeAppearance
+ => self.scrollEdgeAppearance => self.topItem.compactAppearance
+ => self.compactAppearance => self.topItem.standardAppearance => self.standardAppearance
+ CompactSize: self.topItem.compactAppearance => self.compactAppearance
+ => self.topItem.standardAppearance => self.standardAppearance
NormalSize: self.topItem.standardAppearance => self.standardAppearance
*/
@@ -114,9 +125,11 @@
@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *compactAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0));
/// Describes the appearance attributes for the navigation bar to use when an associated UIScrollView has reached the edge abutting the bar (the top edge for the navigation bar). If not set, a modified standardAppearance will be used instead.
@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0));
-
+/// Describes the appearance attributes for the navigation bar to use when it is displayed with its compact heights, and an associated UIScrollView has reached the edge abutting the bar. If not set, first the scrollEdgeAppearance will be tried, and if that is nil then compactAppearance followed by a modified standardAppearance.
+@property(nonatomic,readwrite, copy, nullable) UINavigationBarAppearance *compactScrollEdgeAppearance;
@end
+NS_SWIFT_UI_ACTOR
@protocol UINavigationBarDelegate <UIBarPositioningDelegate>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationBarAppearance.h 2021-06-02 05:36:02.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) @interface UINavigationBarAppearance : UIBarAppearance
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+@interface UINavigationBarAppearance : UIBarAppearance
/// Inline Title text attributes. If the font or color are unspecified, appropriate defaults are supplied.
@property (nonatomic, readwrite, copy) NSDictionary<NSAttributedStringKey, id> *titleTextAttributes;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2021-03-16 13:56:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2021-06-02 05:38:25.000000000 -0400
@@ -42,7 +42,8 @@
@protocol UINavigationControllerDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UINavigationController : UIViewController
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UINavigationController : UIViewController
/* Use this initializer to make the navigation controller use your custom bar class.
@@ -101,6 +102,7 @@
@protocol UIViewControllerInteractiveTransitioning;
@protocol UIViewControllerAnimatedTransitioning;
+NS_SWIFT_UI_ACTOR
@protocol UINavigationControllerDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2021-03-16 08:45:25.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2021-06-02 12:44:55.000000000 -0400
@@ -33,7 +33,8 @@
UINavigationItemBackButtonDisplayModeMinimal = 2,
} NS_SWIFT_NAME(UINavigationItem.BackButtonDisplayMode);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UINavigationItem : NSObject <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UINavigationItem : NSObject <NSCoding>
- (instancetype)initWithTitle:(NSString *)title NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -99,7 +100,8 @@
@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *compactAppearance API_AVAILABLE(ios(13.0));
/// When set and this item is topmost, overrides the hosting navigation bar's scrollEdgeAppearance. See UINavigationBar.scrollEdgeAppearance for further details.
@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *scrollEdgeAppearance API_AVAILABLE(ios(13.0));
-
+/// When set and this item is topmost, overrides the hosting navigation bar's compactScrollEdgeAppearance. See UINavigationBar.h for further details.
+@property (nonatomic, readwrite, copy, nullable) UINavigationBarAppearance *compactScrollEdgeAppearance API_AVAILABLE(ios(15.0));
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINib.h 2021-06-02 05:35:57.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(4.0)) @interface UINib : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(4.0)) NS_SWIFT_UI_ACTOR
+@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_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h 2021-06-02 05:36:04.000000000 -0400
@@ -17,7 +17,8 @@
};
// UINotificationFeedbackGenerator is used to give user feedback when an notification is displayed
-UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) @interface UINotificationFeedbackGenerator : UIFeedbackGenerator
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
+@interface UINotificationFeedbackGenerator : UIFeedbackGenerator
/// call when a notification is displayed, passing the corresponding type
- (void)notificationOccurred:(UINotificationFeedbackType)notificationType;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOpenURLContext.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOpenURLContext.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOpenURLContext.h 2021-03-16 13:56:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOpenURLContext.h 2021-06-02 05:35:52.000000000 -0400
@@ -13,7 +13,8 @@
NS_ASSUME_NONNULL_BEGIN
// This object is vended to your application by UIKit when there are URLs to open
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIOpenURLContext : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIOpenURLContext : NSObject
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageControl.h 2021-06-02 05:36:04.000000000 -0400
@@ -30,7 +30,8 @@
UIPageControlBackgroundStyleMinimal = 2,
} API_AVAILABLE(ios(14.0));
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIPageControl : UIControl
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIPageControl : UIControl
/// default is 0
@property (nonatomic, assign) NSInteger numberOfPages;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageViewController.h 2021-03-16 13:57:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPageViewController.h 2021-06-02 12:47:58.000000000 -0400
@@ -47,7 +47,8 @@
@protocol UIPageViewControllerDelegate, UIPageViewControllerDataSource;
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) @interface UIPageViewController : UIViewController {
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) NS_SWIFT_UI_ACTOR
+@interface UIPageViewController : UIViewController {
}
- (instancetype)initWithTransitionStyle:(UIPageViewControllerTransitionStyle)style navigationOrientation:(UIPageViewControllerNavigationOrientation)navigationOrientation options:(nullable NSDictionary<UIPageViewControllerOptionsKey, id> *)options NS_DESIGNATED_INITIALIZER;
@@ -71,10 +72,11 @@
// Set visible view controllers, optionally with animation. Array should only include view controllers that will be visible after the animation has completed.
// For transition style 'UIPageViewControllerTransitionStylePageCurl', if 'doubleSided' is 'YES' and the spine location is not 'UIPageViewControllerSpineLocationMid', two view controllers must be included, as the latter view controller is used as the back.
-- (void)setViewControllers:(nullable NSArray<UIViewController *> *)viewControllers direction:(UIPageViewControllerNavigationDirection)direction animated:(BOOL)animated completion:(void (^ __nullable)(BOOL finished))completion;
+- (void)setViewControllers:(nullable NSArray<UIViewController *> *)viewControllers direction:(UIPageViewControllerNavigationDirection)direction animated:(BOOL)animated completion:(void (^ __nullable)(BOOL finished))completion NS_SWIFT_DISABLE_ASYNC;
@end
+NS_SWIFT_UI_ACTOR
@protocol UIPageViewControllerDelegate <NSObject>
@optional
@@ -94,6 +96,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIPageViewControllerDataSource <NSObject>
@required
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h 2021-06-02 05:36:06.000000000 -0400
@@ -27,7 +27,8 @@
UIScrollTypeMaskAll = UIScrollTypeMaskDiscrete | UIScrollTypeMaskContinuous,
} API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) @interface UIPanGestureRecognizer : UIGestureRecognizer
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) NS_SWIFT_UI_ACTOR
+@interface UIPanGestureRecognizer : UIGestureRecognizer
@property (nonatomic) NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos); // default is 1. the minimum number of touches required to match
@property (nonatomic) NSUInteger maximumNumberOfTouches API_UNAVAILABLE(tvos); // default is UINT_MAX. the maximum number of touches that can be down
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfiguration.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfiguration.h 2021-06-02 05:35:55.000000000 -0400
@@ -12,7 +12,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
@interface UIPasteConfiguration : NSObject <NSSecureCoding, NSCopying>
@property (nonatomic, copy) NSArray<NSString *> *acceptableTypeIdentifiers;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfigurationSupporting.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfigurationSupporting.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfigurationSupporting.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteConfigurationSupporting.h 2021-06-02 05:35:59.000000000 -0400
@@ -13,7 +13,7 @@
@class UIPasteConfiguration;
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UIPasteConfigurationSupporting <NSObject>
@property (nonatomic, copy, nullable) UIPasteConfiguration *pasteConfiguration;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2021-06-02 05:36:03.000000000 -0400
@@ -27,6 +27,76 @@
/// NSNumber value
UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternNumber API_AVAILABLE(ios(14.0));
+/// Array of UIPasteboardDetectionResultLink values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternLink API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultPhoneNumber values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternPhoneNumber API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultEmailAddress values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternEmailAddress API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultAddress values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternAddress API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultCalendarEvent values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternCalendarEvent API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultShipmentTrackingNumber values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternShipmentTrackingNumber API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultFlightNumber values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternFlightNumber API_AVAILABLE(ios(15.0));
+/// Array of UIPasteboardDetectionResultMoneyAmount values
+UIKIT_EXTERN UIPasteboardDetectionPattern const UIPasteboardDetectionPatternMoneyAmount API_AVAILABLE(ios(15.0));
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResult : NSObject
+@property(nonatomic, readonly) NSString *matchedString;
+@property(nonatomic, readonly) NSRange matchedRange;
+- (instancetype)init NS_UNAVAILABLE;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultLink : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSURL *url;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultPhoneNumber : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSString *phoneNumber;
+@property(nonatomic, readonly, nullable) NSString *label;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultEmailAddress : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSString *emailAddress;
+@property(nonatomic, readonly, nullable) NSString *label;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultAddress : UIPasteboardDetectionResult
+@property(nonatomic, readonly, nullable) NSString *street;
+@property(nonatomic, readonly, nullable) NSString *city;
+@property(nonatomic, readonly, nullable) NSString *state;
+@property(nonatomic, readonly, nullable) NSString *postalCode;
+@property(nonatomic, readonly, nullable) NSString *country;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultCalendarEvent : UIPasteboardDetectionResult
+@property(nonatomic, readonly) BOOL allDay;
+@property(nonatomic, readonly, nullable) NSDate *startDate;
+@property(nonatomic, readonly, nullable) NSTimeZone *startTimeZone;
+@property(nonatomic, readonly, nullable) NSDate *endDate;
+@property(nonatomic, readonly, nullable) NSTimeZone *endTimeZone;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultShipmentTrackingNumber : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSString *carrier;
+@property(nonatomic, readonly) NSString *trackingNumber;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultFlightNumber : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSString *airline;
+@property(nonatomic, readonly) NSString *flightNumber;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) @interface UIPasteboardDetectionResultMoneyAmount : UIPasteboardDetectionResult
+@property(nonatomic, readonly) NSString *currency;
+@property(nonatomic, readonly) double amount;
+@end
+
+
@class UIColor, UIImage;
UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) @interface UIPasteboard : NSObject
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPencilInteraction.h 2021-06-02 05:36:00.000000000 -0400
@@ -31,7 +31,8 @@
@protocol UIPencilInteractionDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) @interface UIPencilInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPencilInteraction : NSObject <UIInteraction>
@property (class, nonatomic, readonly) UIPencilPreferredAction preferredTapAction;
@property (class, nonatomic, readonly) BOOL prefersPencilOnlyDrawing;
@@ -43,7 +44,8 @@
@end
-API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) @protocol UIPencilInteractionDelegate <NSObject>
+API_AVAILABLE(ios(12.1)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIPencilInteractionDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h 2021-06-02 05:36:08.000000000 -0400
@@ -15,7 +15,8 @@
@protocol UIPickerViewDataSource, UIPickerViewDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) @interface UIPickerView : UIView <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPickerView : UIView <NSCoding>
@property(nullable,nonatomic,weak) id<UIPickerViewDataSource> dataSource; // default is nil. weak reference
@property(nullable,nonatomic,weak) id<UIPickerViewDelegate> delegate; // default is nil. weak reference
@@ -43,7 +44,7 @@
@end
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIPickerViewDataSource<NSObject>
@required
@@ -54,7 +55,7 @@
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
@end
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIPickerViewDelegate<NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h 2021-06-02 05:35:55.000000000 -0400
@@ -16,7 +16,8 @@
// Changes: when a finger moves while two fingers remain down
// Ends: when both fingers have lifted
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) @interface UIPinchGestureRecognizer : UIGestureRecognizer
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPinchGestureRecognizer : UIGestureRecognizer
@property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
@property (nonatomic,readonly) CGFloat velocity; // velocity of the pinch in scale/second
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h 2021-06-02 05:35:57.000000000 -0400
@@ -0,0 +1,73 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIPointerAccessory.h>)
+//
+// UIPointerAccessory.h
+// UIKit
+//
+// Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <CoreGraphics/CoreGraphics.h>
+
+@class UIPointerShape;
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef struct {
+ /// Offset from the primary pointer shape. Only allows positive values.
+ CGFloat offset;
+
+ /// Clock-wise angle from top in radians.
+ CGFloat angle;
+} UIPointerAccessoryPosition API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+
+UIKIT_STATIC_INLINE UIPointerAccessoryPosition UIPointerAccessoryPositionMake(CGFloat offset, CGFloat angle) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) {
+ UIPointerAccessoryPosition position = { offset, angle };
+ return position;
+}
+
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionTop API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionTopRight API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionRight API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionBottomRight API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionBottom API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionBottomLeft API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionLeft API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+UIKIT_EXTERN const UIPointerAccessoryPosition UIPointerAccessoryPositionTopLeft API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+
+
+UIKIT_EXTERN API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPointerAccessory : NSObject <NSCopying>
+
+/// This accessory's shape.
+@property (nonatomic, copy, readonly) UIPointerShape *shape;
+
+/// This accessory shape's position relative to the pointer.
+@property (nonatomic, readonly) UIPointerAccessoryPosition position;
+
+/// Indicates whether the accessory is rotated to match its angle.
+/// This is false by default for custom accessories, but varies for system vended ones.
+@property (nonatomic) BOOL orientationMatchesAngle;
+
+/*!
+ * @abstract Creates an accessory with the given pointer shape and position.
+ *
+ * @param shape The desired accessory shape.
+ * @param position The desired accessory position.
+ */
++ (instancetype)accessoryWithShape:(UIPointerShape *)shape position:(UIPointerAccessoryPosition)position;
+
+/// Returns an arrow shaped accessory with the given position.
++ (instancetype)arrowAccessoryWithPosition:(UIPointerAccessoryPosition)position;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <UIKitCore/UIPointerAccessory.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerInteraction.h 2021-03-16 13:57:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerInteraction.h 2021-06-02 05:36:07.000000000 -0400
@@ -16,7 +16,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @interface UIPointerInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPointerInteraction : NSObject <UIInteraction>
@property (nonatomic, weak, readonly, nullable) id<UIPointerInteractionDelegate> delegate;
@property (nonatomic, getter=isEnabled) BOOL enabled;
@@ -31,7 +32,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @protocol UIPointerInteractionDelegate <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIPointerInteractionDelegate <NSObject>
@optional
@@ -77,7 +79,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @interface UIPointerRegionRequest : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPointerRegionRequest : NSObject
/// The location of the pointer in the interaction's view's coordinate space.
@property (nonatomic, readonly) CGPoint location;
@@ -88,10 +91,11 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @protocol UIPointerInteractionAnimating <NSObject>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIPointerInteractionAnimating <NSObject>
- (void)addAnimations:(void (^)(void))animations;
-- (void)addCompletion:(void (^)(BOOL finished))completion;
+- (void)addCompletion:(void (^)(BOOL finished))completion NS_SWIFT_DISABLE_ASYNC;
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerLockState.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerLockState.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerLockState.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerLockState.h 2021-06-02 05:36:00.000000000 -0400
@@ -10,7 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIPointerLockState : NSObject
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerRegion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerRegion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerRegion.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerRegion.h 2021-06-02 05:35:58.000000000 -0400
@@ -8,15 +8,20 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKitDefines.h>
-#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/UIGeometry.h>
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @interface UIPointerRegion : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPointerRegion : NSObject <NSCopying>
@property (nonatomic, readonly) CGRect rect;
@property (nonatomic, readonly, nullable) id<NSObject> identifier NS_REFINED_FOR_SWIFT;
+/// Axes along which this region latches when the primary mouse button is pressed.
+/// When set, the UIPointerStyle associated with this region will "lock in" and allow free-form movement along the specified axes.
+@property (nonatomic) UIAxis latchingAxes;
+
/*!
* @abstract Creates a UIPointerRegion with the supplied rect and optional identifier.
*
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h 2021-03-16 08:45:16.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerStyle.h 2021-06-02 12:44:46.000000000 -0400
@@ -11,11 +11,16 @@
#import <UIKit/UIGeometry.h>
#import <CoreGraphics/CGGeometry.h>
-@class UITargetedPreview, UIBezierPath, UIPointerEffect, UIPointerShape;
+@class UITargetedPreview, UIBezierPath, UIPointerEffect, UIPointerShape, UIPointerAccessory;
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) @interface UIPointerStyle : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPointerStyle : NSObject <NSCopying>
+
+/// Accessories to display alongside this UIPointerStyle. Supports up to 4 accessories.
+/// The system will attempt to animate between neighboring or similar accessories.
+@property (nonatomic, copy) NSArray<UIPointerAccessory *> *accessories API_AVAILABLE(ios(15.0));
/*!
* @abstract Applies the provided content effect and pointer shape within the current region.
@@ -38,13 +43,19 @@
*/
+ (instancetype)hiddenPointerStyle;
+/*!
+ * @abstract Pointer style that displays an unconstrained system pointer. Use this to display accessories alongside the default pointer.
+ */
++ (instancetype)systemPointerStyle API_AVAILABLE(ios(15.0));
+
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT @interface UIPointerEffect : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIPointerEffect : NSObject <NSCopying>
@property (nonatomic, copy, readonly) UITargetedPreview *preview;
@@ -64,11 +75,13 @@
@end
/// Pointer slides under the given view and morphs into the view's shape
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT @interface UIPointerHighlightEffect : UIPointerEffect
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIPointerHighlightEffect : UIPointerEffect
@end
/// Pointer slides under the given view and disappears as the view scales up and gains a shadow.
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT @interface UIPointerLiftEffect : UIPointerEffect
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIPointerLiftEffect : UIPointerEffect
@end
typedef NS_ENUM(NSInteger, UIPointerEffectTintMode) {
@@ -79,7 +92,8 @@
/// Pointer retains the system shape while over the given view. Visual changes applied to the view are dictated by the effect's properties.
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT @interface UIPointerHoverEffect : UIPointerEffect
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIPointerHoverEffect : UIPointerEffect
@property (nonatomic) UIPointerEffectTintMode preferredTintMode; // Defaults to UIPointerEffectTintModeOverlay
@property (nonatomic) BOOL prefersShadow; // Defaults to NO
@@ -88,7 +102,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT @interface UIPointerShape : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT NS_SWIFT_UI_ACTOR
+@interface UIPointerShape : NSObject <NSCopying>
/*!
* @abstract Morphs the pointer to the given path.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h 2021-03-16 13:59:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverController.h 2021-06-02 12:47:49.000000000 -0400
@@ -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))
+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
@interface UIPopoverController : NSObject <UIAppearanceContainer> {}
/* The view controller provided becomes the content view controller for the UIPopoverController. This is the designated initializer for UIPopoverController.
@@ -79,6 +79,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIPopoverControllerDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverPresentationController.h 2021-06-02 05:36:09.000000000 -0400
@@ -13,9 +13,9 @@
NS_ASSUME_NONNULL_BEGIN
-@class UIPopoverPresentationController;
+@class UIPopoverPresentationController, UISheetPresentationController;
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIPopoverPresentationControllerDelegate <UIAdaptivePresentationControllerDelegate>
@optional
@@ -34,7 +34,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UIPopoverPresentationController : UIPresentationController
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPopoverPresentationController : UIPresentationController
@property (nullable, nonatomic, weak) id <UIPopoverPresentationControllerDelegate> delegate;
@@ -74,6 +75,9 @@
// 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);
+
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPopoverSupport.h 2021-06-02 05:35:55.000000000 -0400
@@ -25,7 +25,7 @@
/* 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(tvos);
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h 2021-03-16 09:56:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h 2021-06-02 05:36:07.000000000 -0400
@@ -20,6 +20,7 @@
@class UIPresentationController;
+NS_SWIFT_UI_ACTOR
@protocol UIAdaptivePresentationControllerDelegate <NSObject>
@optional
@@ -30,14 +31,18 @@
// Returning UIModalPresentationNone will indicate that an adaptation should not happen.
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller traitCollection:(UITraitCollection *)traitCollection API_AVAILABLE(ios(8.3));
+// Called during adaptation so the delegate may configure properties of the adaptive presentation controller before it is presented.
+- (void)presentationController:(UIPresentationController *)presentationController prepareAdaptivePresentationController:(UIPresentationController *)adaptivePresentationController API_AVAILABLE(ios(15.0));
+
// If this method is not implemented, or returns nil, then the originally presented view controller is used.
- (nullable UIViewController *)presentationController:(UIPresentationController *)controller viewControllerForAdaptivePresentationStyle:(UIModalPresentationStyle)style;
// If there is no adaptation happening and an original style is used UIModalPresentationNone will be passed as an argument.
- (void)presentationController:(UIPresentationController *)presentationController willPresentWithAdaptiveStyle:(UIModalPresentationStyle)style transitionCoordinator:(nullable id <UIViewControllerTransitionCoordinator>)transitionCoordinator API_AVAILABLE(ios(8.3));
-// Called on the delegate when the presentation controller will dismiss in response to user action.
-// This method is not called if the presentedViewController isModalInPresentation or if the presentation is dismissed programatically.
+// Called on the delegate to determine if the presentation controller may dismiss in response to user action.
+// This method may be called at any time, and may not necessarily be followed by presentationControllerWillDismiss: or presentationControllerDidDismiss:.
+// Any implementation of this method should be fast.
// Return NO to prevent dismissal of the view controller.
- (BOOL)presentationControllerShouldDismiss:(UIPresentationController *)presentationController API_AVAILABLE(ios(13.0));
@@ -56,7 +61,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
@property(nonatomic, strong, readonly) UIViewController *presentingViewController;
@property(nonatomic, strong, readonly) UIViewController *presentedViewController;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPressesEvent.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPressesEvent.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPressesEvent.h 2021-03-16 13:57:00.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPressesEvent.h 2021-06-02 05:35:58.000000000 -0400
@@ -13,7 +13,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIPressesEvent : UIEvent
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIPressesEvent : UIEvent
@property(nonatomic, readonly) NSSet <UIPress *> *allPresses;
- (NSSet <UIPress *> *)pressesForGestureRecognizer:(UIGestureRecognizer *)gesture;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewInteraction.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewInteraction.h 2021-06-02 05:36:05.000000000 -0400
@@ -14,7 +14,8 @@
@protocol UIPreviewInteractionDelegate;
-UIKIT_CLASS_AVAILABLE_IOS_ONLY(10_0) @interface UIPreviewInteraction : NSObject
+UIKIT_CLASS_AVAILABLE_IOS_ONLY(10_0) NS_SWIFT_UI_ACTOR
+@interface UIPreviewInteraction : NSObject
- (instancetype)initWithView:(UIView *)view NS_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly, weak) UIView *view;
@@ -28,6 +29,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIPreviewInteractionDelegate <NSObject>
- (void)previewInteraction:(UIPreviewInteraction *)previewInteraction didUpdatePreviewTransition:(CGFloat)transitionProgress ended:(BOOL)ended UIKIT_AVAILABLE_IOS_ONLY(10_0); // transitionProgress ranges from 0 to 1
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h 2021-06-02 05:35:54.000000000 -0400
@@ -14,7 +14,8 @@
@class UIBezierPath, UIColor;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) @interface UIPreviewParameters : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIPreviewParameters : NSObject <NSCopying>
/* The default parameters. Use these for most previews.
*/
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h 2021-03-16 13:56:59.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintFormatter.h 2021-06-02 05:35:58.000000000 -0400
@@ -18,7 +18,8 @@
@class UIPrintPageRenderer;
@class UIView, UIFont, UIColor;
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIPrintFormatter : NSObject <NSCopying>
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrintFormatter : NSObject <NSCopying>
@property(nullable,nonatomic,readonly,weak) UIPrintPageRenderer *printPageRenderer API_UNAVAILABLE(tvos); // default is nil. set when formatter added to a print page renderer
- (void)removeFromPrintPageRenderer API_UNAVAILABLE(tvos);
@@ -40,7 +41,8 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UISimpleTextPrintFormatter : UIPrintFormatter {
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UISimpleTextPrintFormatter : UIPrintFormatter {
}
- (instancetype)initWithText:(NSString *)text;
@@ -56,7 +58,8 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIMarkupTextPrintFormatter : UIPrintFormatter {
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIMarkupTextPrintFormatter : UIPrintFormatter {
}
- (instancetype)initWithMarkupText:(NSString *)markupText;
@@ -66,7 +69,8 @@
//______________________________
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIViewPrintFormatter : UIPrintFormatter
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIViewPrintFormatter : UIPrintFormatter
@property(nonatomic,readonly) UIView *view;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInfo.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInfo.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInfo.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInfo.h 2021-06-02 05:36:05.000000000 -0400
@@ -30,7 +30,8 @@
UIPrintInfoDuplexShortEdge, // flip back page along short edge (flipped orientation for portrait, same in landscape)
} API_UNAVAILABLE(tvos);
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIPrintInfo : NSObject <NSCopying, NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrintInfo : NSObject <NSCopying, NSCoding>
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInteractionController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInteractionController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInteractionController.h 2021-03-16 08:48:19.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintInteractionController.h 2021-06-02 11:09:00.000000000 -0400
@@ -29,7 +29,8 @@
@protocol UIPrintInteractionControllerDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIPrintInteractionController : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrintInteractionController : NSObject
@property(class, nonatomic, readonly, getter=isPrintingAvailable) BOOL printingAvailable; // return YES if system supports printing. use this to hide HI for unsupported devices.
@@ -44,6 +45,7 @@
@property(nonatomic) BOOL showsPageRange API_DEPRECATED("Pages can be removed from the print preview, so page range is always shown.", ios(4.2, 10.0));
@property(nonatomic) BOOL showsNumberOfCopies API_AVAILABLE(ios(7.0)); // default is YES.
@property(nonatomic) BOOL showsPaperSelectionForLoadedPapers API_AVAILABLE(ios(8.0)); // default is NO. Paper selection for loaded papers is always shown for UIPrintInfoOutputPhoto and UIPrintInfoOutputPhotoGrayscale
+@property(nonatomic) BOOL showsPaperOrientation API_AVAILABLE(ios(15.0)); // default is YES. Indicates whether the the printing options include the paper orientation control when available.
@property(nullable, nonatomic,readonly) UIPrintPaper *printPaper; // set after printer selection
@@ -67,7 +69,8 @@
@end
-API_UNAVAILABLE(tvos) @protocol UIPrintInteractionControllerDelegate <NSObject>
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@protocol UIPrintInteractionControllerDelegate <NSObject>
@optional
- ( UIViewController * _Nullable )printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPageRenderer.h 2021-06-02 05:35:59.000000000 -0400
@@ -24,7 +24,8 @@
UIPrintRenderingQualityResponsive
};
-UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) @interface UIPrintPageRenderer : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrintPageRenderer : NSObject
@property(nonatomic) CGFloat headerHeight; // top of contentRect from printableRect
@property(nonatomic) CGFloat footerHeight; // bottom of contentRect from printableRect
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintPaper.h 2021-06-02 05:35:56.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(4.2))API_UNAVAILABLE(tvos) @interface UIPrintPaper : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(4.2))API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrintPaper : NSObject
+ (UIPrintPaper *)bestPaperForPageSize:(CGSize)contentSize withPapersFromArray:(NSArray<UIPrintPaper *> *)paperList; // for use by delegate. pass in list
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintServiceExtension.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintServiceExtension.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintServiceExtension.h 2021-03-16 13:57:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrintServiceExtension.h 2021-06-02 05:36:02.000000000 -0400
@@ -13,7 +13,7 @@
@class UIPrintInfo;
-UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIPrinterDestination : NSObject <NSSecureCoding>
-(instancetype)initWithURL:(NSURL *)url;
@@ -24,7 +24,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIPrintServiceExtension : NSObject
-(NSArray<UIPrinterDestination *> *)printerDestinationsForPrintInfo:(UIPrintInfo *)printInfo;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinter.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinter.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinter.h 2021-03-16 09:56:28.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinter.h 2021-06-02 05:36:10.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UIPrinter : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrinter : NSObject
/*!
* @enum UIPrinterJobTypes
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinterPickerController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinterPickerController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinterPickerController.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPrinterPickerController.h 2021-06-02 05:35:55.000000000 -0400
@@ -17,7 +17,7 @@
typedef void (^UIPrinterPickerCompletionHandler)(UIPrinterPickerController *printerPickerController, BOOL userDidSelect, NSError * __nullable error);
-API_UNAVAILABLE(tvos)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UIPrinterPickerControllerDelegate <NSObject>
@optional
@@ -43,7 +43,8 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) @interface UIPrinterPickerController : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIPrinterPickerController : NSObject
/*!
* @method printerPickerControllerWithInitiallySelectedPrinter:
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIProgressView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIProgressView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIProgressView.h 2021-03-16 13:57:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIProgressView.h 2021-06-02 05:36:08.000000000 -0400
@@ -19,7 +19,8 @@
UIProgressViewStyleBar API_UNAVAILABLE(tvos), // for use in a toolbar
};
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIProgressView : UIView <NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIProgressView : UIView <NSCoding>
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPushBehavior.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPushBehavior.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPushBehavior.h 2021-03-16 13:56:58.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPushBehavior.h 2021-06-02 05:35:56.000000000 -0400
@@ -18,7 +18,8 @@
UIPushBehaviorModeInstantaneous
} API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) @interface UIPushBehavior : UIDynamicBehavior
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+@interface UIPushBehavior : UIDynamicBehavior
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items mode:(UIPushBehaviorMode)mode NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIReferenceLibraryViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIReferenceLibraryViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIReferenceLibraryViewController.h 2021-03-16 13:56:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIReferenceLibraryViewController.h 2021-06-02 05:35:54.000000000 -0400
@@ -11,7 +11,7 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UIReferenceLibraryViewController : UIViewController {}
/*! Returns YES if any installed dictionary has a definition for the provided term.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRefreshControl.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRefreshControl.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRefreshControl.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRefreshControl.h 2021-06-02 05:36:01.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos) @interface UIRefreshControl : UIControl
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIRefreshControl : UIControl
/* The designated initializer
* This initializes a UIRefreshControl with a default height and width.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRegion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRegion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRegion.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRegion.h 2021-06-02 05:35:59.000000000 -0400
@@ -12,7 +12,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) @interface UIRegion : NSObject <NSCopying, NSCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+@interface UIRegion : NSObject <NSCopying, NSCoding>
/*! A shared infinite region
*/
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder+UIActivityItemsConfiguration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder+UIActivityItemsConfiguration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder+UIActivityItemsConfiguration.h 2021-03-16 13:56:57.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder+UIActivityItemsConfiguration.h 2021-06-02 05:35:55.000000000 -0400
@@ -7,15 +7,14 @@
//
#import <UIKit/UIResponder.h>
+#import <UIKit/UIActivityItemsConfigurationReading.h>
NS_ASSUME_NONNULL_BEGIN
-@protocol UIActivityItemsConfigurationReading;
-
API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos)
-@interface UIResponder (UIActivityItemsConfiguration)
+@interface UIResponder (UIActivityItemsConfiguration) <UIActivityItemsConfigurationProviding>
-@property (nonatomic, strong, nullable) id<UIActivityItemsConfigurationReading> activityItemsConfiguration API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
+@property (nonatomic, strong, nullable) id<UIActivityItemsConfigurationReading> activityItemsConfiguration API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h 2021-03-16 13:56:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h 2021-06-02 05:35:52.000000000 -0400
@@ -27,11 +27,15 @@
UIEditingInteractionConfigurationDefault = 1, // Default
} API_AVAILABLE(ios(13.0));
+NS_SWIFT_UI_ACTOR
@protocol UIResponderStandardEditActions <NSObject>
@optional
- (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0));
- (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0));
- (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0));
+- (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0));
+- (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0));
+- (void)pasteAndSearch:(nullable id)sender API_AVAILABLE(ios(15.0));
- (void)select:(nullable id)sender API_AVAILABLE(ios(3.0));
- (void)selectAll:(nullable id)sender API_AVAILABLE(ios(3.0));
- (void)delete:(nullable id)sender API_AVAILABLE(ios(3.2));
@@ -45,10 +49,12 @@
- (void)decreaseSize:(nullable id)sender API_AVAILABLE(ios(7.0));
- (void)updateTextAttributesWithConversionHandler:(NS_NOESCAPE UITextAttributesConversionHandler _Nonnull)conversionHandler API_AVAILABLE(ios(13.0));
+- (void)print:(nullable id)sender NS_SWIFT_NAME(printContent(_:)) API_AVAILABLE(ios(15.0));
@end
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIResponder : NSObject <UIResponderStandardEditActions>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIResponder : NSObject <UIResponderStandardEditActions>
@property(nonatomic, readonly, nullable) UIResponder *nextResponder;
@@ -168,6 +174,7 @@
UIKIT_EXTERN NSString *const UIKeyInputF10 API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos);
UIKIT_EXTERN NSString *const UIKeyInputF11 API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos);
UIKIT_EXTERN NSString *const UIKeyInputF12 API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSString *const UIKeyInputDelete API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
@interface UIResponder (ActivityContinuation) <UIUserActivityRestoring>
@property (nullable, nonatomic, strong) NSUserActivity *userActivity API_AVAILABLE(ios(8.0));
@@ -180,6 +187,10 @@
@end
#endif
+@interface UIResponder (UICaptureTextFromCameraSupporting)
+- (void)captureTextFromCamera:(nullable id)sender API_AVAILABLE(ios(15.0));
+@end
+
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRotationGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRotationGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRotationGestureRecognizer.h 2021-03-16 13:57:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIRotationGestureRecognizer.h 2021-06-02 05:36:10.000000000 -0400
@@ -16,7 +16,8 @@
// Changes: when a finger moves while two fingers are down
// Ends: when both fingers have lifted
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) @interface UIRotationGestureRecognizer : UIGestureRecognizer
+UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+@interface UIRotationGestureRecognizer : UIGestureRecognizer
@property (nonatomic) CGFloat rotation; // rotation in radians
@property (nonatomic,readonly) CGFloat velocity; // velocity of the pinch in radians/second
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2021-03-16 13:59:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScene.h 2021-06-02 12:44:44.000000000 -0400
@@ -16,7 +16,8 @@
@class UISceneSession, UISceneConnectionOptions, UIOpenURLContext, UISceneOpenExternalURLOptions, UISceneActivationConditions;
@protocol UISceneDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UIScene : UIResponder
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIScene : UIResponder
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@@ -47,12 +48,17 @@
// If set to nil or an empty string, the system will not display a title.
@property (null_resettable, nonatomic, copy) NSString *title;
+// A subtitle that may be displayed adjacent to or below the primary title on supported platforms.
+// If set to an empty string, the system will not display a subtitle.
+@property (nonatomic, copy) NSString *subtitle API_AVAILABLE(ios(15.0));
+
// use the activation conditions to influence which scene is activated for banner taps, URLs, etc.
@property (nonatomic, strong) UISceneActivationConditions *activationConditions;
@end
-API_AVAILABLE(ios(13.0)) @protocol UISceneDelegate <NSObject>
+API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@protocol UISceneDelegate <NSObject>
@optional
#pragma mark Lifecycle State Transitioning
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions;
@@ -79,6 +85,13 @@
// has all info filled in before it is saved.
- (nullable NSUserActivity *)stateRestorationActivityForScene:(UIScene *)scene;
+// This will be called after scene connection, but before activation, and will provide the
+// activity that was last supplied to the stateRestorationActivityForScene callback, or
+// set on the UISceneSession.stateRestorationActivity property.
+// Note that, if it's required earlier, this activity is also already available in the
+// UISceneSession.stateRestorationActivity at scene connection time.
+- (void)scene:(UIScene *)scene restoreInteractionStateWithUserActivity:(NSUserActivity *)stateRestorationActivity;
+
#pragma mark - User Activity Integration
- (void)scene:(UIScene *)scene willContinueUserActivityWithType:(NSString *)userActivityType;
- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneActivationConditions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneActivationConditions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneActivationConditions.h 2021-03-16 13:57:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneActivationConditions.h 2021-06-02 05:36:01.000000000 -0400
@@ -11,7 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneActivationConditions : NSObject <NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneActivationConditions : NSObject <NSSecureCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDefinitions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDefinitions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDefinitions.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneDefinitions.h 2021-06-02 05:36:05.000000000 -0400
@@ -20,7 +20,7 @@
typedef NSString * UISceneSessionRole NS_TYPED_ENUM API_AVAILABLE(ios(13.0));
#pragma mark - NSErrorDomain
-UIKIT_EXTERN NSErrorDomain const UISceneErrorDomain API_AVAILABLE(ios(13.0));
+UIKIT_EXTERN NSErrorDomain const UISceneErrorDomain API_AVAILABLE(ios(15.0));
typedef NS_ERROR_ENUM(UISceneErrorDomain, UISceneErrorCode) {
UISceneErrorCodeMultipleScenesNotSupported,
UISceneErrorCodeRequestDenied
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneEnhancedStateRestoration.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneEnhancedStateRestoration.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneEnhancedStateRestoration.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneEnhancedStateRestoration.h 2021-06-02 05:36:04.000000000 -0400
@@ -0,0 +1,25 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UISceneEnhancedStateRestoration.h>)
+//
+// UISceneEnhancedStateRestoration.h
+// UIKit
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIScene.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(15.0)) @interface UIScene (UISceneEnhancedStateRestoration)
+
+- (void)extendStateRestoration;
+- (void)completeStateRestoration;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+
+#else
+#import <UIKitCore/UISceneEnhancedStateRestoration.h>
+#endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h 2021-03-16 08:48:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneOptions.h 2021-06-02 05:35:52.000000000 -0400
@@ -15,7 +15,8 @@
#pragma mark - UISceneConnectionOptions
// This object is vended to your application by UIKit when a UIScene connects to a session
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneConnectionOptions : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneConnectionOptions : NSObject
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@@ -48,7 +49,8 @@
#pragma mark - UISceneOpenURLOptions
// This object is vended to your application's UISceneDelegate when it is asked to open a URL
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneOpenURLOptions : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneOpenURLOptions : NSObject
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@@ -68,7 +70,8 @@
#pragma mark - UISceneOpenExternalURLOptions
// This object is created by your application and passed into a UIScene's openURL method.
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneOpenExternalURLOptions : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneOpenExternalURLOptions : NSObject
// URLs must be universal links and have an app configured to open them.
@property (nonatomic, readwrite) BOOL universalLinksOnly;
// An event attribution associated with the external URL to open.
@@ -85,7 +88,8 @@
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);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneActivationRequestOptions : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneActivationRequestOptions : NSObject
// Informs the system the interface instance the user interacted with to create the new interface for the purposes of system navigation.
@property (nullable, nonatomic, readwrite, strong) UIScene *requestingScene;
@@ -95,7 +99,8 @@
#pragma mark - UISceneDestructionRequestOptions
// This object is created by your application and passed with a UISceneSession destruction request
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneDestructionRequestOptions : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneDestructionRequestOptions : NSObject
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISceneSession.h 2021-06-02 05:36:09.000000000 -0400
@@ -14,7 +14,8 @@
@class UIScene, UIStoryboard;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneConfiguration : NSObject <NSCopying, NSSecureCoding>
+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,
@@ -32,7 +33,8 @@
@property (nonatomic, nullable, strong) UIStoryboard *storyboard;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) @interface UISceneSession : NSObject <NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UISceneSession : NSObject <NSSecureCoding>
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h 2021-03-16 13:57:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h 2021-06-02 05:38:33.000000000 -0400
@@ -32,10 +32,11 @@
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 NS_ENUM_DEPRECATED_IOS(5_0, 9_0, "Use UIScreenOverscanCompensationNone") = 2,
+ UIScreenOverscanCompensationInsetApplicationFrame API_DEPRECATED_WITH_REPLACEMENT("UIScreenOverscanCompensationNone", ios(5.0, 9.0)) = 2,
};
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIScreen : NSObject <UITraitEnvironment>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIScreen : NSObject <UITraitEnvironment>
@property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_AVAILABLE(ios(3.2)); // all screens currently attached to the device
@property(class, nonatomic, readonly) UIScreen *mainScreen; // the device's internal screen
@@ -76,9 +77,9 @@
// Will be `0` if display latency has not been calibrated by the user.
@property(nonatomic, readonly) CFTimeInterval calibratedLatency API_AVAILABLE(ios(13.0));
-@property (nullable, nonatomic, weak, readonly) id<UIFocusItem> focusedItem API_AVAILABLE(ios(10.0)); // Returns the focused item for this screen's focus system. Use UIFocusSystem's focusedItem property instead – this property will be deprecated in a future release.
-@property (nullable, nonatomic, weak, readonly) UIView *focusedView API_AVAILABLE(ios(9.0)); // If focusedItem is not a view, this returns that item's containing view. Otherwise they are equal. Use UIFocusSystem's focusedItem property instead – this property will be deprecated in a future release.
-@property (readonly, nonatomic) BOOL supportsFocus API_AVAILABLE(ios(9.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(nonatomic,readonly) CGRect applicationFrame API_DEPRECATED_WITH_REPLACEMENT("bounds", ios(2.0, 9.0)) API_UNAVAILABLE(tvos);
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h 2021-03-16 13:57:09.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenEdgePanGestureRecognizer.h 2021-06-02 05:36:09.000000000 -0400
@@ -12,7 +12,8 @@
/*! 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) @interface UIScreenEdgePanGestureRecognizer : UIPanGestureRecognizer
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(tvos) 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_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h 2021-03-16 13:56:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreenshotService.h 2021-06-02 05:35:51.000000000 -0400
@@ -15,7 +15,8 @@
/*!
@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)) @interface UIScreenshotService : NSObject
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+@interface UIScreenshotService : NSObject
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -42,6 +43,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIScreenshotServiceDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h 2021-03-16 08:48:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScribbleInteraction.h 2021-06-02 12:44:52.000000000 -0400
@@ -18,7 +18,8 @@
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) @interface UIScribbleInteraction : NSObject <UIInteraction>
+UIKIT_EXTERN API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UIScribbleInteraction : NSObject <UIInteraction>
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -41,7 +42,8 @@
@end
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) @protocol UIScribbleInteractionDelegate <NSObject>
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@protocol UIScribbleInteractionDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2021-03-16 13:59:19.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h 2021-06-02 05:38:40.000000000 -0400
@@ -47,7 +47,8 @@
@class UIEvent, UIImageView, UIPanGestureRecognizer, UIPinchGestureRecognizer;
@protocol UIScrollViewDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
@property(nonatomic) CGPoint contentOffset; // default CGPointZero
@property(nonatomic) CGSize contentSize; // default CGSizeZero
@@ -170,6 +171,7 @@
@end
+NS_SWIFT_UI_ACTOR
@protocol UIScrollViewDelegate<NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2021-03-16 08:45:17.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchBar.h 2021-06-02 12:44:47.000000000 -0400
@@ -38,7 +38,8 @@
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:
*/
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) @interface UISearchBar : UIView <UIBarPositioning, UITextInputTraits>
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+@interface UISearchBar : UIView <UIBarPositioning, UITextInputTraits>
- (instancetype)init API_UNAVAILABLE(tvos);
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER API_UNAVAILABLE(tvos);
@@ -159,6 +160,7 @@
- (UIOffset)positionAdjustmentForSearchBarIcon:(UISearchBarIcon)icon API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
@end
+NS_SWIFT_UI_ACTOR
@protocol UISearchBarDelegate <UIBarPositioningDelegate>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchContainerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchContainerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchContainerViewController.h 2021-03-16 13:57:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchContainerViewController.h 2021-06-02 05:36:01.000000000 -0400
@@ -13,7 +13,8 @@
@class UISearchController;
// Use this container view controller for UISearchController containment or presentation on tvOS
-UIKIT_CLASS_AVAILABLE_IOS_TVOS(9_1, 9_0) @interface UISearchContainerViewController : UIViewController
+UIKIT_CLASS_AVAILABLE_IOS_TVOS(9_1, 9_0) NS_SWIFT_UI_ACTOR
+@interface UISearchContainerViewController : UIViewController
@property (nonatomic, strong, readonly) UISearchController *searchController;
- (instancetype)initWithSearchController:(UISearchController *)searchController;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2021-03-16 09:56:12.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchController.h 2021-06-02 05:35:52.000000000 -0400
@@ -15,6 +15,7 @@
@class UISearchController;
+NS_SWIFT_UI_ACTOR
@protocol UISearchControllerDelegate <NSObject>
@optional
// These methods are called when automatic presentation or dismissal occurs. They will not be called if you present or dismiss the search controller yourself.
@@ -29,6 +30,7 @@
@protocol UISearchSuggestion;
+NS_SWIFT_UI_ACTOR
@protocol UISearchResultsUpdating <NSObject>
@required
// Called when the search bar's text or scope has changed or when the search bar becomes first responder.
@@ -38,7 +40,8 @@
- (void)updateSearchResultsForSearchController:(nonnull UISearchController *)searchController selectingSearchSuggestion:(nonnull id<UISearchSuggestion>)searchSuggestion API_AVAILABLE(tvos(14.0)) API_UNAVAILABLE(ios, watchos);
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) @interface UISearchController : UIViewController <UIViewControllerTransitioningDelegate, UIViewControllerAnimatedTransitioning>
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+@interface UISearchController : UIViewController <UIViewControllerTransitioningDelegate, UIViewControllerAnimatedTransitioning>
// Pass nil if you wish to display search results in the same view that you are searching. This is not supported on tvOS; please provide a results controller on tvOS.
- (instancetype)initWithSearchResultsController:(nullable UIViewController *)searchResultsController NS_DESIGNATED_INITIALIZER;
@@ -56,7 +59,11 @@
@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 obscuresBackgroundDuringPresentation API_AVAILABLE(ios(9.1)); // default is YES. On tvOS, defaults to NO when contained in UISearchContainerViewController.
+
+/* 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.
+ */
+@property (nonatomic, assign) BOOL obscuresBackgroundDuringPresentation API_AVAILABLE(ios(9.1));
@property (nonatomic, assign) BOOL hidesNavigationBarDuringPresentation; // default is YES
@property (nullable, nonatomic, strong, readonly) UIViewController *searchResultsController;
@@ -93,8 +100,14 @@
// List of search hint objects to be displayed under keyboard on tvOS. Assigning with new array immediately updates the list on screen. This becomes nil once user selects one of the hints.
@property (nonatomic, copy, nullable) NSArray<id<UISearchSuggestion>> *searchSuggestions API_AVAILABLE(tvos(14.0)) API_UNAVAILABLE(ios, watchos);
-// A scroll view this search controller tracks to scroll its view elements with. 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_AVAILABLE(tvos(14.0)) API_UNAVAILABLE(ios, watchos);
+/* Deprecated on tvOS 15.0 in favor of using -[UIViewController setContentScrollView:forEdge:]
+ on the searchResultsController, passing the full-screen scroll view contained in the results view
+ and NSDirectionalRectEdgeTop.
+
+ 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.
@end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h 2021-03-16 09:56:27.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchDisplayController.h 2021-06-02 11:09:01.000000000 -0400
@@ -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)
+UIKIT_EXTERN API_DEPRECATED("UISearchDisplayController has been replaced with UISearchController", ios(3.0, 8.0)) 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)
+API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@protocol UISearchDisplayDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchSuggestion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchSuggestion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchSuggestion.h 2021-03-16 13:57:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchSuggestion.h 2021-06-02 05:36:06.000000000 -0400
@@ -13,7 +13,7 @@
@class UIImage;
-UIKIT_CLASS_AVAILABLE_TVOS_ONLY(14.0)
+UIKIT_CLASS_AVAILABLE_TVOS_ONLY(14.0) NS_SWIFT_UI_ACTOR
@protocol UISearchSuggestion <NSObject>
/// The localized suggestion that will be displayed as the search string
@@ -29,7 +29,7 @@
@end
/// A concrete container for search suggestion string and optional image and associated information for providing shortcuts in search experience on tvOS.
-UIKIT_CLASS_AVAILABLE_TVOS_ONLY(14.0)
+UIKIT_CLASS_AVAILABLE_TVOS_ONLY(14.0) NS_SWIFT_UI_ACTOR
@interface UISearchSuggestionItem : NSObject <UISearchSuggestion>
/// Returns a new search suggestion object with a specified suggestion string.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTextField.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTextField.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTextField.h 2021-03-16 13:57:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISearchTextField.h 2021-06-02 11:08:58.000000000 -0400
@@ -25,7 +25,7 @@
/// Because the system drives selection and keyboard behaviors through the UITextInput protocol, and UISearchTextField supports selecting tokens, UISearchTextField assigns UITextPositions to tokens as well as text. If the current selection includes any tokens, their positions are part of the range returned by `UISearchTextField.selectedTextRange`. Use the `textualRange` property to obtain the range of the text field that excludes any tokens.
///
/// Tokens can be programmatically selected by including their position in a range assigned to the `selectedTextRange` property. UISearchTextField does not support placing an insertion point before a token; attempting to do so will select the token instead.
-UIKIT_CLASS_AVAILABLE_IOS_ONLY(13.0)
+UIKIT_CLASS_AVAILABLE_IOS_ONLY(13.0) NS_SWIFT_UI_ACTOR
@interface UISearchTextField : UITextField
#pragma mark Search tokens
@@ -72,7 +72,7 @@
@end
/// An individual token in a UISearchTextField.
-UIKIT_CLASS_AVAILABLE_IOS_ONLY(13.0)
+UIKIT_CLASS_AVAILABLE_IOS_ONLY(13.0) NS_SWIFT_UI_ACTOR
@interface UISearchToken : NSObject
- (instancetype)init NS_UNAVAILABLE;
@@ -89,6 +89,7 @@
@property (strong, nullable, nonatomic) id representedObject;
@end
+NS_SWIFT_UI_ACTOR
@protocol UISearchTextFieldDelegate <UITextFieldDelegate>
@optional
@@ -104,6 +105,7 @@
/// A protocol that refines UITextPasteItem to support pasting of tokens.
///
/// Paste items vended by UISearchTextField conform to this protocol.
+NS_SWIFT_UI_ACTOR
@protocol UISearchTextFieldPasteItem <UITextPasteItem>
/// Transforms this paste item into a token at the end of the search text field’s token array.
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h 2021-03-16 08:48:17.000000000 -0400
- 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
- xcode16.1 Binding Status
- xcode16.2 Binding Status