Skip to content

UIKit tvOS xcode14.0 beta3

Manuel de la Pena edited this page Aug 18, 2022 · 5 revisions

#UIKit.framework https://github.com/xamarin/xamarin-macios/pull/15694

diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h	2022-06-17 14:29:52.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h	2022-06-30 21:08:40.000000000 -0500
@@ -79,7 +79,7 @@
 - (void)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.
+// 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
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h	2022-06-17 13:49:26.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h	2022-06-30 18:28:18.000000000 -0500
@@ -17,10 +17,10 @@
     UIAttachmentBehaviorTypeAnchor
 } API_AVAILABLE(ios(7.0));
 
-typedef struct {
+typedef struct NS_SWIFT_SENDABLE {
     CGFloat minimum;
     CGFloat maximum;
-} UIFloatRange NS_SWIFT_SENDABLE;
+} UIFloatRange;
 
 UIKIT_EXTERN const UIFloatRange UIFloatRangeZero API_AVAILABLE(ios(9.0));
 UIKIT_EXTERN const UIFloatRange UIFloatRangeInfinite API_AVAILABLE(ios(9.0));
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h	2022-06-17 13:49:29.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h	2022-06-30 08:29:38.000000000 -0500
@@ -34,6 +34,14 @@
 /// Returns the current configuration of the view. Setting this property applies the new configuration to the view.
 @property (nonatomic, copy) id<UIContentConfiguration> configuration;
 
+@optional
+
+/// Whether this view is compatible with the provided configuration, meaning the view supports
+/// it being set to the `configuration` property and is capable of updating itself for the
+/// configuration. If not implemented, the view is assumed to be compatible with configuration
+/// classes that match the class of the view's existing configuration.
+- (BOOL)supportsConfiguration:(id<UIContentConfiguration>)configuration API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+
 @end
 
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h	2022-06-17 13:49:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h	2022-06-30 08:29:45.000000000 -0500
@@ -58,7 +58,8 @@
 
 /// Presents an edit menu with the specified @c configuration object.
 /// If a menu is already presented, it will be dismissed automatically before the new menu is presented.
-/// @NOTE: @c presentEditMenuWithConfiguration: is not supported on Mac idiom apps.
+///
+/// @NOTE: @c presentEditMenuWithConfiguration: is not supported on Mac Catalyst.
 - (void)presentEditMenuWithConfiguration:(UIEditMenuConfiguration *)configuration;
 
 /// Dismiss the currently active menu if one is currently presented.
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2022-06-17 13:30:25.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2022-06-30 21:10:56.000000000 -0500
@@ -19,9 +19,9 @@
 #ifdef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 typedef NSEdgeInsets UIEdgeInsets;
 #else
-typedef struct __attribute__((objc_boxable)) UIEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIEdgeInsets {
     CGFloat top, left, bottom, right;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
-} UIEdgeInsets NS_SWIFT_SENDABLE;
+} UIEdgeInsets;
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 
 /* Geometry type declarations marked with `#ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY` are being relocated to Foundation/NSGeometry.h */
@@ -31,16 +31,16 @@
 
 /* Specifically for use in methods and functions supporting user interface layout direction
  */
-typedef struct __attribute__((objc_boxable)) NSDirectionalEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE NSDirectionalEdgeInsets {
     CGFloat top, leading, bottom, trailing;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
-} NSDirectionalEdgeInsets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0)) NS_SWIFT_SENDABLE;
+} NSDirectionalEdgeInsets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
 
 #endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 
-typedef struct __attribute__((objc_boxable)) UIOffset {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIOffset {
     CGFloat horizontal, vertical; // specify amount to offset a position, positive for right or down, negative for left or up
-} UIOffset NS_SWIFT_SENDABLE;
+} UIOffset;
 
 typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
     UIRectEdgeNone   = 0,
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-06-15 22:36:44.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-06-28 22:19:15.000000000 -0500
@@ -999,10 +999,20 @@
   SwiftName: UIWindowScene.ActivationInteraction
 - Name: UIWindowSceneGeometry
   SwiftName: UIWindowScene.Geometry
+- Name: UIWindowSceneGeometryPreferencesIOS
+  SwiftName: UIWindowSceneGeometryPreferences.iOS
+  Methods:
+    - Selector: 'preferencesWithInterfaceOrientations:'
+      MethodKind: Class
+      SwiftPrivate: true
+- Name: UIWindowSceneGeometryPreferencesMac
+  SwiftName: UIWindowSceneGeometryPreferences.Mac
+  Methods:
+    - Selector: 'preferencesSystemFrame:'
+      MethodKind: Class
+      SwiftPrivate: true
 - Name: UIWindowSceneGeometryPreferences
   SwiftName: UIWindowScene.GeometryPreferences
-- Name: UIWindowSceneMacGeometryPreferences
-  SwiftName: UIWindowScene.MacGeometryPreferences
 - Name: UISheetPresentationControllerDetent
   SwiftName: UISheetPresentationController.Detent
   Methods:
@@ -1052,6 +1062,10 @@
   - Name: 'configuration'
     PropertyKind: Instance
     SwiftPrivate: true
+  Methods:
+  - Selector: "supportsConfiguration:"
+    MethodKind: Instance
+    SwiftPrivate: true
 - Name: UIAppearance
   Methods:
   - Selector: 'appearanceWhenContainedInInstancesOfClasses:'
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h	2022-06-15 01:40:11.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h	2022-06-25 01:31:52.000000000 -0500
@@ -283,7 +283,8 @@
 #import <UIKit/UISceneActivationConditions.h>
 #import <UIKit/UIWindowSceneGeometry.h>
 #import <UIKit/UIWindowSceneGeometryPreferences.h>
-#import <UIKit/UIWindowSceneMacGeometryPreferences.h>
+#import <UIKit/UIWindowSceneGeometryPreferencesMac.h>
+#import <UIKit/UIWindowSceneGeometryPreferencesIOS.h>
 #import <UIKit/UIOpenURLContext.h>
 #import <UIKit/UIStatusBarManager.h>
 #import <UIKit/UIScreenshotService.h>
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h	2022-06-17 13:49:33.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h	2022-06-30 08:29:42.000000000 -0500
@@ -40,7 +40,7 @@
 /// Source item for subsequent presentations. For example, an element displayed in a menu attached to a
 /// @c UIButton may return the button so that a popover may be presented from it when the element is tapped.
 /// If available, this property is only populated during the execution of the element's action (i.e. its handler or selector).
-@property (nonatomic, readonly, nullable) id<UIPopoverPresentationControllerSourceItem> presentationSourceItem;
+@property (nonatomic, readonly, nullable) id<UIPopoverPresentationControllerSourceItem> presentationSourceItem API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos);
 
 /// Performs the element’s primary action (i.e. it's handler or selector).
 - (void)performWithSender:(nullable id)sender target:(nullable id)target;
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h	2022-06-17 13:49:29.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h	2022-06-30 08:29:38.000000000 -0500
@@ -14,13 +14,13 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-typedef struct {
+typedef struct NS_SWIFT_SENDABLE {
     /// 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_SWIFT_SENDABLE NS_REFINED_FOR_SWIFT;
+} 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 };
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h	2022-06-17 14:27:25.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h	2022-06-30 08:32:00.000000000 -0500
@@ -184,13 +184,19 @@
 // animatable. do not use frame if view is transformed since it will not correctly reflect the actual location of the view. use bounds + center instead.
 @property(nonatomic) CGRect            frame;
 
-// use bounds/center and not frame if non-identity transform. if bounds dimension is odd, center may be have fractional part
+// use bounds/center and not frame if non-identity transform.
 @property(nonatomic) CGRect            bounds;      // default bounds is zero origin, frame size. animatable
-@property(nonatomic) CGPoint           center;      // center is center of frame. animatable
+@property(nonatomic) CGPoint           center;      // center is center of frame, relative to anchorPoint. animatable
 @property(nonatomic) CGAffineTransform transform;   // default is CGAffineTransformIdentity. animatable. Please use this property instead of the affineTransform property on the layer
 @property(nonatomic) CATransform3D     transform3D API_AVAILABLE(ios(13.0),tvos(13.0)); // default is CATransform3DIdentity. animatable. Please use this property instead of the transform property on the layer
 @property(nonatomic) CGFloat           contentScaleFactor API_AVAILABLE(ios(4.0));
 
+/* Defines the anchor point of the layer's bounds rect, as a point in
+ * normalized layer coordinates - '(0, 0)' is the bottom left corner of
+ * the bounds rect, '(1, 1)' is the top right corner. Defaults to
+ * '(0.5, 0.5)', i.e. the center of the bounds rect. */
+@property(nonatomic) CGPoint anchorPoint API_AVAILABLE(ios(16.0));
+
 @property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled API_UNAVAILABLE(tvos);   // default is NO
 @property(nonatomic,getter=isExclusiveTouch) BOOL       exclusiveTouch API_UNAVAILABLE(tvos);         // default is NO
 
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2022-06-17 13:49:42.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2022-06-30 08:32:12.000000000 -0500
@@ -316,19 +316,21 @@
 // To make it more convenient for applications to adopt rotation, a view controller may implement the below methods. Your UIWindow's frame should use [UIScreen mainScreen].bounds as its frame.
 @interface UIViewController (UIViewControllerRotation)
 
-// call this method when your return value from shouldAutorotateToInterfaceOrientation: changes
-// if the current interface orientation does not match the current device orientation, a rotation may occur provided all relevant view controllers now return YES from shouldAutorotateToInterfaceOrientation:
-+ (void)attemptRotationToDeviceOrientation API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos);
++ (void)attemptRotationToDeviceOrientation API_DEPRECATED("Please use instance method `setNeedsUpdateOfSupportedInterfaceOrientations`.", ios(5.0, 16.0)) API_UNAVAILABLE(tvos);
 
 // Applications should use supportedInterfaceOrientations and/or shouldAutorotate.
 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation API_DEPRECATED("", ios(2.0, 6.0)) API_UNAVAILABLE(tvos);
 
 // New Autorotation support.
-@property(nonatomic, readonly) BOOL shouldAutorotate API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic, readonly) BOOL shouldAutorotate API_DEPRECATED("Update supported interface orientations and call setNeedsUpdateOfSupportedInterfaceOrientations to indicate a change.", ios(6.0, 16.0)) API_UNAVAILABLE(tvos);
 @property(nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
 // Returns interface orientation masks.
 @property(nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
 
+/// Notifies the view controller that a change occurred that affects supported interface orientations or the preferred interface orientation for presentation.
+/// By default, this will animate any changes to orientation. To perform a non-animated update, call within `[UIView performWithoutAnimation:]`.
+- (void)setNeedsUpdateOfSupportedInterfaceOrientations API_AVAILABLE(ios(16.0));
+
 // The rotating header and footer views will slide out during the rotation and back in once it has completed.
 - (nullable UIView *)rotatingHeaderView API_DEPRECATED("Header views are animated along with the rest of the view hierarchy", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);     // Must be in the view hierarchy. Default returns nil.
 - (nullable UIView *)rotatingFooterView API_DEPRECATED("Footer views are animated along with the rest of the view hierarchy", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);     // Must be in the view hierarchy. Default returns nil.
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h	2022-06-17 13:49:35.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometry.h	2022-06-30 08:29:44.000000000 -0500
@@ -8,6 +8,7 @@
 #import <Foundation/Foundation.h>
 #import <CoreGraphics/CGGeometry.h>
 #import <UIKit/UIKitDefines.h>
+#import <UIKit/UIApplication.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
@@ -19,6 +20,7 @@
 + (instancetype)new NS_UNAVAILABLE;
 
 @property (nonatomic, readonly) CGRect systemFrame API_AVAILABLE(macCatalyst(16.0)) API_UNAVAILABLE(ios, watchos, tvos);
+@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation API_UNAVAILABLE(tvos);
 
 @end
 
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h	1969-12-31 18:00:00.000000000 -0600
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h	2022-06-30 08:29:34.000000000 -0500
@@ -0,0 +1,31 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIWindowSceneGeometryPreferencesIOS.h>)
+//
+//  UIWindowSceneGeometryPreferencesIOS.h
+//  UIKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UIWindowSceneGeometryPreferences.h>
+#import <UIKit/UIApplication.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Use this class to express iOS-specific geometry preferences when calling `-[UIWindowScene requestGeometryUpdateWithPreferences:errorHandler:]`
+UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos)
+@interface UIWindowSceneGeometryPreferencesIOS : UIWindowSceneGeometryPreferences
+
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithInterfaceOrientations:(UIInterfaceOrientationMask)interfaceOrientations;
+
+/// The preferred interface orientations. The system will choose the best orientation from the intersection of these
+/// orientations and the current supported orientations. Defaults to an empty mask to indicate no preference.
+@property (nonatomic, assign) UIInterfaceOrientationMask interfaceOrientations NS_REFINED_FOR_SWIFT;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIWindowSceneGeometryPreferencesIOS.h>
+#endif
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesMac.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesMac.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesMac.h	1969-12-31 18:00:00.000000000 -0600
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesMac.h	2022-06-30 08:29:44.000000000 -0500
@@ -0,0 +1,31 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIWindowSceneGeometryPreferencesMac.h>)
+//
+//  UIWindowSceneGeometryPreferencesMac.h
+//  UIKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/UIWindowSceneGeometryPreferences.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Use this class to express macOS-specific geometry preferences when calling `-[UIWindowScene requestGeometryUpdateWithPreferences:errorHandler:]`
+UIKIT_EXTERN API_AVAILABLE(macCatalyst(16.0))
+@interface UIWindowSceneGeometryPreferencesMac : UIWindowSceneGeometryPreferences
+
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithSystemFrame:(CGRect)systemFrame;
+
+/// The preferred system frame in the system scale where an origin of (0, 0) corresponds to the top-left
+/// corner of the main display. Defaults to CGRectNull to indicate no preference.
+@property (nonatomic, assign) CGRect systemFrame NS_REFINED_FOR_SWIFT; 
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#else
+#import <UIKitCore/UIWindowSceneGeometryPreferencesMac.h>
+#endif
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneMacGeometryPreferences.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneMacGeometryPreferences.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneMacGeometryPreferences.h	2022-06-17 13:49:33.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneMacGeometryPreferences.h	1969-12-31 18:00:00.000000000 -0600
@@ -1,27 +0,0 @@
-#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UIWindowSceneMacGeometryPreferences.h>)
-//
-//  UIWindowSceneMacGeometryPreferences.h
-//  UIKit
-//
-//  Copyright © 2022 Apple Inc. All rights reserved.
-//
-
-#import <CoreGraphics/CGGeometry.h>
-#import <UIKit/UIWindowSceneGeometryPreferences.h>
-
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-
-UIKIT_EXTERN API_AVAILABLE(macCatalyst(16.0))
-@interface UIWindowSceneMacGeometryPreferences : UIWindowSceneGeometryPreferences
-
-- (instancetype)initWithSystemFrame:(CGRect)systemFrame NS_DESIGNATED_INITIALIZER;
-
-@property (nonatomic, assign) CGRect systemFrame;
-
-@end
-
-NS_HEADER_AUDIT_END(nullability, sendability)
-
-#else
-#import <UIKitCore/UIWindowSceneMacGeometryPreferences.h>
-#endif
Clone this wiki locally