Skip to content

UIKit iOS xcode16.0 b4

Alex Soto edited this page Aug 7, 2024 · 3 revisions

#UIKit.framework

diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h	2024-06-30 15:14:36
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h	2024-07-12 05:37:31
@@ -31,11 +31,7 @@
 UIKIT_EXTERN const UIAccessibilityTraits UIAccessibilityTraitNone API_AVAILABLE(watchos(2.0)) NS_SWIFT_NONISOLATED;
 
 // Used when the element should be treated as a button.
-#if __swift__
 UIKIT_EXTERN const UIAccessibilityTraits UIAccessibilityTraitButton API_AVAILABLE(watchos(2.0)) NS_SWIFT_NONISOLATED;
-#else
-UIKIT_EXTERN /*const*/ UIAccessibilityTraits UIAccessibilityTraitButton API_AVAILABLE(watchos(2.0)) NS_SWIFT_NONISOLATED;
-#endif
 
 // Used when the element should be treated as a link.
 UIKIT_EXTERN const UIAccessibilityTraits UIAccessibilityTraitLink API_AVAILABLE(watchos(2.0)) NS_SWIFT_NONISOLATED;
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h	2024-07-03 01:04:58
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFoundation.h	2024-07-16 00:31:07
@@ -6,15 +6,18 @@
 //
 
 #import <UIKit/NSTextRange.h>
+#import <UIKit/NSTextList.h>
+#import <UIKit/NSTextAttachment.h>
+#import <UIKit/NSAdaptiveImageGlyph.h>
+
+#if !TARGET_OS_WATCH || (__has_include(<UIKit/NSTextElement.h>))
+#import <UIKit/NSTextElement.h>
 #import <UIKit/NSTextSelection.h>
 #import <UIKit/NSTextSelectionNavigation.h>
 #import <UIKit/NSTextViewportLayoutController.h>
 #import <UIKit/NSTextContentManager.h>
-#import <UIKit/NSTextElement.h>
 #import <UIKit/NSTextLayoutFragment.h>
 #import <UIKit/NSTextLayoutManager.h>
 #import <UIKit/NSTextLineFragment.h>
-#import <UIKit/NSTextList.h>
 #import <UIKit/NSTextListElement.h>
-#import <UIKit/NSTextAttachment.h>
-#import <UIKit/NSAdaptiveImageGlyph.h>
+#endif 
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2024-06-30 15:24:42
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2024-07-13 14:23:29
@@ -64,7 +64,7 @@
     UIAxisHorizontal = 1 << 0,
     UIAxisVertical   = 1 << 1,
     UIAxisBoth       = (UIAxisHorizontal | UIAxisVertical),
-} API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos);
+} API_AVAILABLE(ios(13.4), tvos(13.4), watchos(6.2));
 
 #ifdef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 
@@ -198,12 +198,12 @@
 
 @interface NSValue (NSValueUIGeometryExtensions)
 
-+ (NSValue *)valueWithCGPoint:(CGPoint)point API_UNAVAILABLE(watchos);
-+ (NSValue *)valueWithCGVector:(CGVector)vector API_UNAVAILABLE(watchos);
-+ (NSValue *)valueWithCGSize:(CGSize)size API_UNAVAILABLE(watchos);
-+ (NSValue *)valueWithCGRect:(CGRect)rect API_UNAVAILABLE(watchos);
-+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform API_UNAVAILABLE(watchos);
-+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets API_UNAVAILABLE(watchos);
++ (NSValue *)valueWithCGPoint:(CGPoint)point API_AVAILABLE(watchos(2.0));
++ (NSValue *)valueWithCGVector:(CGVector)vector API_AVAILABLE(watchos(2.0));
++ (NSValue *)valueWithCGSize:(CGSize)size API_AVAILABLE(watchos(2.0));
++ (NSValue *)valueWithCGRect:(CGRect)rect API_AVAILABLE(watchos(2.0));
++ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform API_AVAILABLE(watchos(2.0));
++ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets API_AVAILABLE(watchos(2.0));
 #ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 #if UIKIT_HAS_UIFOUNDATION_SYMBOLS
 + (NSValue *)valueWithDirectionalEdgeInsets:(NSDirectionalEdgeInsets)insets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
@@ -211,12 +211,12 @@
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 + (NSValue *)valueWithUIOffset:(UIOffset)insets API_AVAILABLE(ios(5.0), watchos(2.0));
 
-@property(nonatomic, readonly) CGPoint CGPointValue API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) CGVector CGVectorValue API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) CGSize CGSizeValue API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) CGRect CGRectValue API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) CGAffineTransform CGAffineTransformValue API_UNAVAILABLE(watchos);
-@property(nonatomic, readonly) UIEdgeInsets UIEdgeInsetsValue API_UNAVAILABLE(watchos);
+@property(nonatomic, readonly) CGPoint CGPointValue API_AVAILABLE(watchos(2.0));
+@property(nonatomic, readonly) CGVector CGVectorValue API_AVAILABLE(watchos(2.0));
+@property(nonatomic, readonly) CGSize CGSizeValue API_AVAILABLE(watchos(2.0));
+@property(nonatomic, readonly) CGRect CGRectValue API_AVAILABLE(watchos(2.0));
+@property(nonatomic, readonly) CGAffineTransform CGAffineTransformValue API_AVAILABLE(watchos(2.0));
+@property(nonatomic, readonly) UIEdgeInsets UIEdgeInsetsValue API_AVAILABLE(watchos(2.0));
 #ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 #if UIKIT_HAS_UIFOUNDATION_SYMBOLS
 @property(nonatomic, readonly) NSDirectionalEdgeInsets directionalEdgeInsetsValue API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
@@ -228,12 +228,12 @@
     
 @interface NSCoder (UIGeometryKeyedCoding)
 
-- (void)encodeCGPoint:(CGPoint)point forKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (void)encodeCGVector:(CGVector)vector forKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (void)encodeCGSize:(CGSize)size forKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (void)encodeCGRect:(CGRect)rect forKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (void)encodeCGAffineTransform:(CGAffineTransform)transform forKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (void)encodeUIEdgeInsets:(UIEdgeInsets)insets forKey:(NSString *)key API_UNAVAILABLE(watchos);
+- (void)encodeCGPoint:(CGPoint)point forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (void)encodeCGVector:(CGVector)vector forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (void)encodeCGSize:(CGSize)size forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (void)encodeCGRect:(CGRect)rect forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (void)encodeCGAffineTransform:(CGAffineTransform)transform forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (void)encodeUIEdgeInsets:(UIEdgeInsets)insets forKey:(NSString *)key API_AVAILABLE(watchos(2.0));
 #ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 #if UIKIT_HAS_UIFOUNDATION_SYMBOLS
 - (void)encodeDirectionalEdgeInsets:(NSDirectionalEdgeInsets)insets forKey:(NSString *)key API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
@@ -241,12 +241,12 @@
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 - (void)encodeUIOffset:(UIOffset)offset forKey:(NSString *)key API_AVAILABLE(ios(5.0), watchos(2.0));
 
-- (CGPoint)decodeCGPointForKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (CGVector)decodeCGVectorForKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (CGSize)decodeCGSizeForKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (CGRect)decodeCGRectForKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (CGAffineTransform)decodeCGAffineTransformForKey:(NSString *)key API_UNAVAILABLE(watchos);
-- (UIEdgeInsets)decodeUIEdgeInsetsForKey:(NSString *)key API_UNAVAILABLE(watchos);
+- (CGPoint)decodeCGPointForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (CGVector)decodeCGVectorForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (CGSize)decodeCGSizeForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (CGRect)decodeCGRectForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (CGAffineTransform)decodeCGAffineTransformForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
+- (UIEdgeInsets)decodeUIEdgeInsetsForKey:(NSString *)key API_AVAILABLE(watchos(2.0));
 #ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 #if UIKIT_HAS_UIFOUNDATION_SYMBOLS
 - (NSDirectionalEdgeInsets)decodeDirectionalEdgeInsetsForKey:(NSString *)key API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h	2024-07-02 01:02:24
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h	2024-07-16 01:18:08
@@ -288,20 +288,20 @@
 
 #if __has_include(<UIKit/UIScreen.h>)
 
-/// Synchronously prepares this image for displaying on the specified screen.
+/// Decodes an image synchronously and provides a new one for display in views and animations.
+/// 
+/// @return A new version of the image object for display. If the system can’t decode the image, this method returns `nil`.
 ///
-/// @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.
+/// @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)) API_UNAVAILABLE(watchos);
 
-/// Asynchronously prepares this image for displaying on the specified screen.
+/// Decodes an image asynchronously and provides a new one for display in views and animations.
 ///
 /// 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.
+/// @param completionHandler A block to invoke with the prepared image. If preparation failed (for example, because 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.
+/// @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)) API_UNAVAILABLE(watchos);
 
 - (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h	2024-07-03 01:04:58
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h	2024-07-16 00:31:07
@@ -10,6 +10,11 @@
 
 #if __has_include(<UIKit/UIFoundation.h>)
 #import <UIKit/UIFoundation.h>
+#elif __has_include(<UIKit/NSAdaptiveImageGlyph.h>)
+#import <UIKit/NSAdaptiveImageGlyph.h>
+#import <UIKit/NSTextRange.h>
+#import <UIKit/NSTextList.h>
+#import <UIKit/NSTextAttachment.h>
 #endif
 
 #if __has_include(<UIKit/DocumentManager.h>)
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h	2024-06-30 15:24:45
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarControllerSidebar.h	2024-07-16 00:59:57
@@ -97,6 +97,17 @@
 
 @end
 
+#pragma mark - UITabBarControllerSidebarAnimating
+
+API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)  NS_SWIFT_UI_ACTOR
+NS_SWIFT_NAME(UITabBarControllerSidebar.Animating)
+@protocol UITabBarControllerSidebarAnimating <NSObject>
+
+- (void)addAnimations:(void (^)(void))animations;
+- (void)addCompletion:(void (^)(void))completion NS_SWIFT_DISABLE_ASYNC;
+
+@end
+
 #pragma mark - UITabBarControllerSidebarDelegate
 
 @class UITabSidebarItem, UITabSidebarItemRequest;
@@ -107,8 +118,10 @@
 
 @optional
 
-/// Notifies the delegate when the visibility of the sidebar has been changed by the user.
-- (void)tabBarController:(UITabBarController *)tabBarController sidebarVisibilityDidChange:(UITabBarControllerSidebar *)sidebar;
+/// Notifies the delegate when the visibility of the sidebar is about to change when `sidebar.isHidden` changes.
+/// Add animations to the animator to run alongside the visibility update. Alongside animations and completions will run immediately
+/// if the sidebar visibility is changed without animation.
+- (void)tabBarController:(UITabBarController *)tabBarController sidebarVisibilityWillChange:(UITabBarControllerSidebar *)sidebar animator:(id<UITabBarControllerSidebarAnimating>)animator;
 
 #pragma mark Configuration
 
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h	2024-06-30 15:14:33
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h	2024-07-12 13:06:55
@@ -260,7 +260,12 @@
 @property (nonatomic, readonly, getter=isEditable) BOOL editable API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos);
 
 - (void)insertAttributedText:(NSAttributedString *)string API_AVAILABLE(ios(12.0), tvos(12.0), watchos(5.0), macos(10.14), visionos(1.0)) API_UNAVAILABLE(watchos);
+- (NSAttributedString *)attributedTextInRange:(UITextRange *)range API_AVAILABLE(ios(12.0), tvos(12.0), macos(10.14), visionos(1.0)) API_UNAVAILABLE(watchos);
 - (void)replaceRange:(UITextRange *)range withAttributedText:(NSAttributedString *)attributedText API_AVAILABLE(ios(13.0), tvos(13.0), macos(10.15), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+// These methods are called when the Writing Tools panel is presented and dismissed
+- (void)willPresentWritingTools API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
+- (void)didDismissWritingTools API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
 @end
 
 //---------------------------------------------------------------------------------------------------
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2024-06-30 14:20:51
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2024-07-12 04:49:07
@@ -208,6 +208,28 @@
     
     /// implies `RichText`,  and Writing Tools may provide attributes for tabular layout
     UIWritingToolsAllowedInputOptionsTable = 1 << 3,
+} API_DEPRECATED("Use UIWritingToolsResultOptions instead", ios(18.0, API_TO_BE_DEPRECATED), macos(15.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);;
+
+//
+// UIWritingToolsResultOptions
+//
+// Controls the configuration of the available Writing Tools UI
+//
+typedef NS_OPTIONS(NSUInteger, UIWritingToolsResultOptions) {
+    /// System-defined behavior
+    UIWritingToolsResultDefault = 0,
+    
+    /// Writing Tools will provide plain text in proofreading suggestions or rewrites
+    UIWritingToolsResultPlainText = 1 << 0,
+    
+    /// As well as plain text, Writing Tools will provide text attributes in proofreading suggestions or rewrites that are natively supported or known to be easily adopted (such as lists)
+    UIWritingToolsResultRichText = 1 << 1,
+    
+    /// implies `RichText`,  and Writing Tools may provide attributes for list layout
+    UIWritingToolsResultList = 1 << 2, 
+    
+    /// implies `RichText`,  and Writing Tools may provide attributes for tabular layout
+    UIWritingToolsResultTable = 1 << 3,
 } API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
 
 typedef NSString * UITextContentType NS_TYPED_ENUM API_UNAVAILABLE(watchos);
@@ -263,7 +285,8 @@
 @property(nullable,nonatomic,copy) UITextInputPasswordRules *passwordRules API_AVAILABLE(ios(12.0)) API_UNAVAILABLE(watchos); // default is nil
 
 @property UIWritingToolsBehavior writingToolsBehavior API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
-@property UIWritingToolsAllowedInputOptions writingToolsAllowedInputOptions API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+@property UIWritingToolsAllowedInputOptions writingToolsAllowedInputOptions API_DEPRECATED_WITH_REPLACEMENT("allowedWritingToolsResultOptions", ios(18.0, API_TO_BE_DEPRECATED), macos(15.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+@property UIWritingToolsResultOptions allowedWritingToolsResultOptions API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
 
 @end
 
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2024-07-03 01:26:22
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2024-07-13 14:23:37
@@ -268,7 +268,10 @@
 
 // Also see UITextInputTraits.h
 @property UIWritingToolsBehavior writingToolsBehavior API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(tvos, watchos, visionos);
-@property UIWritingToolsAllowedInputOptions writingToolsAllowedInputOptions API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+@property UIWritingToolsAllowedInputOptions writingToolsAllowedInputOptions API_DEPRECATED_WITH_REPLACEMENT("allowedWritingToolsResultOptions", ios(18.0, API_TO_BE_DEPRECATED), macos(15.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
+
+// WARNING: UITextView does not support UIWritingToolsResultOptionsTable and will throw an exception for this value
+@property UIWritingToolsResultOptions allowedWritingToolsResultOptions API_AVAILABLE(ios(18.0), macos(15.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos);
 
 /// For text views that have flag `allowsEditingTextAttributes` set,
 /// this configuration will be used for `UITextFormattingViewController`
diff -ruN /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h
--- /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2024-06-30 15:14:42
+++ /Applications/Xcode_16.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h	2024-07-16 01:18:21
@@ -271,7 +271,7 @@
 /// The provided transition may be ignored if not supported by the
 /// current context. For example, `UINavigationController` supports
 /// the .zoom transition, but not the .coverVertical transition.
-@property (nonatomic, strong) UIViewControllerTransition *preferredTransition API_AVAILABLE(ios(18.0));
+@property (nonatomic, strong, nullable) UIViewControllerTransition *preferredTransition API_AVAILABLE(ios(18.0));
 
 /*
  Defines the presentation style that will be used for this view controller when it is presented modally. Set this property on the view controller to be presented, not the presenter.

Clone this wiki locally