-
Notifications
You must be signed in to change notification settings - Fork 549
UIKit iOS xcode16.0 b1
Rolf Bjarne Kvinge edited this page Jun 18, 2024
·
4 revisions
#UIKit.framework
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h 1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAdaptiveImageGlyph.h 2024-05-31 07:31:47
@@ -0,0 +1,45 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSAdaptiveImageGlyph.h>)
+//
+// NSAdaptiveImageGlyph.h
+// Text Kit
+//
+// Copyright (c) 2024, Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSAttributedString.h>
+#import <CoreText/CTRunDelegate.h>
+#import <UIKit/UIKitDefines.h>
+
+@protocol CTAdaptiveImageProviding;
+@class UTType;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+// NSAdaptiveImageGlyph is a data model object representing an image containing multiple resolutions and representations conforming to the image format described by NSAdaptiveImageGlyph.contentType. It can be applied to a range of text with NSAttributedString.Key.adaptiveImageGlyph (NSAdaptiveImageGlyphAttributeName).
+
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_SWIFT_SENDABLE
+@interface NSAdaptiveImageGlyph : NSObject <NSCopying, NSSecureCoding, CTAdaptiveImageProviding>
+
+- (instancetype)initWithImageContent:(NSData*)imageContent NS_DESIGNATED_INITIALIZER; // Initialization: imageContent must conform to the image data format identified by contentType
+- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+@property (readonly) NSData *imageContent;
+
+// Unique identifier, derived from the underlying image data which can be used as a persistent / durable way to reference the content represented by this adaptive image glyph instance.
+@property (readonly) NSString *contentIdentifier;
+
+// Brief textual alternate representation of the represented contents, useful for non-graphical depiction of the image data or searching. Note that the value of this property is derived from the underlying image data.
+@property (readonly, copy) NSString *contentDescription;
+
+@property (class, readonly) UTType *contentType; // A UTType identifying the image data format
+@end
+
+@interface NSAttributedString (NSAttributedStringAdaptiveImageGlyphConveniences)
+// A convenience method for creating an attributed string containing an NSAdaptiveImageGlyph with attributes using NSAttachmentCharacter as the base character.
++ (instancetype)attributedStringWithAdaptiveImageGlyph:(NSAdaptiveImageGlyph *)adaptiveImageGlyph attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+@end
+NS_HEADER_AUDIT_END(nullability, sendability)
+#else
+#import <UIFoundation/NSAdaptiveImageGlyph.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2024-04-09 04:18:17
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h 2024-05-31 07:34:57
@@ -1,223 +1,265 @@
#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/NSAttributedString.h>)
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSAttributedString.h>)
+#import <UIKit/UIKitDefines.h>
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#import <UIKit/UIKitDefines.h>
+
//
// NSAttributedString.h
// UIKit
//
-// Copyright (c) 2011-2018, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
-#import <Foundation/NSItemProvider.h>
-#import <UIKit/UIKitDefines.h>
+
@class NSAttributedString;
@class NSFileWrapper;
@class NSURL;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
-
/************************ Attributes ************************/
// Predefined character attributes for text. If the key is not present in the dictionary, it indicates the default value described below.
-UIKIT_EXTERN NSAttributedStringKey const NSFontAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // UIFont, default Helvetica(Neue) 12
-UIKIT_EXTERN NSAttributedStringKey const NSParagraphStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSParagraphStyle, default defaultParagraphStyle
-UIKIT_EXTERN NSAttributedStringKey const NSForegroundColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // UIColor, default blackColor
-UIKIT_EXTERN NSAttributedStringKey const NSBackgroundColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // UIColor, default nil: no background
-UIKIT_EXTERN NSAttributedStringKey const NSLigatureAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSNumber containing integer, default 1: default ligatures, 0: no ligatures
-UIKIT_EXTERN NSAttributedStringKey const NSKernAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSNumber containing floating point value, in points; amount to modify default kerning. 0 means kerning is disabled.
-UIKIT_EXTERN NSAttributedStringKey const NSTrackingAttributeName API_AVAILABLE(macos(11.0), ios(14.0)); // NSNumber containing floating point value, in points; amount to modify default tracking. 0 means tracking is disabled.
-UIKIT_EXTERN NSAttributedStringKey const NSStrikethroughStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSNumber containing integer, default 0: no strikethrough
-UIKIT_EXTERN NSAttributedStringKey const NSUnderlineStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSNumber containing integer, default 0: no underline
-UIKIT_EXTERN NSAttributedStringKey const NSStrokeColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // UIColor, default nil: same as foreground color
-UIKIT_EXTERN NSAttributedStringKey const NSStrokeWidthAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSNumber containing floating point value, in percent of font point size, default 0: no stroke; positive for stroke alone, negative for stroke and fill (a typical value for outlined text would be 3.0)
-UIKIT_EXTERN NSAttributedStringKey const NSShadowAttributeName API_AVAILABLE(macos(10.0), ios(6.0)); // NSShadow, default nil: no shadow
-UIKIT_EXTERN NSAttributedStringKey const NSTextEffectAttributeName API_AVAILABLE(macos(10.10), ios(7.0)); // NSString, default nil: no text effect
+UIKIT_EXTERN NSAttributedStringKey const NSFontAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIFont, default Helvetica(Neue) 12
+UIKIT_EXTERN NSAttributedStringKey const NSParagraphStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSParagraphStyle, default defaultParagraphStyle
+UIKIT_EXTERN NSAttributedStringKey const NSForegroundColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIColor, default blackColor
+UIKIT_EXTERN NSAttributedStringKey const NSBackgroundColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIColor, default nil: no background
+UIKIT_EXTERN NSAttributedStringKey const NSLigatureAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing integer, default 1: default ligatures, 0: no ligatures
+UIKIT_EXTERN NSAttributedStringKey const NSKernAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing floating point value, in points; amount to modify default kerning. 0 means kerning is disabled.
+UIKIT_EXTERN NSAttributedStringKey const NSTrackingAttributeName API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0), visionos(1.0)); // NSNumber containing floating point value, in points; amount to modify default tracking. 0 means tracking is disabled.
+UIKIT_EXTERN NSAttributedStringKey const NSStrikethroughStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing integer, default 0: no strikethrough
+UIKIT_EXTERN NSAttributedStringKey const NSUnderlineStyleAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing integer, default 0: no underline
+UIKIT_EXTERN NSAttributedStringKey const NSStrokeColorAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIColor, default nil: same as foreground color
+UIKIT_EXTERN NSAttributedStringKey const NSStrokeWidthAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing floating point value, in percent of font point size, default 0: no stroke; positive for stroke alone, negative for stroke and fill (a typical value for outlined text would be 3.0)
+UIKIT_EXTERN NSAttributedStringKey const NSShadowAttributeName API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSShadow, default nil: no shadow
+UIKIT_EXTERN NSAttributedStringKey const NSTextEffectAttributeName API_AVAILABLE(macos(10.10), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSString, default nil: no text effect
-UIKIT_EXTERN NSAttributedStringKey const NSAttachmentAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSTextAttachment, default nil
-UIKIT_EXTERN NSAttributedStringKey const NSLinkAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSURL (preferred) or NSString
-UIKIT_EXTERN NSAttributedStringKey const NSBaselineOffsetAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // NSNumber containing floating point value, in points; offset from baseline, default 0
-UIKIT_EXTERN NSAttributedStringKey const NSUnderlineColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // UIColor, default nil: same as foreground color
-UIKIT_EXTERN NSAttributedStringKey const NSStrikethroughColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0)); // UIColor, default nil: same as foreground color
+UIKIT_EXTERN NSAttributedStringKey const NSAttachmentAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSTextAttachment, default nil
+UIKIT_EXTERN NSAttributedStringKey const NSLinkAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSURL (preferred) or NSString
+UIKIT_EXTERN NSAttributedStringKey const NSBaselineOffsetAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing floating point value, in points; offset from baseline, default 0
+UIKIT_EXTERN NSAttributedStringKey const NSUnderlineColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIColor, default nil: same as foreground color
+UIKIT_EXTERN NSAttributedStringKey const NSStrikethroughColorAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // UIColor, default nil: same as foreground color
-UIKIT_EXTERN NSAttributedStringKey const NSWritingDirectionAttributeName API_AVAILABLE(macos(10.6), ios(7.0)); // NSArray of NSNumbers representing the nested levels of writing direction overrides as defined by Unicode LRE, RLE, LRO, and RLO characters. The control characters can be obtained by masking NSWritingDirection and NSWritingDirectionFormatType values. LRE: NSWritingDirectionLeftToRight|NSWritingDirectionEmbedding, RLE: NSWritingDirectionRightToLeft|NSWritingDirectionEmbedding, LRO: NSWritingDirectionLeftToRight|NSWritingDirectionOverride, RLO: NSWritingDirectionRightToLeft|NSWritingDirectionOverride,
+UIKIT_EXTERN NSAttributedStringKey const NSWritingDirectionAttributeName API_AVAILABLE(macos(10.6), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSArray of NSNumbers representing the nested levels of writing direction overrides as defined by Unicode LRE, RLE, LRO, and RLO characters. The control characters can be obtained by masking NSWritingDirection and NSWritingDirectionFormatType values. LRE: NSWritingDirectionLeftToRight|NSWritingDirectionEmbedding, RLE: NSWritingDirectionRightToLeft|NSWritingDirectionEmbedding, LRO: NSWritingDirectionLeftToRight|NSWritingDirectionOverride, RLO: NSWritingDirectionRightToLeft|NSWritingDirectionOverride,
+// NSTextHighlightStyleAttributeName is a character-level NSAttributedStringKey for decorating a section of text highlighted for emphasis.
+UIKIT_EXTERN NSAttributedStringKey const NSTextHighlightStyleAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // NSTextHighlightStyle, default nil: no highlight
+// NSTextHighlightColorSchemeAttributeName is a character-level NSAttributedStringKey for specifying the color scheme used by NSTextHighlightStyleAttributeName at the same range.
+UIKIT_EXTERN NSAttributedStringKey const NSTextHighlightColorSchemeAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The default color scheme. The color is based on the tint/accent color for the rendering context. By default UIKit uses UIView.tintColor and AppKit uses NSColor.controlAccentColor.
+UIKIT_EXTERN NSAttributedStringKey const NSAdaptiveImageGlyphAttributeName API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // NSAdaptiveImageGlyph, default nil
+
/************************ Attribute values ************************/
// This defines currently supported values for NSUnderlineStyleAttributeName and NSStrikethroughStyleAttributeName. These values are or'ed together to produce an underline style.
// Underlines will be drawn with a solid pattern by default, so NSUnderlineStylePatternSolid does not need to be specified.
typedef NS_OPTIONS(NSInteger, NSUnderlineStyle) {
NSUnderlineStyleNone = 0x00,
NSUnderlineStyleSingle = 0x01,
- NSUnderlineStyleThick API_AVAILABLE(macos(10.0), ios(7.0)) = 0x02,
- NSUnderlineStyleDouble API_AVAILABLE(macos(10.0), ios(7.0)) = 0x09,
+ NSUnderlineStyleThick API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x02,
+ NSUnderlineStyleDouble API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x09,
- NSUnderlineStylePatternSolid API_AVAILABLE(macos(10.0), ios(7.0)) = 0x0000,
- NSUnderlineStylePatternDot API_AVAILABLE(macos(10.0), ios(7.0)) = 0x0100,
- NSUnderlineStylePatternDash API_AVAILABLE(macos(10.0), ios(7.0)) = 0x0200,
- NSUnderlineStylePatternDashDot API_AVAILABLE(macos(10.0), ios(7.0)) = 0x0300,
- NSUnderlineStylePatternDashDotDot API_AVAILABLE(macos(10.0), ios(7.0)) = 0x0400,
+ NSUnderlineStylePatternSolid API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x0000,
+ NSUnderlineStylePatternDot API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x0100,
+ NSUnderlineStylePatternDash API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x0200,
+ NSUnderlineStylePatternDashDot API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x0300,
+ NSUnderlineStylePatternDashDotDot API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x0400,
- NSUnderlineStyleByWord API_AVAILABLE(macos(10.0), ios(7.0)) = 0x8000
-} API_AVAILABLE(macos(10.0), ios(6.0));
+ NSUnderlineStyleByWord API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0x8000
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
// NSWritingDirectionFormatType values used by NSWritingDirectionAttributeName. It is or'ed with either NSWritingDirectionLeftToRight or NSWritingDirectionRightToLeft. Can specify the formatting controls defined by Unicode Bidirectional Algorithm.
typedef NS_ENUM(NSInteger, NSWritingDirectionFormatType) {
NSWritingDirectionEmbedding = (0 << 1),
NSWritingDirectionOverride = (1 << 1)
-} API_AVAILABLE(macos(10.11), ios(9.0));
+} API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
// NSTextEffectAttributeName values
-typedef NSString * NSTextEffectStyle NS_TYPED_ENUM;
-UIKIT_EXTERN NSTextEffectStyle const NSTextEffectLetterpressStyle API_AVAILABLE(macos(10.10), ios(7.0));
+typedef NSString * NSTextEffectStyle NS_TYPED_ENUM API_AVAILABLE(macos(10.10), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextEffectStyle const NSTextEffectLetterpressStyle API_AVAILABLE(macos(10.10), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+// NSTextHighlightStyleAttributeName values
+typedef NSString * NSTextHighlightStyle NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightStyle const NSTextHighlightStyleDefault API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The system-defined default highlight type. Supported only with TextKit2
+// NSTextHighlightColorSchemeAttributeName values
+typedef NSString * NSTextHighlightColorScheme NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeDefault API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)); // The system-defined default highlight type. Supported only with TextKit2
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemePurple API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemePink API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeOrange API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeMint API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+UIKIT_EXTERN NSTextHighlightColorScheme const NSTextHighlightColorSchemeBlue API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
+
/************************ Attribute fixing ************************/
@interface NSMutableAttributedString (NSAttributedStringAttributeFixing)
// This method fixes attribute inconsistencies inside range. It ensures NSFontAttributeName covers the characters, NSParagraphStyleAttributeName is only changing at paragraph boundaries, and NSTextAttachmentAttributeName is assigned to NSAttachmentCharacter. NSTextStorage automatically invokes this method via -ensureAttributesAreFixedInRange:.
-- (void)fixAttributesInRange:(NSRange)range API_AVAILABLE(macos(10.0), ios(7.0));
+- (void)fixAttributesInRange:(NSRange)range API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
/************************ Document formats ************************/
-typedef NSString * NSAttributedStringDocumentType NS_TYPED_EXTENSIBLE_ENUM;
+typedef NSString * NSAttributedStringDocumentType NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Supported document types for the NSDocumentTypeDocumentAttribute key in the document attributes dictionary.
-UIKIT_EXTERN NSAttributedStringDocumentType const NSPlainTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0));
-UIKIT_EXTERN NSAttributedStringDocumentType const NSRTFTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0));
-UIKIT_EXTERN NSAttributedStringDocumentType const NSRTFDTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0));
-UIKIT_EXTERN NSAttributedStringDocumentType const NSHTMLTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0));
+UIKIT_EXTERN NSAttributedStringDocumentType const NSPlainTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSAttributedStringDocumentType const NSRTFTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSAttributedStringDocumentType const NSRTFDTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSAttributedStringDocumentType const NSHTMLTextDocumentType API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
-typedef NSString * NSTextLayoutSectionKey NS_TYPED_ENUM;
+typedef NSString * NSTextLayoutSectionKey NS_TYPED_ENUM API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Keys for NSLayoutOrientationSectionsAttribute.
-UIKIT_EXTERN NSTextLayoutSectionKey const NSTextLayoutSectionOrientation API_AVAILABLE(macos(10.7), ios(7.0)); // NSNumber containing NSTextLayoutOrientation value. default: NSTextLayoutOrientationHorizontal
-UIKIT_EXTERN NSTextLayoutSectionKey const NSTextLayoutSectionRange API_AVAILABLE(macos(10.7), ios(7.0)); // NSValue containing NSRange representing a character range. default: a range covering the whole document
+UIKIT_EXTERN NSTextLayoutSectionKey const NSTextLayoutSectionOrientation API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSNumber containing NSTextLayoutOrientation value. default: NSTextLayoutOrientationHorizontal
+UIKIT_EXTERN NSTextLayoutSectionKey const NSTextLayoutSectionRange API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSValue containing NSRange representing a character range. default: a range covering the whole document
// Supported values for NSTextScalingDocumentAttribute, NSSourceTextScalingDocumentAttribute, NSTargetTextScalingDocumentOption, NSSourceTextScalingDocumentOption
typedef NS_ENUM(NSInteger, NSTextScalingType) {
NSTextScalingStandard = 0, // Font sizes throughout the document should appear visually similar to how they would render on macOS and non-Apple platforms
NSTextScalingiOS // Font sizes throughout the document should appear visually similar to how they would render on iOS
-} API_AVAILABLE(macos(10.15), ios(13.0));
+} API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0));
-typedef NSString * NSAttributedStringDocumentAttributeKey NS_TYPED_EXTENSIBLE_ENUM;
+typedef NSString * NSAttributedStringDocumentAttributeKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Keys for options and document attributes dictionaries. They are in and out document properties used by both read/write methods.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDocumentTypeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"DocumentType", one of the document types declared above. For reader methods, this key in options can specify the document type for interpreting the contents. Upon return, the document attributes can contain this key for indicating the actual format used to read the contents. For write methods, this key specifies the format for generating the data.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDocumentTypeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"DocumentType", one of the document types declared above. For reader methods, this key in options can specify the document type for interpreting the contents. Upon return, the document attributes can contain this key for indicating the actual format used to read the contents. For write methods, this key specifies the format for generating the data.
// NSPlainTextDocumentType document attributes
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSCharacterEncodingDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"CharacterEncoding", NSNumber containing integer specifying NSStringEncoding for the file; default for plain text is the default encoding. This key in options can specify the string encoding for reading the data. Upon return, the document attributes can contain the actual encoding used. For writing methods, this value is used for generating the plain text data.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultAttributesDocumentAttribute API_AVAILABLE(macos(10.11), ios(7.0)); // @"DefaultAttributes", NSDictionary containing attributes to be applied to plain files. Used by reader methods. This key in options can specify the default attributes applied to the entire document contents. The document attributes can contain this key indicating the actual attributes used.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSCharacterEncodingDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"CharacterEncoding", NSNumber containing integer specifying NSStringEncoding for the file; default for plain text is the default encoding. This key in options can specify the string encoding for reading the data. Upon return, the document attributes can contain the actual encoding used. For writing methods, this value is used for generating the plain text data.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultAttributesDocumentAttribute API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"DefaultAttributes", NSDictionary containing attributes to be applied to plain files. Used by reader methods. This key in options can specify the default attributes applied to the entire document contents. The document attributes can contain this key indicating the actual attributes used.
// NSRTFTextDocumentType and NSRTFDTextDocumentType document attributes
// Document dimension
// They are document attributes used by read/write methods.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSPaperSizeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"PaperSize", NSValue containing CGSize (in points)
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSPaperMarginDocumentAttribute API_AVAILABLE(ios(7.0)); // @"PaperMargin", NSValue containing UIEdgeInsets
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSPaperSizeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"PaperSize", NSValue containing CGSize (in points)
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewSizeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"ViewSize", NSValue containing CGSize (in points)
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewZoomDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"ViewZoom", NSNumber containing floating point value (100 == 100% zoom)
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewModeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"ViewMode", NSNumber containing integer; 0 = normal; 1 = page layout
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewSizeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"ViewSize", NSValue containing CGSize (in points)
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewZoomDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"ViewZoom", NSNumber containing floating point value (100 == 100% zoom)
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSViewModeDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"ViewMode", NSNumber containing integer; 0 = normal; 1 = page layout
// NSHTMLTextDocumentType document attributes
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultFontExcludedDocumentAttribute API_AVAILABLE(macos(14), ios(17), watchos(10), tvos(17)); // for HTML writing only; NSNumber containing a BOOL, when true the HTML writer will not include font information unless specified
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultFontExcludedDocumentAttribute API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0), visionos(1.0)); // for HTML writing only; NSNumber containing a BOOL, when true the HTML writer will not include font information unless specified
// Document settings
// They are document attributes used by read/write methods.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSReadOnlyDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"ReadOnly", NSNumber containing integer; if missing, or 0 or negative, not readonly; 1 or more, readonly. Note that this has nothing to do with the file system protection on the file, but instead, on how the file should be displayed to the user
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSBackgroundColorDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"BackgroundColor", UIColor, representing the document-wide page background color
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSHyphenationFactorDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"HyphenationFactor", NSNumber containing floating point value (0=off, 1=full hyphenation)
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultTabIntervalDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0)); // @"DefaultTabInterval", NSNumber containing floating point value, representing the document-wide default tab stop interval, in points
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSTextLayoutSectionsAttribute API_AVAILABLE(macos(10.7), ios(7.0)); // NSArray of dictionaries. Each dictionary describing a layout orientation section. The dictionary can have two attributes: NSTextLayoutSectionOrientation and NSTextLayoutSectionRange. When there is a gap between sections, it's assumed to have NSTextLayoutOrientationHorizontal.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSReadOnlyDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"ReadOnly", NSNumber containing integer; if missing, or 0 or negative, not readonly; 1 or more, readonly. Note that this has nothing to do with the file system protection on the file, but instead, on how the file should be displayed to the user
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSBackgroundColorDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"BackgroundColor", UIColor, representing the document-wide page background color
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSHyphenationFactorDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"HyphenationFactor", NSNumber containing floating point value (0=off, 1=full hyphenation)
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSDefaultTabIntervalDocumentAttribute API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"DefaultTabInterval", NSNumber containing floating point value, representing the document-wide default tab stop interval, in points
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSTextLayoutSectionsAttribute API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // NSArray of dictionaries. Each dictionary describing a layout orientation section. The dictionary can have two attributes: NSTextLayoutSectionOrientation and NSTextLayoutSectionRange. When there is a gap between sections, it's assumed to have NSTextLayoutOrientationHorizontal.
// Document text scaling and Cocoa version
// They are document attributes used by read/write methods.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSTextScalingDocumentAttribute API_AVAILABLE(macos(10.15), ios(13.0)); // @"TextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, this indicates the type of text scaling used in the returned attributed string. For write methods, this attribute can be used in two different ways: (1) Passing only this attribute will overwrite the text scaling metadata in the document, but will not perform any conversion on the font sizes in the document, or (2) Passing both this attribute and NSSourceTextScalingDocumentAttribute will convert the font sizes in the document from the source text scaling type to the text scaling type specified by this attribute.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSTextScalingDocumentAttribute API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0)); // @"TextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, this indicates the type of text scaling used in the returned attributed string. For write methods, this attribute can be used in two different ways: (1) Passing only this attribute will overwrite the text scaling metadata in the document, but will not perform any conversion on the font sizes in the document, or (2) Passing both this attribute and NSSourceTextScalingDocumentAttribute will convert the font sizes in the document from the source text scaling type to the text scaling type specified by this attribute.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSSourceTextScalingDocumentAttribute API_AVAILABLE(macos(10.15), ios(13.0)); // @"SourceTextScaling", one of the text scaling types declared above. Only affects RTF documents. For writing methods, this indicates the type of text scaling in the attributed string that will be used as the base type for conversion. Use this in conjunction with NSTextScalingDocumentAttribute to convert font point sizes between text scalings when writing attributed strings to RTF. This attribute is optional and does nothing unless NSTextScalingDocumentAttribute is also specified.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSSourceTextScalingDocumentAttribute API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0)); // @"SourceTextScaling", one of the text scaling types declared above. Only affects RTF documents. For writing methods, this indicates the type of text scaling in the attributed string that will be used as the base type for conversion. Use this in conjunction with NSTextScalingDocumentAttribute to convert font point sizes between text scalings when writing attributed strings to RTF. This attribute is optional and does nothing unless NSTextScalingDocumentAttribute is also specified.
-UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSCocoaVersionDocumentAttribute API_AVAILABLE(macos(10.4), ios(13.0)); // @"CocoaRTFVersion", NSNumber containing integer. Stores the version of Cocoa the file was created with. NSNumber containing float. Absence of this value indicates file not labelled as being created by Cocoa or its predecessors. Values less than 100 are pre-Mac OS X; 100 is Mac OS X 10.0 and 10.1; 102 is Mac OS X 10.2 and 10.3; values greater than 102 correspond to values of NSAppKitVersionNumber on 10.4-10.14 systems. Beginning with iOS 13 and macOS 10.15, this version number does not have a one-to-one correspondence with any single system framework version, but is guaranteed to monotonically increase with each OS version.
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSCocoaVersionDocumentAttribute API_AVAILABLE(macos(10.4), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0)); // @"CocoaRTFVersion", NSNumber containing integer. Stores the version of Cocoa the file was created with. NSNumber containing float. Absence of this value indicates file not labelled as being created by Cocoa or its predecessors. Values less than 100 are pre-Mac OS X; 100 is Mac OS X 10.0 and 10.1; 102 is Mac OS X 10.2 and 10.3; values greater than 102 correspond to values of NSAppKitVersionNumber on 10.4-10.14 systems. Beginning with iOS 13 and macOS 10.15, this version number does not have a one-to-one correspondence with any single system framework version, but is guaranteed to monotonically increase with each OS version.
-typedef NSString * NSAttributedStringDocumentReadingOptionKey NS_TYPED_EXTENSIBLE_ENUM;
+typedef NSString * NSAttributedStringDocumentReadingOptionKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
-UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSDocumentTypeDocumentOption; // @"DocumentType", NSString indicating a document type to be forced when loading the document, specified as one of the NSDocumentTypeDocumentAttribute constants listed above
-UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSDefaultAttributesDocumentOption; // @"DefaultAttributes", for plain text only; NSDictionary containing attributes to be applied to plain files
-UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSCharacterEncodingDocumentOption; // @"CharacterEncoding", for plain text and HTML; NSNumber containing integer specifying NSStringEncoding to be used to interpret the file
+UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSDocumentTypeDocumentOption API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"DocumentType", NSString indicating a document type to be forced when loading the document, specified as one of the NSDocumentTypeDocumentAttribute constants listed above
+UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSDefaultAttributesDocumentOption API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"DefaultAttributes", for plain text only; NSDictionary containing attributes to be applied to plain files
+UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSCharacterEncodingDocumentOption API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"CharacterEncoding", for plain text and HTML; NSNumber containing integer specifying NSStringEncoding to be used to interpret the file
-UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSTargetTextScalingDocumentOption API_AVAILABLE(macos(10.15), ios(13.0)); // @"TargetTextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, you can pass this option to request that the returned attributed string uses the specified scaling. The font point sizes in the document may be converted if necessary. If this option is not provided, the system will deduce the target text scaling type based on application framework and platform.
+UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSTargetTextScalingDocumentOption API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0)); // @"TargetTextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, you can pass this option to request that the returned attributed string uses the specified scaling. The font point sizes in the document may be converted if necessary. If this option is not provided, the system will deduce the target text scaling type based on application framework and platform.
-UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSSourceTextScalingDocumentOption API_AVAILABLE(macos(10.15), ios(13.0)); // @"SourceTextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, you can pass this option to indicate the source text scaling type of the RTF document being read. Use this in conjunction with NSTargetTextScalingDocumentOption to control text scaling conversions on the font point sizes in the returned attributed string. This option does nothing unless NSTargetTextScalingDocumentOption is also specified. If this option is not provided, the system will deduce the source text scaling type based on the information in the document.
+UIKIT_EXTERN NSAttributedStringDocumentReadingOptionKey const NSSourceTextScalingDocumentOption API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0), visionos(1.0)); // @"SourceTextScaling", one of the text scaling types declared above. Only affects RTF documents. For reading methods, you can pass this option to indicate the source text scaling type of the RTF document being read. Use this in conjunction with NSTargetTextScalingDocumentOption to control text scaling conversions on the font point sizes in the returned attributed string. This option does nothing unless NSTargetTextScalingDocumentOption is also specified. If this option is not provided, the system will deduce the source text scaling type based on the information in the document.
@interface NSAttributedString (NSAttributedStringDocumentFormats)
// Methods initializing the receiver contents with an external document data. options specify document attributes for interpreting the document contents. NSDocumentTypeDocumentAttribute, NSCharacterEncodingDocumentAttribute, and NSDefaultAttributesDocumentAttribute are supported options key. When they are not specified, these methods will examine the data and do their best to detect the appropriate attributes. If dict is non-NULL, it will return a dictionary with various document-wide attributes accessible via NS...DocumentAttribute keys.
-- (nullable instancetype)initWithURL:(NSURL *)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.4), ios(9.0));
-- (nullable instancetype)initWithData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0));
+- (nullable instancetype)initWithURL:(NSURL *)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.4), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (nullable instancetype)initWithData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Generates an NSData object for the receiver contents in range. It requires a document attributes dict specifying at least the NSDocumentTypeDocumentAttribute to determine the format to be written.
-- (nullable NSData *)dataFromRange:(NSRange)range documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> *)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0));
+- (nullable NSData *)dataFromRange:(NSRange)range documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> *)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Returns an NSFileWrapper object for the receiver contents in range. It requires a document attributes dict specifying at least the NSDocumentTypeDocumentAttribute to determine the format to be written. The method returns a directory file wrapper for those document types represented by a file package such as NSRTFDTextDocumentType; otherwise, it returns a regular-file file wrapper.
-- (nullable NSFileWrapper *)fileWrapperFromRange:(NSRange)range documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> *)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0));
+- (nullable NSFileWrapper *)fileWrapperFromRange:(NSRange)range documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> *)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
@interface NSMutableAttributedString (NSMutableAttributedStringDocumentFormats)
// Methods replacing the receiver contents with an external document data. options specify document attributes for interpreting the document contents. NSDocumentTypeDocumentAttribute, NSCharacterEncodingDocumentAttribute, and NSDefaultAttributesDocumentAttribute are supported options key. When they are not specified, these methods will examine the data and do their best to detect the appropriate attributes. If dict is non-NULL, it will return a dictionary with various document-wide attributes accessible via NS...DocumentAttribute keys.
- (BOOL)readFromURL:(NSURL *)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macosx(10.5), ios(9.0), watchos(2.0), tvos(9.0));
-- (BOOL)readFromData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0));
+- (BOOL)readFromData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
/************************ Misc methods ************************/
@interface NSAttributedString (NSAttributedStringKitAdditions)
// Returns YES if the receiver contains a property configured (NSAttachmentAttributeName with NSAttachmentCharacter) in range
-- (BOOL)containsAttachmentsInRange:(NSRange)range API_AVAILABLE(macos(10.11), ios(9.0));
+- (BOOL)containsAttachmentsInRange:(NSRange)range API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+
+// Returns YES when any attribute preferring RTFD found in range. This method should be preferred over containsAttachmentsInRange() for determining its preferred external document format.
+- (BOOL)prefersRTFDInRange:(NSRange)range API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
@end
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#else
+#import <UIFoundation/NSAttributedString.h>
+#endif
+
+#import <Foundation/NSAttributedString.h>
+#import <Foundation/NSItemProvider.h>
+#import <UIKit/UIKitDefines.h>
+@class NSAttributedString;
+@class NSFileWrapper;
+@class NSURL;
+
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN NSAttributedStringDocumentAttributeKey const NSPaperMarginDocumentAttribute API_AVAILABLE(ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)); // @"PaperMargin", NSValue containing UIEdgeInsets
+
@interface NSAttributedString (NSAttributedString_ItemProvider) <NSItemProviderReading, NSItemProviderWriting>
@end
-
/************************ Deprecated ************************/
-UIKIT_EXTERN NSAttributedStringKey const NSObliquenessAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED)); // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
-UIKIT_EXTERN NSAttributedStringKey const NSExpansionAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED)); // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
-UIKIT_EXTERN NSAttributedStringKey const NSVerticalGlyphFormAttributeName API_DEPRECATED("This attribute is no longer supported with TextKit 2", macos(10.7, API_TO_BE_DEPRECATED), ios(6.0, API_TO_BE_DEPRECATED)); // An NSNumber containing an integer value. 0 means horizontal text. 1 indicates vertical text. If not specified, it could follow higher-level vertical orientation settings. Currently on iOS, it's always horizontal. The behavior for any other value is undefined.
+UIKIT_EXTERN NSAttributedStringKey const NSObliquenessAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)); // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
+UIKIT_EXTERN NSAttributedStringKey const NSExpansionAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)); // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
+UIKIT_EXTERN NSAttributedStringKey const NSVerticalGlyphFormAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)); // An NSNumber containing an integer value. 0 means horizontal text. 1 indicates vertical text. If not specified, it could follow higher-level vertical orientation settings. Currently on iOS, it's always horizontal. The behavior for any other value is undefined.
// NSUnderlineByWord and the NSUnderlinePattern* values are soft deprecated starting with macOS 10.14/iOS 12 and will be officially deprecated in a future release. Please use the NSUnderlineStyle* equivalents instead.
// Underlines will be drawn with a solid pattern by default, so NSUnderlinePatternSolid does not need to be specified.
-static const NSUnderlineStyle NSUnderlinePatternSolid = NSUnderlineStylePatternSolid;
-static const NSUnderlineStyle NSUnderlinePatternDot = NSUnderlineStylePatternDot;
-static const NSUnderlineStyle NSUnderlinePatternDash = NSUnderlineStylePatternDash;
-static const NSUnderlineStyle NSUnderlinePatternDashDot = NSUnderlineStylePatternDashDot;
-static const NSUnderlineStyle NSUnderlinePatternDashDotDot = NSUnderlineStylePatternDashDotDot;
-static const NSUnderlineStyle NSUnderlineByWord = NSUnderlineStyleByWord;
+static const NSUnderlineStyle NSUnderlinePatternSolid API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternSolid", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternSolid;
+static const NSUnderlineStyle NSUnderlinePatternDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDot;
+static const NSUnderlineStyle NSUnderlinePatternDash API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDash", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDash;
+static const NSUnderlineStyle NSUnderlinePatternDashDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDashDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDashDot;
+static const NSUnderlineStyle NSUnderlinePatternDashDotDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlinePatternDashDotDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDashDotDot;
+static const NSUnderlineStyle NSUnderlineByWord API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStyleByWord", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = 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(visionos) API_UNAVAILABLE(tvos);
-#endif
+} API_DEPRECATED_WITH_REPLACEMENT("NSWritingDirectionFormatType", ios(7.0, 9.0), watchos(2.0, 2.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+#endif // TARGET_OS_IPHONE
@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(visionos) API_UNAVAILABLE(tvos);
+- (nullable instancetype)initWithFileURL:(NSURL *)url options:(NSDictionary *)options documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithURL:options:documentAttributes:error:", ios(7.0, 9.0), watchos(2.0, 2.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
@end
@interface NSMutableAttributedString (NSDeprecatedKitAdditions)
-- (BOOL)readFromFileURL:(NSURL *)url options:(NSDictionary *)opts documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("readFromURL:options:documentAttributes:error:", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (BOOL)readFromFileURL:(NSURL *)url options:(NSDictionary *)opts documentAttributes:(NSDictionary* __nullable * __nullable)dict error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("readFromURL:options:documentAttributes:error:", ios(7.0, 9.0), watchos(2.0, 2.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
@end
-#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
-
NS_HEADER_AUDIT_END(nullability, sendability)
+#elif TARGET_OS_OSX
+#import <AppKit/NSAttributedString.h>
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#else
#import <UIKitCore/NSAttributedString.h>
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSDiffableDataSourceSectionSnapshot.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSDiffableDataSourceSectionSnapshot.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSDiffableDataSourceSectionSnapshot.h 2024-04-26 07:47:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSDiffableDataSourceSectionSnapshot.h 2024-05-31 08:16:54
@@ -11,7 +11,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(14.0),tvos(14.0),watchos(7.0))
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos)
@interface NSDiffableDataSourceSectionSnapshot<ItemIdentifierType> : NSObject<NSCopying>
// creates an empty snapshot
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2024-05-31 08:17:03
@@ -19,7 +19,7 @@
UIPreferredPresentationStyleUnspecified = 0,
UIPreferredPresentationStyleInline,
UIPreferredPresentationStyleAttachment,
-};
+} API_AVAILABLE(watchos(4.0));
@interface NSItemProvider (UIKitAdditions)
@@ -43,7 +43,7 @@
@end
-@protocol UIItemProviderReadingAugmentationProviding
+API_AVAILABLE(watchos(10.4)) @protocol UIItemProviderReadingAugmentationProviding
// Conforming classes should not fall through to [requestedClass objectWithItemProviderData:typeIdentifier:error:.
// UIItemProvider does this on your behalf.
+ (nullable id)objectWithItemProviderData:(NSData *)data
@@ -56,7 +56,7 @@
@property (class, NS_NONATOMIC_IOSONLY, readonly, copy) NSArray<NSString *> *additionalTrailingReadableTypeIdentifiersForItemProvider;
@end
-@protocol UIItemProviderReadingAugmentationDesignating <NSItemProviderReading>
+API_AVAILABLE(watchos(10.4)) @protocol UIItemProviderReadingAugmentationDesignating <NSItemProviderReading>
+ (Class<UIItemProviderReadingAugmentationProviding>)_ui_augmentingNSItemProviderReadingClass;
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h 2024-04-18 07:56:06
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h 2024-05-31 07:34:53
@@ -30,7 +30,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)) NS_SWIFT_UI_ACTOR
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) API_UNAVAILABLE(watchos) 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) || \
@@ -60,24 +60,24 @@
// 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)) NS_SWIFT_UI_ACTOR
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSLayoutXAxisAnchor : NSLayoutAnchor<NSLayoutXAxisAnchor *>
// A composite anchor for creating constraints relating horizontal distances between locations.
-- (NSLayoutDimension *)anchorWithOffsetToAnchor:(NSLayoutXAxisAnchor *)otherAnchor API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
+- (NSLayoutDimension *)anchorWithOffsetToAnchor:(NSLayoutXAxisAnchor *)otherAnchor API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos);
@end
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSLayoutYAxisAnchor : NSLayoutAnchor<NSLayoutYAxisAnchor *>
// A composite anchor for creating constraints relating vertical distances between locations.
-- (NSLayoutDimension *)anchorWithOffsetToAnchor:(NSLayoutYAxisAnchor *)otherAnchor API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
+- (NSLayoutDimension *)anchorWithOffsetToAnchor:(NSLayoutYAxisAnchor *)otherAnchor API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos);
@end
// This layout anchor subclass is used for sizes (width & height).
-NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) NS_SWIFT_UI_ACTOR
+NSLAYOUTANCHOR_EXTERN API_AVAILABLE(macos(10.11), ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSLayoutDimension : NSLayoutAnchor<NSLayoutDimension *>
// These methods return an inactive constraint of the form thisVariable = constant.
@@ -106,9 +106,9 @@
where the value of the system space is determined from information available from the anchors.
The constraint affects how far the receiver will be positioned trailing 'anchor', per the effective user interface layout direction.
*/
-- (NSLayoutConstraint *)constraintEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
-- (NSLayoutConstraint *)constraintGreaterThanOrEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
-- (NSLayoutConstraint *)constraintLessThanOrEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
+- (NSLayoutConstraint *)constraintEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (NSLayoutConstraint *)constraintGreaterThanOrEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (NSLayoutConstraint *)constraintLessThanOrEqualToSystemSpacingAfterAnchor:(NSLayoutXAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
@end
@@ -120,9 +120,9 @@
If either the receiver or 'anchor' is the firstBaselineAnchor or lastBaselineAnchor of a view with text content
then the spacing will depend on the fonts involved and will change when those do.
*/
-- (NSLayoutConstraint *)constraintEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
-- (NSLayoutConstraint *)constraintGreaterThanOrEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
-- (NSLayoutConstraint *)constraintLessThanOrEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0),ios(11.0),tvos(11.0));
+- (NSLayoutConstraint *)constraintEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (NSLayoutConstraint *)constraintGreaterThanOrEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (NSLayoutConstraint *)constraintLessThanOrEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier __attribute__((warn_unused_result)) API_AVAILABLE(macos(11.0), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h 2024-04-18 07:56:07
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h 2024-06-01 04:15:25
@@ -14,14 +14,14 @@
@class NSArray, NSDictionary, NSLayoutAnchor;
-typedef float UILayoutPriority NS_TYPED_EXTENSIBLE_ENUM;
-static const UILayoutPriority UILayoutPriorityRequired API_AVAILABLE(ios(6.0)) = 1000; // A required constraint. Do not exceed this.
-static const UILayoutPriority UILayoutPriorityDefaultHigh API_AVAILABLE(ios(6.0)) = 750; // This is the priority level with which a button resists compressing its content.
-static const UILayoutPriority UILayoutPriorityDragThatCanResizeScene API_AVAILABLE(macCatalyst(13.0)) = 510; // This is the appropriate priority level for a drag that may end up resizing the window's scene.
-static const UILayoutPriority UILayoutPrioritySceneSizeStayPut API_AVAILABLE(macCatalyst(13.0)) = 500; // This is the priority level at which the window's scene prefers to stay the same size. It's generally not appropriate to make a constraint at exactly this priority. You want to be higher or lower.
-static const UILayoutPriority UILayoutPriorityDragThatCannotResizeScene API_AVAILABLE(macCatalyst(13.0)) = 490; // This is the priority level at which a split view divider, say, is dragged. It won't resize the window's scene.
-static const UILayoutPriority UILayoutPriorityDefaultLow API_AVAILABLE(ios(6.0)) = 250; // This is the priority level at which a button hugs its contents horizontally.
-static const UILayoutPriority UILayoutPriorityFittingSizeLevel API_AVAILABLE(ios(6.0)) = 50; // When you send -[UIView systemLayoutSizeFittingSize:], the size fitting most closely to the target size (the argument) is computed. UILayoutPriorityFittingSizeLevel is the priority level with which the view wants to conform to the target size in that computation. It's quite low. It is generally not appropriate to make a constraint at exactly this priority. You want to be higher or lower.
+typedef float UILayoutPriority NS_TYPED_EXTENSIBLE_ENUM API_UNAVAILABLE(watchos);
+static const UILayoutPriority UILayoutPriorityRequired API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) = 1000; // A required constraint. Do not exceed this.
+static const UILayoutPriority UILayoutPriorityDefaultHigh API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) = 750; // This is the priority level with which a button resists compressing its content.
+static const UILayoutPriority UILayoutPriorityDragThatCanResizeScene API_AVAILABLE(macCatalyst(13.0)) API_UNAVAILABLE(watchos) = 510; // This is the appropriate priority level for a drag that may end up resizing the window's scene.
+static const UILayoutPriority UILayoutPrioritySceneSizeStayPut API_AVAILABLE(macCatalyst(13.0)) API_UNAVAILABLE(watchos) = 500; // This is the priority level at which the window's scene prefers to stay the same size. It's generally not appropriate to make a constraint at exactly this priority. You want to be higher or lower.
+static const UILayoutPriority UILayoutPriorityDragThatCannotResizeScene API_AVAILABLE(macCatalyst(13.0)) API_UNAVAILABLE(watchos) = 490; // This is the priority level at which a split view divider, say, is dragged. It won't resize the window's scene.
+static const UILayoutPriority UILayoutPriorityDefaultLow API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) = 250; // This is the priority level at which a button hugs its contents horizontally.
+static const UILayoutPriority UILayoutPriorityFittingSizeLevel API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) = 50; // When you send -[UIView systemLayoutSizeFittingSize:], the size fitting most closely to the target size (the argument) is computed. UILayoutPriorityFittingSizeLevel is the priority level with which the view wants to conform to the target size in that computation. It's quite low. It is generally not appropriate to make a constraint at exactly this priority. You want to be higher or lower.
#if !TARGET_OS_IPHONE
typedef float NSLayoutPriority NS_TYPED_EXTENSIBLE_ENUM;
@@ -42,7 +42,7 @@
NSLayoutRelationLessThanOrEqual = -1,
NSLayoutRelationEqual = 0,
NSLayoutRelationGreaterThanOrEqual = 1,
-};
+} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, NSLayoutAttribute) {
NSLayoutAttributeLeft = 1,
@@ -75,7 +75,7 @@
#endif
NSLayoutAttributeNotAnAttribute = 0
-};
+} API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSUInteger, NSLayoutFormatOptions) {
NSLayoutFormatAlignAllLeft = (1 << NSLayoutAttributeLeft),
@@ -107,7 +107,7 @@
#if TARGET_OS_IPHONE
/* choose only one spacing format
*/
- NSLayoutFormatSpacingEdgeToEdge API_AVAILABLE(ios(11.0),tvos(11.0)) = 0 << 19, // default
+ NSLayoutFormatSpacingEdgeToEdge API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos) = 0 << 19, // default
/* Valid only for vertical layouts. Between views with text content the value
will be used to determine the distance from the last baseline of the view above
@@ -116,13 +116,13 @@
The default spacing "]-[" will be determined from the line heights of the fonts
involved in views with text content, when present.
*/
- NSLayoutFormatSpacingBaselineToBaseline API_AVAILABLE(ios(11.0),tvos(11.0)) = 1 << 19,
+ NSLayoutFormatSpacingBaselineToBaseline API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos) = 1 << 19,
- NSLayoutFormatSpacingMask API_AVAILABLE(ios(11.0),tvos(11.0)) = 0x1 << 19,
+ NSLayoutFormatSpacingMask API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos) = 0x1 << 19,
#endif
-};
+} API_UNAVAILABLE(watchos);
-NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) NS_SWIFT_UI_ACTOR
+NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) 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).
@@ -168,8 +168,8 @@
/* accessors
firstAnchor{==,<=,>=} secondAnchor * multiplier + constant
*/
-@property (readonly, copy) NSLayoutAnchor *firstAnchor API_AVAILABLE(macos(10.12), ios(10.0));
-@property (readonly, copy, nullable) NSLayoutAnchor *secondAnchor API_AVAILABLE(macos(10.12), ios(10.0));
+@property (readonly, copy) NSLayoutAnchor *firstAnchor API_AVAILABLE(macos(10.12), ios(10.0)) API_UNAVAILABLE(watchos);
+@property (readonly, copy, nullable) NSLayoutAnchor *secondAnchor API_AVAILABLE(macos(10.12), ios(10.0)) API_UNAVAILABLE(watchos);
@property (readonly) NSLayoutRelation relation;
@property (readonly) CGFloat multiplier;
@@ -209,7 +209,7 @@
*/
@class NSLayoutYAxisAnchor, NSLayoutDimension;
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) 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_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2024-04-09 04:18:09
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutManager.h 2024-05-30 15:54:05
@@ -26,7 +26,7 @@
typedef NS_ENUM(NSInteger, NSTextLayoutOrientation) {
NSTextLayoutOrientationHorizontal = 0, // Lines rendered horizontally, grow top to bottom
NSTextLayoutOrientationVertical = 1, // Lines rendered vertically, grow right to left
-} API_AVAILABLE(macosx(10.0), ios(7.0), watchos(2.0), tvos(9.0));
+} API_AVAILABLE(macosx(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
#endif // !__NSLAYOUT_MANAGER_SHARED_SECTION__
typedef NS_OPTIONS(NSInteger, NSGlyphProperty) {
@@ -34,7 +34,7 @@
NSGlyphPropertyControlCharacter = (1 << 1), // control character such as tab, attachment, etc that has special behavior associated with
NSGlyphPropertyElastic = (1 << 2), // glyphs with elastic glyph width behavior such as white spaces
NSGlyphPropertyNonBaseCharacter = (1 << 3) // glyphs with combining properties. typically characters in Unicode Mn class.
-} API_AVAILABLE(macos(10.11), ios(7.0));
+} API_AVAILABLE(macos(10.11), ios(7.0)) API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSInteger, NSControlCharacterAction) {
NSControlCharacterActionZeroAdvancement = (1 << 0), // glyphs with this action are filtered out from layout (notShownAttribute == YES)
@@ -43,15 +43,15 @@
NSControlCharacterActionLineBreak = (1 << 3), // Causes line break
NSControlCharacterActionParagraphBreak = (1 << 4), // Causes paragraph break; firstLineIndent will be used for the following glyph
NSControlCharacterActionContainerBreak = (1 << 5) // Causes container break
-} API_AVAILABLE(macos(10.11), ios(7.0));
+} API_AVAILABLE(macos(10.11), ios(7.0)) API_UNAVAILABLE(watchos);
-@protocol NSTextLayoutOrientationProvider
+API_UNAVAILABLE(watchos) @protocol NSTextLayoutOrientationProvider
// A property describing the receiver's layout orientation. This property defines the default value for the range of string laid out in the receiver in absence of explicit NSVerticalGlyphFormAttributeName attribute. For example, when NSTextLayoutOrientationVertical, the default value for NSVerticalGlyphFormAttributeName is 1. When rendering into the receiver, the Text System assumes the coordinate system is appropriately rotated.
@property (readonly, NS_NONATOMIC_IOSONLY) NSTextLayoutOrientation layoutOrientation API_AVAILABLE(macos(10.7), ios(7.0));
@end
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) API_UNAVAILABLE(watchos)
@interface NSLayoutManager : NSObject <NSSecureCoding>
/**************************** Initialization ****************************/
@@ -112,10 +112,10 @@
@property (readonly, NS_NONATOMIC_IOSONLY) BOOL hasNonContiguousLayout API_AVAILABLE(macos(10.5), ios(7.0));
// 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 API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0));
+@property BOOL limitsLayoutForSuspiciousContents API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0)) API_UNAVAILABLE(watchos);
// When YES, NSLayoutManager will attempt to hyphenate when wrapping lines. May be overridden on a per-paragraph basis by the NSParagraphStyle's hyphenationFactor. 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 usesDefaultHyphenation API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0));
+@property BOOL usesDefaultHyphenation API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/************************** Invalidation **************************/
@@ -158,7 +158,7 @@
// If non-contiguous layout is not enabled, these will cause generation of all glyphs up to and including glyphIndex. The first CGGlyphAtIndex variant returns kCGFontIndexInvalid if the requested index is out of the range (0, numberOfGlyphs), and optionally returns a flag indicating whether the requested index is in range. The second CGGlyphAtIndex variant raises a NSRangeError if the requested index is out of range.
- (CGGlyph)CGGlyphAtIndex:(NSUInteger)glyphIndex isValidIndex:(nullable BOOL *)isValidIndex API_AVAILABLE(macos(10.11), ios(7.0));
- (CGGlyph)CGGlyphAtIndex:(NSUInteger)glyphIndex API_AVAILABLE(macos(10.11), ios(7.0));
-- (BOOL)isValidGlyphIndex:(NSUInteger)glyphIndex API_AVAILABLE(macosx(10.0), ios(7.0), watchos(2.0), tvos(9.0));
+- (BOOL)isValidGlyphIndex:(NSUInteger)glyphIndex API_AVAILABLE(macosx(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
// If non-contiguous layout is not enabled, this will cause generation of all glyphs up to and including glyphIndex. It will return the glyph property associated with the glyph at the specified index.
- (NSGlyphProperty)propertyForGlyphAtIndex:(NSUInteger)glyphIndex API_AVAILABLE(macos(10.5), ios(7.0));
@@ -288,7 +288,7 @@
- (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin;
// This is the glyph rendering primitive method. Renders glyphs at positions into the CGContext. The positions are in the user space coordinate system. CGContext that is passed in is already configured according to the text attributes arguments: font, textMatrix, and attributes. The font argument represents the font applied to the graphics state. The value can be different from the NSFontAttributeName value in the attributes argument because of various font substitutions that the system automatically executes. The textMatrix is the affine transform mapping the text space coordinate system to the user space coordinate system. The tx and ty components of textMatrix are ignored since Quartz overrides them with the glyph positions.
-- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSInteger)glyphCount font:(UIFont *)font textMatrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)CGContext API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0));
+- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSInteger)glyphCount font:(UIFont *)font textMatrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)CGContext API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
// This is the primitive used by -drawBackgroundForGlyphRange:atPoint: for actually filling rects with a particular background color, whether due to a background color attribute, a selected or marked range highlight, a block decoration, or any other rect fill needed by that method. As with -showCGGlyphs:..., the character range and color are merely for informational purposes; the color will already be set in the graphics state. If for any reason you modify it, you must restore it before returning from this method. You should never call this method, but you might override it. The default implementation will simply fill the specified rect array.
- (void)fillBackgroundRectArray:(const CGRect *)rectArray count:(NSUInteger)rectCount forCharacterRange:(NSRange)charRange color:(UIColor *)color API_AVAILABLE(macos(10.6), ios(7.0));
@@ -304,7 +304,7 @@
@end
-@protocol NSLayoutManagerDelegate <NSObject>
+API_UNAVAILABLE(watchos) @protocol NSLayoutManagerDelegate <NSObject>
@optional
/************************ Glyph generation ************************/
@@ -355,24 +355,24 @@
/************************ Deprecated ************************/
enum {
- NSControlCharacterZeroAdvancementAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionZeroAdvancement", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionZeroAdvancement,
- NSControlCharacterWhitespaceAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionWhitespace", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionWhitespace,
- NSControlCharacterHorizontalTabAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionHorizontalTab", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionHorizontalTab,
- NSControlCharacterLineBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionLineBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionLineBreak,
- NSControlCharacterParagraphBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionParagraphBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionParagraphBreak,
- NSControlCharacterContainerBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionContainerBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos) = NSControlCharacterActionContainerBreak
-};
+ NSControlCharacterZeroAdvancementAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionZeroAdvancement", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionZeroAdvancement,
+ NSControlCharacterWhitespaceAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionWhitespace", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionWhitespace,
+ NSControlCharacterHorizontalTabAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionHorizontalTab", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionHorizontalTab,
+ NSControlCharacterLineBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionLineBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionLineBreak,
+ NSControlCharacterParagraphBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionParagraphBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionParagraphBreak,
+ NSControlCharacterContainerBreakAction API_DEPRECATED_WITH_REPLACEMENT("NSControlCharacterActionContainerBreak", ios(7.0, 9.0)) API_UNAVAILABLE(visionos, watchos) = NSControlCharacterActionContainerBreak
+} API_UNAVAILABLE(watchos);
@interface NSLayoutManager (NSLayoutManagerDeprecated)
// These two methods are soft deprecated starting with iOS 9. It will be officially deprecated in a future release
-- (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex isValidIndex:(nullable BOOL *)isValidIndex; // Use -CGGlyphAtIndex:isValidIndex: instead
-- (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex; // Use -CGGlyphAtIndex: instead
+- (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex isValidIndex:(nullable BOOL *)isValidIndex API_UNAVAILABLE(watchos); // Use -CGGlyphAtIndex:isValidIndex: instead
+- (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex API_UNAVAILABLE(watchos); // Use -CGGlyphAtIndex: instead
// 0.0 - 1.0. Whenever (width of the real contents of the line) / (the line fragment width) is below this value, hyphenation will be attempted when laying out the line. By default, the value is 0.0, meaning hyphenation is off. A value of 1.0 causes hyphenation to be attempted always. Note that hyphenation will slow down text layout and increase memory usage, so it should be used sparingly. Maybe overridden on a per-paragraph basis by the NSParagraphStyle's hyphenationFactor.
-@property CGFloat hyphenationFactor API_DEPRECATED("Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.", macos(10.0,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(macCatalyst);
+@property CGFloat hyphenationFactor API_DEPRECATED("Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.", macos(10.0, 10.15), ios(7.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos) API_UNAVAILABLE(macCatalyst);
// This is the glyph rendering primitive method. Renders glyphs at positions into the graphicsContext. The positions are in the user space coordinate system. graphicsContext that passed in is already configured according to the text attributes arguments: font, textMatrix, and attributes. The font argument represents the font applied to the graphics state. The value can be different from the NSFontAttributeName value in the attributes argument because of various font substitutions that the system automatically executes. The textMatrix is the affine transform mapping the text space coordinate system to the user space coordinate system. The tx and ty components of textMatrix are ignored since Quartz overrides them with the glyph positions.
-- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSUInteger)glyphCount font:(UIFont *)font matrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)graphicsContext API_DEPRECATED_WITH_REPLACEMENT("showCGGlyphs:positions:count:font:textMatrix:attributes:inContext:", macos(10.7,10.15), ios(7.0,13.0), watchos(2.0,6.0), tvos(9.0,13.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(macCatalyst);
+- (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSUInteger)glyphCount font:(UIFont *)font matrix:(CGAffineTransform)textMatrix attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes inContext:(CGContextRef)graphicsContext API_DEPRECATED_WITH_REPLACEMENT("showCGGlyphs:positions:count:font:textMatrix:attributes:inContext:", macos(10.7, 10.15), ios(7.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos) API_UNAVAILABLE(macCatalyst);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2024-04-09 04:16:18
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h 2024-05-31 08:14:18
@@ -1,24 +1,28 @@
#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/NSParagraphStyle.h>)
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSParagraphStyle.h>)
+#import <UIKit/UIKitDefines.h>
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#import <UIKit/UIKitDefines.h>
+
//
// NSParagraphStyle.h
// UIKit
//
-// Copyright (c) 2011-2018, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
//
// NSParagraphStyle and NSMutableParagraphStyle hold paragraph style information
// NSTextTab holds information about a single tab stop
-#import <Foundation/NSObject.h>
-#import <UIKit/UIKitDefines.h>
+#import <Foundation/Foundation.h>
#import <UIKit/NSText.h>
@class NSTextList;
-#if TARGET_OS_IPHONE
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
#if !__NSPARAGRAPH_STYLE_SHARED_SECTION__
#define __NSPARAGRAPH_STYLE_SHARED_SECTION__ 1
+
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, // Wrap at word boundaries, default
NSLineBreakByCharWrapping, // Wrap at character boundaries
@@ -26,43 +30,42 @@
NSLineBreakByTruncatingHead, // Truncate at head of line: "...wxyz"
NSLineBreakByTruncatingTail, // Truncate at tail of line: "abcd..."
NSLineBreakByTruncatingMiddle // Truncate middle of line: "ab...yz"
-} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0));
+} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
+// Line break strategy describes a collection of options that can affect where line breaks are placed in a paragraph.
+// This is independent from line break mode, which describes what happens when text is too long to fit within its container.
+// These options won't have any effect when used with line break modes that don't support multiple lines, like clipping or truncating middle.
typedef NS_OPTIONS(NSUInteger, NSLineBreakStrategy) {
// Don't use any line break strategies
NSLineBreakStrategyNone = 0,
// Use the push out line break strategy.
// This strategy allows the text system to "push out" individual lines by some number of words to avoid an orphan word on the last line of the paragraph.
// The current implementation usually pushes out the last line by a single word.
- NSLineBreakStrategyPushOut API_AVAILABLE(macos(10.11), ios(9.0)) = 1 << 0,
+ NSLineBreakStrategyPushOut API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 1 << 0,
// When specified, it prohibits breaking between Hangul characters. It is the preferable typesetting strategy for the modern Korean documents suitable for UI strings.
- NSLineBreakStrategyHangulWordPriority API_AVAILABLE(macos(11.0), ios(14.0)) = 1 << 1,
+ NSLineBreakStrategyHangulWordPriority API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0), visionos(1.0)) = 1 << 1,
// Use the same configuration of line break strategies that the system uses for standard UI labels. This set of line break strategies is optimized for displaying shorter strings that are common in UI labels and may not be suitable for large amounts of text.
- NSLineBreakStrategyStandard API_AVAILABLE(macos(11.0), ios(14.0)) = 0xFFFF
-};
+ NSLineBreakStrategyStandard API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0), visionos(1.0)) = 0xFFFF
+} API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
#endif // !__NSPARAGRAPH_STYLE_SHARED_SECTION__
// NSTextTab
-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.
+typedef NSString * NSTextTabOptionKey NS_TYPED_ENUM API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextTabOptionKey const NSTabColumnTerminatorsAttributeName API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.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))
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.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.
++ (NSCharacterSet *)columnTerminatorsForLocale:(nullable NSLocale *)aLocale API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.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.
-- (instancetype)initWithTextAlignment:(NSTextAlignment)alignment location:(CGFloat)loc options:(NSDictionary<NSTextTabOptionKey, id> *)options NS_DESIGNATED_INITIALIZER; // Initializes a text tab with the text alignment, location, and options. The text alignment is used to determine the position of text inside the tab column.
-
-
-@property (readonly, NS_NONATOMIC_IOSONLY) NSTextAlignment alignment; // Defines the alignment of tab column contents. NSTextAlignmentNatural and NSTextAlignmentJustified are resolved either NSTextAlignmentLeft or NSTextAlignmentRight based on the user's preferred language.
@property (readonly, NS_NONATOMIC_IOSONLY) CGFloat location; // Location of the tab stop inside the line fragment rect coordinate system
@property (readonly, NS_NONATOMIC_IOSONLY) NSDictionary<NSTextTabOptionKey, id> *options; // Optional configuration attributes
@end
// NSParagraphStyle
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0))
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.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].
@@ -71,7 +74,6 @@
@property (readonly, NS_NONATOMIC_IOSONLY) CGFloat lineSpacing; // "Leading": distance between the bottom of one line fragment and top of next (applied between lines in the same container). This value is included in the line fragment heights in layout manager.
@property (readonly, NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacing; // Distance between the bottom of this paragraph and top of next (or the beginning of its paragraphSpacingBefore, if any).
-@property (readonly, NS_NONATOMIC_IOSONLY) NSTextAlignment alignment;
// The following values are relative to the appropriate margin (depending on the paragraph direction)
@@ -93,26 +95,25 @@
@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, NS_NONATOMIC_IOSONLY) BOOL usesDefaultHyphenation API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.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
+@property (readonly,copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextTab *> *tabStops API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.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), tvos(9.0), watchos(2.0), visionos(1.0)); // The default tab interval used for locations beyond the last element in tabStops
-@property (readonly, copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos); // Array to specify the text lists containing the paragraph, nested from outermost to innermost.
+@property (readonly, copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Array to specify the text lists containing the paragraph, nested from outermost to innermost.
-@property (readonly, NS_NONATOMIC_IOSONLY) BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0)); // Tightens inter-character spacing in attempt to fit lines wider than the available space if the line break mode is one of the truncation modes before starting to truncate. NO by default. The maximum amount of tightening performed is determined by the system based on contexts such as font, line width, etc.
+@property (readonly, NS_NONATOMIC_IOSONLY) BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Tightens inter-character spacing in attempt to fit lines wider than the available space if the line break mode is one of the truncation modes before starting to truncate. NO by default. The maximum amount of tightening performed is determined by the system based on contexts such as font, line width, etc.
-@property (readonly, NS_NONATOMIC_IOSONLY) NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0)); // Specifies the line break strategies that may be used for laying out the paragraph. The default value is NSLineBreakStrategyNone.
+@property (readonly, NS_NONATOMIC_IOSONLY) NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Specifies the line break strategies that may be used for laying out the paragraph. The default value is NSLineBreakStrategyNone.
@end
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0))
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
@interface NSMutableParagraphStyle : NSParagraphStyle
@property (NS_NONATOMIC_IOSONLY) CGFloat lineSpacing;
@property (NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacing;
-@property (NS_NONATOMIC_IOSONLY) NSTextAlignment alignment;
@property (NS_NONATOMIC_IOSONLY) CGFloat firstLineHeadIndent;
@property (NS_NONATOMIC_IOSONLY) CGFloat headIndent;
@property (NS_NONATOMIC_IOSONLY) CGFloat tailIndent;
@@ -123,24 +124,58 @@
@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));
-@property (NS_NONATOMIC_IOSONLY) NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0));
-@property (NS_NONATOMIC_IOSONLY, copy) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+@property (readwrite, NS_NONATOMIC_IOSONLY) BOOL usesDefaultHyphenation API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
+@property (null_resettable, copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextTab *> *tabStops API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (NS_NONATOMIC_IOSONLY) BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (NS_NONATOMIC_IOSONLY) NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (NS_NONATOMIC_IOSONLY, copy) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
-- (void)addTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0));
-- (void)removeTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0));
+- (void)addTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (void)removeTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
-- (void)setParagraphStyle:(NSParagraphStyle *)obj API_AVAILABLE(macos(10.0), ios(9.0));
+- (void)setParagraphStyle:(NSParagraphStyle *)obj API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#else
+#import <UIFoundation/NSParagraphStyle.h>
+#endif
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/NSText.h>
+
+@class NSTextList;
+
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0))
+@interface NSTextTab ()
+- (instancetype)initWithTextAlignment:(NSTextAlignment)alignment location:(CGFloat)loc options:(NSDictionary<NSTextTabOptionKey, id> *)options NS_DESIGNATED_INITIALIZER; // Initializes a text tab with the text alignment, location, and options. The text alignment is used to determine the position of text inside the tab column.
+
+
+@property (readonly, NS_NONATOMIC_IOSONLY) NSTextAlignment alignment; // Defines the alignment of tab column contents. NSTextAlignmentNatural and NSTextAlignmentJustified are resolved either NSTextAlignmentLeft or NSTextAlignmentRight based on the user's preferred language.
+@end
+
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
+@interface NSParagraphStyle ()
+@property (readonly, NS_NONATOMIC_IOSONLY) NSTextAlignment alignment;
+@end
+
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
+@interface NSMutableParagraphStyle ()
+@property (NS_NONATOMIC_IOSONLY) NSTextAlignment alignment;
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
#elif TARGET_OS_OSX
#import <AppKit/NSParagraphStyle.h>
-#endif
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
+
#else
#import <UIKitCore/NSParagraphStyle.h>
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2024-04-26 07:47:59
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2024-05-31 08:16:57
@@ -19,7 +19,7 @@
To set a shadow on an NSAttributedString use it as a value for NSShadowAttributeName.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(6.0))
+UIKIT_EXTERN API_AVAILABLE(ios(6.0), watchos(2.0))
@interface NSShadow : NSObject <NSCopying, NSSecureCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2024-04-18 07:17:46
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h 2024-05-31 08:17:04
@@ -1,25 +1,29 @@
#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/NSStringDrawing.h>)
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSStringDrawing.h>)
+#import <UIKit/UIKitDefines.h>
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#import <UIKit/UIKitDefines.h>
+
//
// NSStringDrawing.h
// UIKit
//
-// Copyright (c) 2011-2018, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
//
-#import <Foundation/NSString.h>
+#import <Foundation/Foundation.h>
#import <CoreGraphics/CGGeometry.h>
-#import <UIKit/UIKitDefines.h>
#import <UIKit/NSAttributedString.h>
+@class NSAttributedString;
+@class NSString;
@class NSStringDrawingContext;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
-
// 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))
+UIKIT_EXTERN API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.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
@@ -34,47 +38,64 @@
@end
@interface NSString(NSStringDrawing)
-- (CGSize)sizeWithAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0));
-- (void)drawAtPoint:(CGPoint)point withAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0));
-- (void)drawInRect:(CGRect)rect withAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0));
+- (CGSize)sizeWithAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (void)drawAtPoint:(CGPoint)point withAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (void)drawInRect:(CGRect)rect withAttributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attrs API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
@interface NSAttributedString(NSStringDrawing)
-- (CGSize)size API_AVAILABLE(macos(10.0), ios(6.0));
-- (void)drawAtPoint:(CGPoint)point API_AVAILABLE(macos(10.0), ios(6.0));
-- (void)drawInRect:(CGRect)rect API_AVAILABLE(macos(10.0), ios(6.0));
+- (CGSize)size API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (void)drawAtPoint:(CGPoint)point API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (void)drawInRect:(CGRect)rect API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
typedef NS_OPTIONS(NSInteger, NSStringDrawingOptions) {
NSStringDrawingUsesLineFragmentOrigin = 1 << 0, // The specified origin is the line fragment origin, not the base line origin
NSStringDrawingUsesFontLeading = 1 << 1, // Uses the font leading for calculating line heights
NSStringDrawingUsesDeviceMetrics = 1 << 3, // Uses image glyph bounds instead of typographic bounds
- NSStringDrawingTruncatesLastVisibleLine API_AVAILABLE(macos(10.5), ios(6.0)) = 1 << 5, // Truncates and adds the ellipsis character to the last visible line if the text doesn't fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.
+ NSStringDrawingTruncatesLastVisibleLine API_AVAILABLE(macos(10.5), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 1 << 5, // Truncates and adds the ellipsis character to the last visible line if the text doesn't fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.
+}
+API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
-} API_AVAILABLE(macos(10.0), ios(6.0));
-
// NOTE: All of the following methods will default to drawing on a baseline, limiting drawing to a single line.
// To correctly draw and size multi-line text, pass NSStringDrawingUsesLineFragmentOrigin in the options parameter.
@interface NSString (NSExtendedStringDrawing)
-- (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(7.0));
-- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(7.0));
+- (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
@interface NSAttributedString (NSExtendedStringDrawing)
-- (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(6.0));
-- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(6.0));
+- (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
@end
+NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#else
+#import <UIFoundation/NSStringDrawing.h>
+#endif
+
+#import <Foundation/Foundation.h>
+#import <CoreGraphics/CGGeometry.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/NSAttributedString.h>
+
+@class NSAttributedString;
+@class NSString;
+@class NSStringDrawingContext;
+
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
/************************ Deprecated ************************/
@interface NSStringDrawingContext (NSStringDrawingContextDeprecated)
-@property (nonatomic) CGFloat minimumTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-@property (nonatomic, readonly) CGFloat actualTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property (nonatomic) CGFloat minimumTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0), watchos(2.0, 2.0)) API_UNAVAILABLE(visionos, tvos);
+@property (nonatomic, readonly) CGFloat actualTrackingAdjustment API_DEPRECATED("", ios(6.0, 7.0), watchos(2.0, 2.0)) API_UNAVAILABLE(visionos, tvos);
@end
-#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
-
NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#else
#import <UIKitCore/NSStringDrawing.h>
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2024-05-31 08:17:03
@@ -1,13 +1,35 @@
#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/NSText.h>)
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSText.h>)
+#import <UIKit/UIKitDefines.h>
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#import <UIKit/UIKitDefines.h>
+#import <Foundation/Foundation.h>
+
//
// NSText.h
// UIKit
//
-// Copyright (c) 2011-2018 Apple Inc. All rights reserved.
+// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
//
-#import <Foundation/Foundation.h>
-#if TARGET_OS_IPHONE
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+#if !__NSWRITING_DIRECTION_SHARED_SECTION__
+#define __NSWRITING_DIRECTION_SHARED_SECTION__ 1
+#pragma mark NSWritingDirection
+typedef NS_ENUM(NSInteger, NSWritingDirection) {
+ NSWritingDirectionNatural = -1, // Determines direction using the Unicode Bidi Algorithm rules P2 and P3
+ NSWritingDirectionLeftToRight = 0, // Left to right writing direction
+ NSWritingDirectionRightToLeft = 1 // Right to left writing direction
+} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
+#endif // !__NSWRITING_DIRECTION_SHARED_SECTION__
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#else
+#import <UIFoundation/NSText.h>
+#endif
+
#if __has_include(<CoreText/CTParagraphStyle.h>)
#import <CoreText/CTParagraphStyle.h>
#endif
@@ -15,8 +37,8 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if !__NSTEXT_SHARED_SECTION__
-#define __NSTEXT_SHARED_SECTION__ 1
+#if !__NSTEXT_ALIGNMENT_SHARED_SECTION__
+#define __NSTEXT_ALIGNMENT_SHARED_SECTION__ 1
/* Values for NSTextAlignment */
typedef NS_ENUM(NSInteger, NSTextAlignment) {
NSTextAlignmentLeft = 0, // Visually left aligned
@@ -29,26 +51,16 @@
#endif
NSTextAlignmentJustified = 3, // Fully-justified. The last line in a paragraph is natural-aligned.
NSTextAlignmentNatural = 4 // Indicates the default alignment for script
-} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0));
+} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
+#endif // !__NSTEXT_ALIGNMENT_SHARED_SECTION__
-/* Values for NSWritingDirection */
-typedef NS_ENUM(NSInteger, NSWritingDirection) {
- NSWritingDirectionNatural = -1, // Determines direction using the Unicode Bidi Algorithm rules P2 and P3
- NSWritingDirectionLeftToRight = 0, // Left to right writing direction
- NSWritingDirectionRightToLeft = 1 // Right to left writing direction
-} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0));
-#endif // !__NSTEXT_SHARED_SECTION__
-
#if __has_include(<CoreText/CTParagraphStyle.h>)
UIKIT_SWIFT_FORWARD_DECLARE(typedef CF_ENUM(uint8_t, CTTextAlignment))
-UIKIT_EXTERN CTTextAlignment NSTextAlignmentToCTTextAlignment(NSTextAlignment nsTextAlignment) API_AVAILABLE(ios(6.0));
-UIKIT_EXTERN NSTextAlignment NSTextAlignmentFromCTTextAlignment(CTTextAlignment ctTextAlignment) API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN CTTextAlignment NSTextAlignmentToCTTextAlignment(NSTextAlignment nsTextAlignment) API_AVAILABLE(ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextAlignment NSTextAlignmentFromCTTextAlignment(CTTextAlignment ctTextAlignment) API_AVAILABLE(ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
#endif
NS_HEADER_AUDIT_END(nullability, sendability)
-#elif TARGET_OS_OSX
-#import <AppKit/NSText.h>
-#endif
#else
#import <UIKitCore/NSText.h>
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2024-04-18 07:24:24
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h 2024-05-30 15:34:28
@@ -5,7 +5,7 @@
// NSTextAttachment.h
// UIKit
//
-// Copyright (c) 2011-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2011-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
@@ -14,8 +14,8 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
enum {
- NSAttachmentCharacter API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos) = 0xFFFC // Replacement character is used for attachments
-};
+ NSAttachmentCharacter API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 0xFFFC // Replacement character is used for attachments
+} API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
@class NSTextContainer;
@class NSLayoutManager;
@@ -26,55 +26,42 @@
@class NSTextLayoutManager;
@protocol NSTextLocation;
-
-// This protocol defines the interface to attachment objects from NSLayoutManager
-@protocol NSTextAttachmentContainer <NSObject>
-// This protocol is available only for Objective-C 2 or later architecture
-
-// Returns the image object rendered by NSLayoutManager at imageBounds inside textContainer. It should return an image appropriate for the target rendering context derived by arguments to this method. The NSTextAttachment implementation returns -image when non-nil. If -image==nil, it returns an image based on -contents and -fileType properties.
-- (nullable UIImage *)imageForBounds:(CGRect)imageBounds textContainer:(nullable NSTextContainer *)textContainer characterIndex:(NSUInteger)charIndex API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-
-
-// Returns the layout bounds to the layout manager. The bounds origin is interpreted to match position inside lineFrag. The NSTextAttachment implementation returns -bounds if not CGRectZero; otherwise, it derives the bounds value from -[image size]. Conforming objects can implement more sophisticated logic for negotiating the frame size based on the available container space and proposed line fragment rect.
-- (CGRect)attachmentBoundsForTextContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-
-@end
-
// This protocol defines the interface to attachment objects from NSTextLayoutManager
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0))
@protocol NSTextAttachmentLayout <NSObject>
// Returns the image object rendered at bounds inside textContainer. It should return an image appropriate for the target rendering context derived by arguments to this method. The NSTextAttachment implementation returns -image when non-nil. If -image==nil, it returns an image based on -contents and -fileType properties.
-- (nullable UIImage *)imageForBounds:(CGRect)bounds attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+- (nullable UIImage *)imageForBounds:(CGRect)bounds attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
// Returns the layout bounds. The bounds origin is interpreted to match position inside proposedLineFragment. The NSTextAttachment implementation returns -bounds if not CGRectZero; otherwise, it derives the bounds value from image.size. Conforming objects can implement more sophisticated logic for negotiating the frame size based on the available container space and proposed line fragment rect.
-- (CGRect)attachmentBoundsForAttributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)proposedLineFragment position:(CGPoint)position API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+- (CGRect)attachmentBoundsForAttributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)proposedLineFragment position:(CGPoint)position API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
// Returns the text attachment view provider corresponding to -fileType. The default implementation queries the text attachment view provider class via +[NSTextAttachment textAttachmentViewProviderClassForFileType:]. When non-nil, it instantiates a view, then, fills properties declared in NSTextAttachmentViewProvider if implemented
-- (nullable NSTextAttachmentViewProvider *)viewProviderForParentView:(nullable UIView *)parentView location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+- (nullable NSTextAttachmentViewProvider *)viewProviderForParentView:(nullable UIView *)parentView location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
@end
-API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos) @interface NSTextAttachment : NSObject <NSTextAttachmentLayout, NSTextAttachmentContainer, NSSecureCoding>
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) @interface NSTextAttachment : NSObject <NSTextAttachmentLayout, NSSecureCoding>
/**************************** Initialization ****************************/
// Designated initializer. Both arguments can be nil. When contentData==nil || uti==nil, the receiver is consider to be an attachment without document contents. In this case, the NSAttributedString methods writing external file format tries to save the return value of -[NSTextAttachment image] instead.
-- (instancetype)initWithData:(nullable NSData *)contentData ofType:(nullable NSString *)uti NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithData:(nullable NSData *)contentData ofType:(nullable NSString *)uti NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
/**************************** Content properties ****************************/
// These two properties define the contents for the text attachment. Modifying these properties have a side effect of invalidating -image and -fileWrapper properties. -fileType is an UTI describing the format for -contents.
-@property (nullable, copy, NS_NONATOMIC_IOSONLY) NSData *contents API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-@property (nullable, copy, NS_NONATOMIC_IOSONLY) NSString *fileType API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+@property (nullable, copy, NS_NONATOMIC_IOSONLY) NSData *contents API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (nullable, copy, NS_NONATOMIC_IOSONLY) NSString *fileType API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
/**************************** Rendering/layout properties ****************************/
// Image representing the text attachment contents. Modifying this property invalidates -contents, -fileType, and -FileWrapper properties.
-@property (nullable, strong, NS_NONATOMIC_IOSONLY) UIImage *image API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+@property (nullable, strong, NS_NONATOMIC_IOSONLY) UIImage *image API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
// Defines the layout bounds of the receiver's graphical representation in the text coordinate system. The origin is at the glyph location on the text baseline. The default value is CGRectZero.
-@property (NS_NONATOMIC_IOSONLY) CGRect bounds API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+@property (NS_NONATOMIC_IOSONLY) CGRect bounds API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
/**************************** Non-image contents properties ****************************/
@@ -84,27 +71,30 @@
#pragma mark Advanced Layout Properties
// Layout padding before and after the text attachment bounds. The layout and rendering bounds X origin gets inset by the padding value. This affects the relationship between the text attachment bounds. 0.0 by default
-@property CGFloat lineLayoutPadding API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+@property CGFloat lineLayoutPadding API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
#pragma mark View-based attachments
// Factory methods for defining the mapping between UTI and text attachment view provider class
-+ (nullable Class)textAttachmentViewProviderClassForFileType:(NSString *)fileType API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-+ (void)registerTextAttachmentViewProviderClass:(Class)textAttachmentViewProviderClass forFileType:(NSString *)fileType API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
++ (nullable Class)textAttachmentViewProviderClassForFileType:(NSString *)fileType API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
++ (void)registerTextAttachmentViewProviderClass:(Class)textAttachmentViewProviderClass forFileType:(NSString *)fileType API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// When YES, the text attachment tries to use a text attachment view returned by -viewProviderForParentView:location:textContainer:. YES by default
-@property BOOL allowsTextAttachmentView API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+@property BOOL allowsTextAttachmentView API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// Returns YES if the text attachment is configured to use text attachment views. By default, it checks -allowsTextAttachmentView, +textAttachmentViewClassForFileType:, and its contents
-@property (readonly) BOOL usesTextAttachmentView API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+@property (readonly) BOOL usesTextAttachmentView API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
@end
@interface NSAttributedString (NSAttributedStringAttachmentConveniences)
// A convenience method for creating an attributed string containing attachment using NSAttachmentCharacter as the base character.
-+ (NSAttributedString *)attributedStringWithAttachment:(NSTextAttachment *)attachment API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
++ (NSAttributedString *)attributedStringWithAttachment:(NSTextAttachment *)attachment API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+
+// A convenience method for creating an attributed string containing an attachment with attributes using NSAttachmentCharacter as the base character.
++ (instancetype)attributedStringWithAttachment:(NSTextAttachment *)attachment attributes:(NSDictionary<NSAttributedStringKey, id> *)attributes API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
@end
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextAttachmentViewProvider : NSObject
- (instancetype)initWithTextAttachment:(NSTextAttachment *)textAttachment parentView:(nullable UIView *)parentView textLayoutManager:(nullable NSTextLayoutManager *)textLayoutManager location:(id <NSTextLocation>)location NS_DESIGNATED_INITIALIZER;
@@ -130,7 +120,23 @@
- (CGRect)attachmentBoundsForAttributes:(NSDictionary<NSAttributedStringKey, id> *)attributes location:(id <NSTextLocation>)location textContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)proposedLineFragment position:(CGPoint)position;
@end
+// This protocol defines the interface to attachment objects from NSLayoutManager
+API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextAttachmentContainer <NSObject>
+// This protocol is available only for Objective-C 2 or later architecture
+// Returns the image object rendered by NSLayoutManager at imageBounds inside textContainer. It should return an image appropriate for the target rendering context derived by arguments to this method. The NSTextAttachment implementation returns -image when non-nil. If -image==nil, it returns an image based on -contents and -fileType properties.
+- (nullable UIImage *)imageForBounds:(CGRect)imageBounds textContainer:(nullable NSTextContainer *)textContainer characterIndex:(NSUInteger)charIndex API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+
+// Returns the layout bounds to the layout manager. The bounds origin is interpreted to match position inside lineFrag. The NSTextAttachment implementation returns -bounds if not CGRectZero; otherwise, it derives the bounds value from -[image size]. Conforming objects can implement more sophisticated logic for negotiating the frame size based on the available container space and proposed line fragment rect.
+- (CGRect)attachmentBoundsForTextContainer:(nullable NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@interface NSTextAttachment(NSTextAttachment_Deprecation) <NSTextAttachmentContainer>
+@end
NS_HEADER_AUDIT_END(nullability, sendability)
#else
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2024-04-26 07:47:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h 2024-05-30 15:54:20
@@ -1,54 +1,40 @@
#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/NSTextContainer.h>)
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextContainer.h>)
+#import <UIKit/UIKitDefines.h>
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#import <UIKit/UIKitDefines.h>
+
//
// NSTextContainer.h
// UIKit
//
-// Copyright (c) 2011-2018, Apple Inc. All rights reserved.
+// Copyright (c) 1994-2024, Apple Inc. All rights reserved.
//
-
-#import <Foundation/NSObject.h>
+#import <Foundation/Foundation.h>
#import <UIKit/NSParagraphStyle.h>
-#import <UIKit/UIKitDefines.h>
-#import <UIKit/NSLayoutManager.h>
-@class UIBezierPath;
@class NSTextLayoutManager;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@interface NSTextContainer : NSObject <NSSecureCoding>
-UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0))
-@interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
-
/**************************** Initialization ****************************/
-- (instancetype)initWithSize:(CGSize)size NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(10.11), ios(7.0));
+- (instancetype)initWithSize:(CGSize)size NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
-
-/**************************** Layout ****************************/
-
-// Accessor for the NSLayoutManager object owning the receiver.
-// Avoid assigning a layout manager directly through this property. Adding a text container to a layout manager through -[NSLayoutManager addTextContainer:] will use the property for assigning the new layout manager.
-@property (nullable, assign, NS_NONATOMIC_IOSONLY) NSLayoutManager *layoutManager;
-
-// 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);
+@property (weak, nullable, readonly, NS_NONATOMIC_IOSONLY) NSTextLayoutManager *textLayoutManager API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
/************************* Container shape properties *************************/
// Default value: CGSizeZero Defines the maximum size for the layout area returned from -lineFragmentRectForProposedRect:writingDirection:remainingRect:. 0.0 and less means no limitation.
-@property (NS_NONATOMIC_IOSONLY) CGSize size API_AVAILABLE(macos(10.11), ios(7.0));
+@property (NS_NONATOMIC_IOSONLY) CGSize size API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
-// Default value : empty array An array of UIBezierPath representing the exclusion paths inside the receiver's bounding rect.
-@property (copy, NS_NONATOMIC_IOSONLY) NSArray<UIBezierPath *> *exclusionPaths API_AVAILABLE(macos(10.11), ios(7.0));
-
// Default value: NSLineBreakByWordWrapping The line break mode defines the behavior of the last line inside the text container.
-@property (NS_NONATOMIC_IOSONLY) NSLineBreakMode lineBreakMode API_AVAILABLE(macos(10.11), ios(7.0));
+@property (NS_NONATOMIC_IOSONLY) NSLineBreakMode lineBreakMode API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
/************************* Layout constraint properties *************************/
@@ -56,15 +42,15 @@
@property (NS_NONATOMIC_IOSONLY) CGFloat lineFragmentPadding;
// Default value: 0 (no limit) The maximum number of lines that can be stored in the receiver. This value is utilized by NSLayoutManager for determining the maximum number of lines associated with the text container.
-@property (NS_NONATOMIC_IOSONLY) NSUInteger maximumNumberOfLines API_AVAILABLE(macos(10.11), ios(7.0));
+@property (NS_NONATOMIC_IOSONLY) NSUInteger maximumNumberOfLines API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
/**************************** Line fragments ****************************/
// Returns the bounds of a line fragment rect inside the receiver for proposedRect. This is the intersection of proposedRect and the receiver's bounding rect defined by -size property. The regions defined by -exclusionPaths property are excluded from the return value. charIndex is the character location inside the text storage for the line fragment being processed. It is possible that proposedRect can be divided into multiple line fragments due to exclusion paths. In that case, remainingRect returns the remainder that can be passed in as the proposed rect for the next iteration. baseWritingDirection determines the direction of advancement for line fragments inside a visual horizontal line. The values passed into the method are either NSWritingDirectionLeftToRight or NSWritingDirectionRightToLeft. This method can be overridden by subclasses for further text container region customization.
-- (CGRect)lineFragmentRectForProposedRect:(CGRect)proposedRect atIndex:(NSUInteger)characterIndex writingDirection:(NSWritingDirection)baseWritingDirection remainingRect:(nullable CGRect *)remainingRect API_AVAILABLE(macos(10.11), ios(7.0));
+- (CGRect)lineFragmentRectForProposedRect:(CGRect)proposedRect atIndex:(NSUInteger)characterIndex writingDirection:(NSWritingDirection)baseWritingDirection remainingRect:(nullable CGRect *)remainingRect API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// Returns YES if the receiver is a rectangular shape defined simply by -size. TextKit utilizes this information for enabling various layout optimizations. NSLayoutManager disables non-contiguous layout when this property is NO. The default implementation returns NO when -exclusionPaths has 1 or more items, -maximumNumberOfLines is not 0, or -lineFragmentRectForProposedRect:atIndex:writingDirection:remainingRect: is overridden. It's recommended to override this property when -lineFragmentRectForProposedRect:atIndex:writingDirection:remainingRect: is overridden.
-@property (getter=isSimpleRectangularTextContainer, readonly, NS_NONATOMIC_IOSONLY) BOOL simpleRectangularTextContainer API_AVAILABLE(macos(10.0), ios(9.0));
+@property (getter=isSimpleRectangularTextContainer, readonly, NS_NONATOMIC_IOSONLY) BOOL simpleRectangularTextContainer API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
/**************************** View synchronization ****************************/
@@ -75,9 +61,39 @@
@end
-#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
+NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+#else
+#import <UIFoundation/NSTextContainer.h>
+#endif
+#import <Foundation/Foundation.h>
+#import <UIKit/NSParagraphStyle.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/NSLayoutManager.h>
+
+@class UIBezierPath;
+@class NSTextLayoutManager;
+
+#if UIKIT_HAS_UIFOUNDATION_SYMBOLS && !TARGET_OS_OSX
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@interface NSTextContainer () <NSTextLayoutOrientationProvider>
+
+// Accessor for the NSLayoutManager object owning the receiver.
+// Avoid assigning a layout manager directly through this property. Adding a text container to a layout manager through -[NSLayoutManager addTextContainer:] will use the property for assigning the new layout manager.
+@property (nullable, assign, NS_NONATOMIC_IOSONLY) NSLayoutManager *layoutManager API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+// 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 NS_SWIFT_NAME(replaceLayoutManager(_:)) API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+// Default value : empty array An array of UIBezierPath representing the exclusion paths inside the receiver's bounding rect.
+@property (copy, NS_NONATOMIC_IOSONLY) NSArray<UIBezierPath *> *exclusionPaths API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+@end
+
NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#else
#import <UIKitCore/NSTextContainer.h>
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 2024-04-09 03:52:15
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h 2024-05-30 15:38:19
@@ -3,7 +3,7 @@
// NSTextContentManager.h
// Text Kit
//
-// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
@@ -26,10 +26,10 @@
typedef NS_OPTIONS(NSUInteger, NSTextContentManagerEnumerationOptions) {
NSTextContentManagerEnumerationOptionsNone = 0,
NSTextContentManagerEnumerationOptionsReverse = (1 << 0)
-} 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), visionos(1.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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.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;
@@ -56,7 +56,7 @@
#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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextContentManager : NSObject <NSTextElementProvider, NSSecureCoding>
#pragma mark Initialization
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -100,7 +100,7 @@
@end
#pragma mark NSTextContentManagerDelegate
-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), visionos(1.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.
@@ -111,7 +111,7 @@
@end
#pragma mark NSTextContentStorageDelegate
-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), visionos(1.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.
@@ -120,7 +120,7 @@
#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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextContentStorage : NSTextContentManager <NSTextStorageObserving>
#pragma mark Basic properties
@property (weak, nullable) id <NSTextContentStorageDelegate> delegate;
@@ -148,7 +148,7 @@
@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);
+UIKIT_EXTERN NSNotificationName NSTextContentStorageUnsupportedAttributeAddedNotification API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
NS_HEADER_AUDIT_END(nullability, sendability)
#else
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 2024-04-26 07:26:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextElement.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextElement.h
// Text Kit
//
-// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
//
@@ -15,7 +15,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
// 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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextElement : NSObject
#pragma mark Initialization
- (instancetype)initWithTextContentManager:(nullable NSTextContentManager *)textContentManager NS_DESIGNATED_INITIALIZER;
@@ -30,19 +30,19 @@
#pragma mark Child Elements
// A concrete NSTextElement subclass can be structured in a tree. An element can have zero or more child elements. This section provides interface for supporting such a configuration.
// Returns an array of children. The array can contain zero or more elements.
-@property (readonly, copy) NSArray<__kindof NSTextElement *> *childElements API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+@property (readonly, copy) NSArray<__kindof NSTextElement *> *childElements API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// Returns the parent element if the receiver is a child.
-@property (nullable, readonly, weak) __kindof NSTextElement *parentElement API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+@property (nullable, readonly, weak) __kindof NSTextElement *parentElement API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// Returns YES if it is an element represented in text layout. It is enumerated by NSTextContentManager.
-@property (readonly) BOOL isRepresentedElement API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+@property (readonly) BOOL isRepresentedElement API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
@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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextParagraph : NSTextElement
#pragma mark Initialization
- (instancetype)initWithAttributedString:(nullable NSAttributedString *)attributedString NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2024-04-25 04:46:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutFragment.h 2024-05-30 15:34:28
@@ -3,7 +3,7 @@
// NSTextLayoutFragment.h
// Text Kit
//
-// Copyright (c) 2017-2023, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
@@ -28,16 +28,16 @@
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);
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.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), visionos(1.0)) API_UNAVAILABLE(watchos);
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextLayoutFragment : NSObject <NSSecureCoding>
#pragma mark Initialization
- (instancetype)initWithTextElement:(NSTextElement *)textElement range:(nullable NSTextRange *)rangeInElement NS_DESIGNATED_INITIALIZER;
@@ -60,10 +60,10 @@
@property (copy, readonly) NSArray<NSTextLineFragment *> *textLineFragments;
// Returns the NSTextLineFragment containing verticalOffset if found. When requiresExactMatch=NO, it returns the closest line fragment beyond verticalOffset if no line fragment contains verticalOffset.
-- (nullable NSTextLineFragment *)textLineFragmentForVerticalOffset:(CGFloat)verticalOffset requiresExactMatch:(BOOL)requiresExactMatch API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+- (nullable NSTextLineFragment *)textLineFragmentForVerticalOffset:(CGFloat)verticalOffset requiresExactMatch:(BOOL)requiresExactMatch API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// Returns the NSTextLineFragment containing textLocation. When isUpstreamAffinity=YES, it returns the text line fragment ending at textLocation.
-- (nullable NSTextLineFragment *)textLineFragmentForTextLocation:(id <NSTextLocation>)textLocation isUpstreamAffinity:(BOOL)isUpstreamAffinity API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+- (nullable NSTextLineFragment *)textLineFragmentForTextLocation:(id <NSTextLocation>)textLocation isUpstreamAffinity:(BOOL)isUpstreamAffinity API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos);
// When non-nil, the layout operation is dispatched to the queue asynchronously.
@property (nullable, strong) NSOperationQueue *layoutQueue;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 2024-04-25 04:46:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h 2024-05-31 06:51:18
@@ -3,7 +3,7 @@
// NSTextLayoutManager.h
// Text Kit
//
-// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
//
@@ -28,7 +28,7 @@
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);
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSUInteger, NSTextLayoutManagerSegmentOptions) {
NSTextLayoutManagerSegmentOptionsNone = 0,
@@ -37,10 +37,10 @@
NSTextLayoutManagerSegmentOptionsHeadSegmentExtended = (1 << 2), // When specified, the segment is extended to the head edge
NSTextLayoutManagerSegmentOptionsTailSegmentExtended = (1 << 3), // When specified, the segment is extended to the tail edge.
NSTextLayoutManagerSegmentOptionsUpstreamAffinity = (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);
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextLayoutManager : NSObject <NSSecureCoding, NSTextSelectionDataSource>
#pragma mark Initialization
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -142,7 +142,7 @@
@end
#pragma mark NSTextLayoutManagerDelegate
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@protocol NSTextLayoutManagerDelegate <NSObject>
@optional
// NSTextLayoutFragment management
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 2024-04-26 07:26:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLineFragment.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextLineFragment.h
// Text Kit
//
-// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSArray.h>
@@ -14,7 +14,7 @@
#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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextLineFragment : NSObject <NSSecureCoding>
#pragma mark Initialization
- (instancetype)initWithAttributedString:(NSAttributedString *)attributedString range:(NSRange)range NS_DESIGNATED_INITIALIZER;
@@ -39,7 +39,7 @@
// 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
+// Renders the line fragment contents at the rendering origin. The origin can be specified as (CGRectGetMinX(typographicBounds), CGRectGetMinY(typographicBounds)) relative to the parent layout fragment coordinate system.
- (void)drawAtPoint:(CGPoint)point inContext:(CGContextRef)context;
#pragma mark Character and point mappings
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h 2024-04-09 03:52:15
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextList.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextList.h
// Text Kit
//
-// Copyright (c) 2004-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2004-2024, Apple Inc. All rights reserved.
#import <Foundation/NSObject.h>
#import <UIKit/UIKitDefines.h>
@@ -12,33 +12,33 @@
// NSTextList represents a stylistic format of a group of text list items belonging to the same nested level. It supports both ordered and unordered lists. The type of marker is defined by markerFormat.
typedef NS_OPTIONS(NSUInteger, NSTextListOptions) {
- NSTextListPrependEnclosingMarker API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos) = (1 << 0), // All marker strings up to the top-level parent are concatenated to the marker string used by the text list item.
-};
+ NSTextListPrependEnclosingMarker API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)) = (1 << 0), // All marker strings up to the top-level parent are concatenated to the marker string used by the text list item.
+} API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
-typedef NSString * NSTextListMarkerFormat NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerBox API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerCheck API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerCircle API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDiamond API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDisc API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerHyphen API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerSquare API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseHexadecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseHexadecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerOctal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseAlpha API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseAlpha API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseLatin API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseLatin API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseRoman API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseRoman API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
+typedef NSString * NSTextListMarkerFormat NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerBox API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerCheck API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerCircle API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDiamond API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDisc API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerHyphen API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerSquare API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseHexadecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseHexadecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerOctal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseAlpha API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseAlpha API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseLatin API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseLatin API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerLowercaseRoman API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerUppercaseRoman API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+UIKIT_EXTERN NSTextListMarkerFormat const NSTextListMarkerDecimal API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
-API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos)
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0))
@interface NSTextList : NSObject <NSSecureCoding, NSCopying>
#pragma mark Initialization
-- (instancetype)initWithMarkerFormat:(NSTextListMarkerFormat)markerFormat options:(NSTextListOptions)options startingItemNumber:(NSInteger)startingItemNumber NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithMarkerFormat:(NSTextListMarkerFormat)markerFormat options:(NSTextListOptions)options startingItemNumber:(NSInteger)startingItemNumber NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0), visionos(1.0));
- (instancetype)initWithMarkerFormat:(NSTextListMarkerFormat)markerFormat options:(NSUInteger)options;
- (nullable instancetype) initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -52,7 +52,7 @@
@property NSInteger startingItemNumber;
// Yes if markerFormat is an ordered text list type
-@property (readonly, getter=isOrdered) BOOL ordered API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+@property (readonly, getter=isOrdered) BOOL ordered API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0), visionos(1.0));
#pragma mark Resolved Marker String
// Returns the marker corresponding to itemNumber. itemNumber is ignored if < 1 or isOrdered==NO.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h 2024-04-26 07:26:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextListElement.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextListElement.h
// Text Kit
//
-// Copyright (c) 2021, Apple Inc. All rights reserved.
+// Copyright (c) 2021-2022, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -16,7 +16,7 @@
// NSTextListElement is a concrete subclass of NSTextElement representing a text list node. It can contain an array of child element. A text list can be represented by a tree of NSTextListElements.
#pragma mark NSTextListElement
-API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos)
+API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextListElement : NSTextParagraph
#pragma mark Initializer
// Designated initializer. Initializes 2 types of NSTextListElement: a standard list item and nesting parent element. Either of contents, markerAttributes, or childElements must be non-nil. Clients should typically use one of 2 factory methods below for instantiating with a specific type. When markerAttributes!=nil, it will be used to format the marker; otherwise, it is derived from contents.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 2024-04-26 07:26:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextRange.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextRange.h
// Text Kit
//
-// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
@@ -12,16 +12,16 @@
#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
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0)) 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);
+- (NSComparisonResult)compare:(id <NSTextLocation>)location API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
@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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0))
@interface NSTextRange : NSObject
#pragma mark Initialization
// Returns an empty range when endLocation=nil
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 2024-04-26 07:26:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelection.h 2024-06-01 03:49:14
@@ -3,7 +3,7 @@
// NSTextSelection.h
// Text Kit
//
-// Copyright (c) 2018-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2018-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSAttributedString.h>
@@ -23,14 +23,14 @@
NSTextSelectionGranularityParagraph,
NSTextSelectionGranularityLine,
NSTextSelectionGranularitySentence
-} 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), visionos(1.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), visionos(1.0)) API_UNAVAILABLE(watchos);
-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), visionos(1.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.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 2024-04-09 03:51:42
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextSelectionNavigation.h 2024-05-30 15:38:19
@@ -3,7 +3,7 @@
// NSTextSelectionNavigation.h
// Text Kit
//
-// Copyright (c) 2019-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2019-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
@@ -32,7 +32,7 @@
NSTextSelectionNavigationDirectionLeft,
NSTextSelectionNavigationDirectionUp,
NSTextSelectionNavigationDirectionDown
-} 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), visionos(1.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
@@ -42,25 +42,25 @@
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);
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.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), visionos(1.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, NSTextSelectionNavigationWritingDirection) {
NSTextSelectionNavigationWritingDirectionLeftToRight = 0, // Left to right writing direction
NSTextSelectionNavigationWritingDirectionRightToLeft = 1 // Right to left writing direction
-} 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), visionos(1.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, NSTextSelectionNavigationLayoutOrientation) {
NSTextSelectionNavigationLayoutOrientationHorizontal = 0, // Lines rendered horizontally, grow top to bottom
NSTextSelectionNavigationLayoutOrientationVertical = 1, // Lines rendered vertically, grow right to left
-} 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), visionos(1.0)) API_UNAVAILABLE(watchos);
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextSelectionNavigation : NSObject
#pragma mark Initialization
- (instancetype)initWithDataSource:(id <NSTextSelectionDataSource>)dataSource NS_DESIGNATED_INITIALIZER;
@@ -103,7 +103,7 @@
- (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)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
@protocol NSTextSelectionDataSource <NSObject>
@required
// Declares the starting and ending locations for the document.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h 2024-04-09 04:16:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextStorage.h 2024-05-31 07:34:49
@@ -23,7 +23,7 @@
typedef NS_OPTIONS(NSUInteger, NSTextStorageEditActions) {
NSTextStorageEditedAttributes = (1 << 0),
NSTextStorageEditedCharacters = (1 << 1)
-} API_AVAILABLE(macos(10.11), ios(7.0));
+} API_AVAILABLE(macos(10.11), ios(7.0)) API_UNAVAILABLE(watchos);
/* Note for subclassing NSTextStorage: NSTextStorage is a semi-abstract subclass of NSMutableAttributedString. It implements change management (beginEditing/endEditing), verification of attributes, delegate handling, and layout management notification. The one aspect it does not implement is the actual attributed string storage --- this is left up to the subclassers, which need to override the two NSMutableAttributedString primitives in addition to two NSAttributedString primitives:
@@ -37,7 +37,7 @@
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))
+UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0)) API_UNAVAILABLE(watchos)
@interface NSTextStorage : NSMutableAttributedString <NSSecureCoding>
/**************************** Layout manager ****************************/
@@ -98,7 +98,7 @@
/**** NSTextStorage delegate methods ****/
-@protocol NSTextStorageDelegate <NSObject>
+API_UNAVAILABLE(watchos) @protocol NSTextStorageDelegate <NSObject>
@optional
// Sent inside -processEditing right before fixing attributes. Delegates can change the characters or attributes.
@@ -111,8 +111,8 @@
/**** Notifications ****/
-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));
+UIKIT_EXTERN NSNotificationName const NSTextStorageWillProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const NSTextStorageDidProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0)) API_UNAVAILABLE(watchos);
#pragma mark NSTextStorageObserving
// NSTextStorageObserving defines the protocol for NSTextStorage controller objects observing changes in the text backing-store.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h 2024-04-26 07:26:40
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextViewportLayoutController.h 2024-05-31 07:31:47
@@ -3,7 +3,7 @@
// NSTextViewportLayoutController.h
// Text Kit
//
-// Copyright (c) 2017-2021, Apple Inc. All rights reserved.
+// Copyright (c) 2017-2024, Apple Inc. All rights reserved.
//
#import <Foundation/NSObject.h>
@@ -11,8 +11,8 @@
@class NSTextRange;
@class NSTextLayoutManager;
-@class NSTextLayoutFragment;
@class NSTextViewportLayoutController;
+@class NSTextLayoutFragment;
@protocol NSTextLocation;
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -20,7 +20,7 @@
// A viewport is a rectangular area within a flipped coordinate system expanding along the y-axis. With text contents, lines advance along the expanding direction typically. It defines the active area where text layout fragments laid out. The area corresponds to the user visible area with additional over-scroll region in most cases. NSTextViewportLayoutController manages the layout process inside the viewport interacting with its delegate.
#pragma mark NSTextViewportLayoutControllerDelegate
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@protocol NSTextViewportLayoutControllerDelegate <NSObject>
#pragma mark Properties
// The current viewport, typically the view visible bounds with overdraw.
@@ -45,7 +45,7 @@
@end
#pragma mark NSTextViewportLayoutController
-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), visionos(1.0)) API_UNAVAILABLE(watchos)
@interface NSTextViewportLayoutController : NSObject
#pragma mark Initialization
- (instancetype)initWithTextLayoutManager:(NSTextLayoutManager *)textLayoutManager NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/ShareSheet.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/ShareSheet.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/ShareSheet.h 2024-04-19 07:58:28
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/ShareSheet.h 2024-05-31 06:52:53
@@ -7,7 +7,9 @@
#if __has_include(<UIKit/UIActivity.h>)
#import <UIKit/UIActivity.h>
+#import <UIKit/UIActivityCollaborationModeRestriction.h>
#import <UIKit/UIActivityItemProvider.h>
+#import <UIKit/UIActivityItemsConfigurationReading+ShareSheet.h>
#import <UIKit/UIActivityViewController.h>
#import <UIKit/UIDocumentInteractionController.h>
#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2024-04-26 07:48:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h 2024-05-31 08:16:59
@@ -14,11 +14,11 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-typedef double UIAccelerationValue API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos);
+typedef double UIAccelerationValue API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos);
@protocol UIAccelerometerDelegate;
-UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(visionos, tvos, watchos) 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(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIAccelerometer has been replaced by the CoreMotion framework", ios(2.0, 5.0)) API_UNAVAILABLE(visionos, tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIAccelerometer : NSObject
+ (UIAccelerometer *)sharedAccelerometer;
@@ -38,11 +38,11 @@
@end
-API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_DEPRECATED("UIAcceleration has been replaced by the CoreMotion framework", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UIAccelerometerDelegate<NSObject>
@optional
-- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration API_DEPRECATED("", ios(2.0, 5.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos);
+- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration API_DEPRECATED("", ios(2.0, 5.0)) API_UNAVAILABLE(tvos, visionos, watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h 2024-04-18 07:56:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h 2024-05-31 08:16:57
@@ -41,6 +41,7 @@
UIAccessibility methods except accessibilityFrame.
*/
+API_UNAVAILABLE(watchos)
@interface NSObject (UIAccessibility)
/*
@@ -67,7 +68,7 @@
The underlying attributed version of the accessibility label. Setting this property will change the
value of the accessibilityLabel property and vice-versa.
*/
-@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedLabel API_AVAILABLE(ios(11.0),tvos(11.0));
+@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedLabel API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/*
Returns a localized string that describes the result of performing an action on the element, when the result is non-obvious.
@@ -82,7 +83,7 @@
The underlying attributed version of the accessibility hint. Setting this property will change the
value of the accessibilityHint property and vice-versa.
*/
-@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedHint API_AVAILABLE(ios(11.0),tvos(11.0));
+@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedHint API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/*
Returns a localized string that represents the value of the element, such as the value
@@ -98,7 +99,7 @@
The underlying attributed version of the accessibility value. Setting this property will change the
value of the accessibilityValue property and vice-versa.
*/
-@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedValue API_AVAILABLE(ios(11.0),tvos(11.0));
+@property (nullable, nonatomic, copy) NSAttributedString *accessibilityAttributedValue API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/*
Returns a UIAccessibilityTraits mask that is the OR combination of
@@ -123,7 +124,7 @@
// The accessibilityFrame is expected to be in screen coordinates.
// To help convert the frame to screen coordinates, use the following method.
// The rect should exist in the view space of the UIView argument.
-UIKIT_EXTERN CGRect UIAccessibilityConvertFrameToScreenCoordinates(CGRect rect, UIView *view) API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN CGRect UIAccessibilityConvertFrameToScreenCoordinates(CGRect rect, UIView *view) API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
/*
Returns the path of the element in screen coordinates.
@@ -136,7 +137,7 @@
// The accessibilityPath is expected to be in screen coordinates.
// To help convert the path to screen coordinates, use the following method.
// The path should exist in the view space of the UIView argument.
-UIKIT_EXTERN UIBezierPath *UIAccessibilityConvertPathToScreenCoordinates(UIBezierPath *path, UIView *view) API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIBezierPath *UIAccessibilityConvertPathToScreenCoordinates(UIBezierPath *path, UIView *view) API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
/*
Returns the activation point for an accessible element in screen coordinates.
@@ -190,7 +191,7 @@
A label whose only purpose is to display information should return NO.
default == derived from other accessibility properties (for example, an element with UIAccessibilityTraitNotEnabled returns NO)
*/
-@property (nonatomic) BOOL accessibilityRespondsToUserInteraction API_AVAILABLE(ios(13.0),tvos(13.0));
+@property (nonatomic) BOOL accessibilityRespondsToUserInteraction API_AVAILABLE(ios(13.0),tvos(13.0)) API_UNAVAILABLE(watchos);
/*
Returns the localized label(s) that should be provided by the user to refer to this element.
@@ -201,13 +202,13 @@
default == an empty array
default on UIKit controls == an array with an appropriate label, if different from accessibilityLabel
*/
-@property (null_resettable, nonatomic, strong) NSArray<NSString *> *accessibilityUserInputLabels API_AVAILABLE(ios(13.0),tvos(13.0));
+@property (null_resettable, nonatomic, strong) NSArray<NSString *> *accessibilityUserInputLabels API_AVAILABLE(ios(13.0),tvos(13.0)) API_UNAVAILABLE(watchos);
/*
The underlying attributed versions of the accessibility user input label(s).
Setting this property will change the value of the accessibilityUserInputLabels property and vice versa.
*/
-@property (null_resettable, nonatomic, copy) NSArray<NSAttributedString *> *accessibilityAttributedUserInputLabels API_AVAILABLE(ios(13.0),tvos(13.0));
+@property (null_resettable, nonatomic, copy) NSArray<NSAttributedString *> *accessibilityAttributedUserInputLabels API_AVAILABLE(ios(13.0),tvos(13.0)) API_UNAVAILABLE(watchos);
/*
The elements considered to be the headers for this element. May be set on an instance of
@@ -215,7 +216,7 @@
and associated view controllers where appropriate, will be consulted.
To avoid retain cycles, a weak copy of the elements will be held.
*/
-@property(nullable, nonatomic, copy) NSArray *accessibilityHeaderElements UIKIT_AVAILABLE_TVOS_ONLY(9_0);
+@property(nullable, nonatomic, copy) NSArray *accessibilityHeaderElements API_AVAILABLE(tvos(9.0)) API_UNAVAILABLE(ios);
/*
Returns an appropriate, named context to help identify and classify the type of text inside this element.
@@ -224,10 +225,10 @@
To specify a substring within the textual context, use the UIAccessibilityTextAttributeContext attributed key.
default == nil
*/
-@property(nullable, nonatomic, strong) UIAccessibilityTextualContext accessibilityTextualContext API_AVAILABLE(ios(13.0), tvos(13.0));
+@property(nullable, nonatomic, strong) UIAccessibilityTextualContext accessibilityTextualContext API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
// Configure how VoiceOver interacts with direct touch areas.
-@property(nonatomic, assign) UIAccessibilityDirectTouchOptions accessibilityDirectTouchOptions API_AVAILABLE(ios(17.0));
+@property(nonatomic, assign) UIAccessibilityDirectTouchOptions accessibilityDirectTouchOptions API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos);
/*
Block based setters take precedence over single line setters (i.e setAccessibilityLabel:(NSString *)) and property overrides (i.e. accessibilityLabel).
@@ -236,63 +237,63 @@
See the notes for the property for more specific information about that property.
*/
-typedef BOOL (^AXBoolReturnBlock)(void);
-typedef NSString * __nullable (^AXStringReturnBlock)(void);
-typedef NSArray<NSString *> * __nullable (^AXStringArrayReturnBlock)(void);
-typedef NSAttributedString * __nullable (^AXAttributedStringReturnBlock)(void);
-typedef NSArray<NSAttributedString *> * __nullable (^AXAttributedStringArrayReturnBlock)(void);
-typedef CGRect (^AXRectReturnBlock)(void);
-typedef UIBezierPath * __nullable (^AXPathReturnBlock)(void);
-typedef CGPoint (^AXPointReturnBlock)(void);
-typedef __nullable id (^AXObjectReturnBlock)(void);
-typedef NSArray * __nullable (^AXArrayReturnBlock)(void);
-typedef void (^AXVoidReturnBlock)(void);
-typedef UIAccessibilityTraits (^AXTraitsReturnBlock)(void);
-typedef UIAccessibilityNavigationStyle (^AXNavigationStyleReturnBlock)(void);
-typedef UIAccessibilityContainerType (^AXContainerTypeReturnBlock)(void);
-typedef __nullable UIAccessibilityTextualContext (^AXTextualContextReturnBlock)(void);
-typedef NSArray<UIAccessibilityCustomAction *> * __nullable (^AXCustomActionsReturnBlock)(void);
+typedef BOOL (^AXBoolReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSString * __nullable (^AXStringReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSArray<NSString *> * __nullable (^AXStringArrayReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSAttributedString * __nullable (^AXAttributedStringReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSArray<NSAttributedString *> * __nullable (^AXAttributedStringArrayReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef CGRect (^AXRectReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef UIBezierPath * __nullable (^AXPathReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef CGPoint (^AXPointReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef __nullable id (^AXObjectReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSArray * __nullable (^AXArrayReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef void (^AXVoidReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef UIAccessibilityTraits (^AXTraitsReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef UIAccessibilityNavigationStyle (^AXNavigationStyleReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef UIAccessibilityContainerType (^AXContainerTypeReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef __nullable UIAccessibilityTextualContext (^AXTextualContextReturnBlock)(void) API_UNAVAILABLE(watchos);
+typedef NSArray<UIAccessibilityCustomAction *> * __nullable (^AXCustomActionsReturnBlock)(void) API_UNAVAILABLE(watchos);
// Basic accessibility
-@property (nullable, nonatomic, copy) AXBoolReturnBlock isAccessibilityElementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityValueBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityHintBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXTraitsReturnBlock accessibilityTraitsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityIdentifierBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock isAccessibilityElementBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityValueBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityHintBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXTraitsReturnBlock accessibilityTraitsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityIdentifierBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Defining accessibility text and language
-@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityHeaderElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedHintBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLanguageBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXTextualContextReturnBlock accessibilityTextualContextBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXStringArrayReturnBlock accessibilityUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXAttributedStringArrayReturnBlock accessibilityAttributedUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedValueBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityHeaderElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedLabelBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedHintBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringReturnBlock accessibilityLanguageBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXTextualContextReturnBlock accessibilityTextualContextBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXStringArrayReturnBlock accessibilityUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXAttributedStringArrayReturnBlock accessibilityAttributedUserInputLabelsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXAttributedStringReturnBlock accessibilityAttributedValueBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Configuring behavior
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityElementsHiddenBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityRespondsToUserInteractionBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityViewIsModalBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityShouldGroupAccessibilityChildrenBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityElementsHiddenBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityRespondsToUserInteractionBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityViewIsModalBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityShouldGroupAccessibilityChildrenBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Navigating elements
-@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXArrayReturnBlock automationElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXContainerTypeReturnBlock accessibilityContainerTypeBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXPointReturnBlock accessibilityActivationPointBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXRectReturnBlock accessibilityFrameBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXNavigationStyleReturnBlock accessibilityNavigationStyleBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXPathReturnBlock accessibilityPathBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXArrayReturnBlock accessibilityElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXArrayReturnBlock automationElementsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXContainerTypeReturnBlock accessibilityContainerTypeBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXPointReturnBlock accessibilityActivationPointBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXRectReturnBlock accessibilityFrameBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXNavigationStyleReturnBlock accessibilityNavigationStyleBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXPathReturnBlock accessibilityPathBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Actions
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityActivateBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityIncrementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityDecrementBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityPerformEscapeBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityMagicTapBlock API_AVAILABLE(ios(17.0), tvos(17.0));
-@property (nullable, nonatomic, copy) AXCustomActionsReturnBlock accessibilityCustomActionsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityActivateBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityIncrementBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXVoidReturnBlock accessibilityDecrementBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityPerformEscapeBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXBoolReturnBlock accessibilityMagicTapBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+@property (nullable, nonatomic, copy) AXCustomActionsReturnBlock accessibilityCustomActionsBlock API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@end
@@ -304,6 +305,7 @@
Assistive technologies, like VoiceOver, maintain a virtual focus on an element
that allows the user to inspect an element without activating it.
*/
+API_UNAVAILABLE(watchos)
@interface NSObject (UIAccessibilityFocus)
// Override the following methods to know when an assistive technology has set or unset its virtual focus on the element.
@@ -320,7 +322,7 @@
// default = nil.
// Pass in a specific identifier (e.g. UIAccessibilityNotificationVoiceOverIdentifier) in order to choose the focused element for a specific product.
// If no argument is used, the function will returned the element that was most recently focused.
-UIKIT_EXTERN __nullable id UIAccessibilityFocusedElement(UIAccessibilityAssistiveTechnologyIdentifier __nullable assistiveTechnologyIdentifier) API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN __nullable id UIAccessibilityFocusedElement(UIAccessibilityAssistiveTechnologyIdentifier __nullable assistiveTechnologyIdentifier) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
@end
@@ -329,6 +331,7 @@
An element should implement methods in this category if it supports the action.
*/
+API_UNAVAILABLE(watchos)
@interface NSObject (UIAccessibilityAction)
/*
@@ -358,8 +361,8 @@
zooming, return YES, otherwise return NO.
default == NO
*/
-- (BOOL)accessibilityZoomInAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0));
-- (BOOL)accessibilityZoomOutAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0));
+- (BOOL)accessibilityZoomInAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos);
+- (BOOL)accessibilityZoomOutAtPoint:(CGPoint)point API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos);
/*
If the user interface requires a scrolling action (e.g. turning the page of a book), a view in the view
@@ -376,7 +379,7 @@
UIAccessibilityScrollDirectionDown,
UIAccessibilityScrollDirectionNext API_AVAILABLE(ios(5.0)),
UIAccessibilityScrollDirectionPrevious API_AVAILABLE(ios(5.0)),
-};
+} API_UNAVAILABLE(watchos);
- (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction API_AVAILABLE(ios(4.2));
@@ -412,7 +415,7 @@
Implemented on an element that represents content meant to be read, like a book or periodical.
Use in conjunction with UIAccessibilityTraitCausesPageTurn to provide a continuous reading experience with VoiceOver.
*/
-@protocol UIAccessibilityReadingContent
+API_UNAVAILABLE(watchos) @protocol UIAccessibilityReadingContent
@required
// Returns the line number given a point in the view's coordinate space.
@@ -429,11 +432,12 @@
@optional
// If an object adopting this protocol responds to these methods, the system will try sending them before sending the non-attributed versions.
-- (nullable NSAttributedString *)accessibilityAttributedContentForLineNumber:(NSInteger)lineNumber API_AVAILABLE(ios(11.0), tvos(11.0));
-- (nullable NSAttributedString *)accessibilityAttributedPageContent API_AVAILABLE(ios(11.0), tvos(11.0));
+- (nullable NSAttributedString *)accessibilityAttributedContentForLineNumber:(NSInteger)lineNumber API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (nullable NSAttributedString *)accessibilityAttributedPageContent API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
@end
+API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos)
@interface NSObject(UIAccessibilityDragging)
/* By default, if an accessible view or its subtree has drag and/or drop interactions, they will be
@@ -486,7 +490,7 @@
Pass nil for the argument if the notification does not specify otherwise.
See UIAccessibilityConstants.h for a list of notifications.
*/
-UIKIT_EXTERN void UIAccessibilityPostNotification(UIAccessibilityNotifications notification, __nullable id argument);
+UIKIT_EXTERN void UIAccessibilityPostNotification(UIAccessibilityNotifications notification, __nullable id argument) API_UNAVAILABLE(watchos);
/*
Assistive Technology
@@ -494,90 +498,90 @@
Use UIAccessibilityIsVoiceOverRunning() to determine if VoiceOver is running.
Listen for UIAccessibilityVoiceOverStatusDidChangeNotification to know when VoiceOver starts or stops.
*/
-UIKIT_EXTERN BOOL UIAccessibilityIsVoiceOverRunning(void) API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN NSString *const UIAccessibilityVoiceOverStatusChanged API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilityVoiceOverStatusDidChangeNotification", ios(4.0, 11.0), tvos(9.0, 11.0))
+UIKIT_EXTERN BOOL UIAccessibilityIsVoiceOverRunning(void) API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSString *const UIAccessibilityVoiceOverStatusChanged API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilityVoiceOverStatusDidChangeNotification", ios(4.0, 11.0), tvos(9.0, 11.0)) API_UNAVAILABLE(watchos)
API_UNAVAILABLE(visionos);
-UIKIT_EXTERN NSNotificationName const UIAccessibilityVoiceOverStatusDidChangeNotification API_AVAILABLE(ios(11.0), tvos(11.0));
+UIKIT_EXTERN NSNotificationName const UIAccessibilityVoiceOverStatusDidChangeNotification API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
// Returns whether system audio is mixed down from stereo to mono.
-UIKIT_EXTERN BOOL UIAccessibilityIsMonoAudioEnabled(void) API_AVAILABLE(ios(5.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityMonoAudioStatusDidChangeNotification API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsMonoAudioEnabled(void) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityMonoAudioStatusDidChangeNotification API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for closed captioning is enabled.
-UIKIT_EXTERN BOOL UIAccessibilityIsClosedCaptioningEnabled(void) API_AVAILABLE(ios(5.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityClosedCaptioningStatusDidChangeNotification API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsClosedCaptioningEnabled(void) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityClosedCaptioningStatusDidChangeNotification API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for invert colors is enabled.
-UIKIT_EXTERN BOOL UIAccessibilityIsInvertColorsEnabled(void) API_AVAILABLE(ios(6.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityInvertColorsStatusDidChangeNotification API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsInvertColorsEnabled(void) API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityInvertColorsStatusDidChangeNotification API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
// Returns whether the app is running under Guided Access mode.
-UIKIT_EXTERN BOOL UIAccessibilityIsGuidedAccessEnabled(void) API_AVAILABLE(ios(6.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityGuidedAccessStatusDidChangeNotification API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsGuidedAccessEnabled(void) API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityGuidedAccessStatusDidChangeNotification API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for bold text is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsBoldTextEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityBoldTextStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsBoldTextEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityBoldTextStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for button shapes is enabled
-UIKIT_EXTERN BOOL UIAccessibilityButtonShapesEnabled(void) API_AVAILABLE(ios(14.0), tvos(14.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityButtonShapesEnabledStatusDidChangeNotification API_AVAILABLE(ios(14.0), tvos(14.0));
+UIKIT_EXTERN BOOL UIAccessibilityButtonShapesEnabled(void) API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityButtonShapesEnabledStatusDidChangeNotification API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for grayscale is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsGrayscaleEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityGrayscaleStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsGrayscaleEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityGrayscaleStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for reduce transparency is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsReduceTransparencyEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityReduceTransparencyStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsReduceTransparencyEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityReduceTransparencyStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for reduce motion is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsReduceMotionEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityReduceMotionStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsReduceMotionEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityReduceMotionStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for reduce motion: prefer cross-fade transitions is enabled
-UIKIT_EXTERN BOOL UIAccessibilityPrefersCrossFadeTransitions(void) API_AVAILABLE(ios(14.0), tvos(14.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityPrefersCrossFadeTransitionsStatusDidChangeNotification API_AVAILABLE(ios(14.0), tvos(14.0));
+UIKIT_EXTERN BOOL UIAccessibilityPrefersCrossFadeTransitions(void) API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityPrefersCrossFadeTransitionsStatusDidChangeNotification API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for auto-play videos is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsVideoAutoplayEnabled(void) API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityVideoAutoplayStatusDidChangeNotification API_AVAILABLE(ios(13.0), tvos(13.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsVideoAutoplayEnabled(void) API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityVideoAutoplayStatusDidChangeNotification API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for darker colors is enabled
-UIKIT_EXTERN BOOL UIAccessibilityDarkerSystemColorsEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityDarkerSystemColorsStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityDarkerSystemColorsEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityDarkerSystemColorsStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
/*
Use UIAccessibilityIsSwitchControlRunning() to determine if Switch Control is running.
Listen for UIAccessibilitySwitchControlStatusDidChangeNotification to know when Switch Control starts or stops.
*/
-UIKIT_EXTERN BOOL UIAccessibilityIsSwitchControlRunning(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilitySwitchControlStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsSwitchControlRunning(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilitySwitchControlStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for Speak Selection is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsSpeakSelectionEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilitySpeakSelectionStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsSpeakSelectionEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilitySpeakSelectionStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for Speak Screen is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsSpeakScreenEnabled(void) API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilitySpeakScreenStatusDidChangeNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsSpeakScreenEnabled(void) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilitySpeakScreenStatusDidChangeNotification API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for Shake to Undo is enabled
-UIKIT_EXTERN BOOL UIAccessibilityIsShakeToUndoEnabled(void) API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityShakeToUndoDidChangeNotification API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsShakeToUndoEnabled(void) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityShakeToUndoDidChangeNotification API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for AssistiveTouch is enabled.
// This always returns false if Guided Access is not enabled.
-UIKIT_EXTERN BOOL UIAccessibilityIsAssistiveTouchRunning(void) API_AVAILABLE(ios(10.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityAssistiveTouchStatusDidChangeNotification API_AVAILABLE(ios(10.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsAssistiveTouchRunning(void) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityAssistiveTouchStatusDidChangeNotification API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for Differentiate without Color is enabled.
-UIKIT_EXTERN BOOL UIAccessibilityShouldDifferentiateWithoutColor(void) API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityShouldDifferentiateWithoutColorDidChangeNotification API_AVAILABLE(ios(13.0), tvos(13.0));
+UIKIT_EXTERN BOOL UIAccessibilityShouldDifferentiateWithoutColor(void) API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityShouldDifferentiateWithoutColorDidChangeNotification API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
// Returns whether the system preference for On/Off labels is enabled.
-UIKIT_EXTERN BOOL UIAccessibilityIsOnOffSwitchLabelsEnabled(void) API_AVAILABLE(ios(13.0));
-UIKIT_EXTERN NSNotificationName const UIAccessibilityOnOffSwitchLabelsDidChangeNotification API_AVAILABLE(ios(13.0));
+UIKIT_EXTERN BOOL UIAccessibilityIsOnOffSwitchLabelsEnabled(void) API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityOnOffSwitchLabelsDidChangeNotification API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
/*
Use UIAccessibilityRequestGuidedAccessSession() to request this app be locked into or released
@@ -585,18 +589,18 @@
and the app's bundle identifier has been whitelisted using Mobile Device Management. If you successfully request Single
App mode, it is your responsibility to release the device by balancing this call.
*/
-UIKIT_EXTERN void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed)) API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed)) API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
typedef NS_OPTIONS(NSUInteger, UIAccessibilityHearingDeviceEar) {
UIAccessibilityHearingDeviceEarNone = 0,
UIAccessibilityHearingDeviceEarLeft = 1 << 1,
UIAccessibilityHearingDeviceEarRight = 1 << 2,
UIAccessibilityHearingDeviceEarBoth = UIAccessibilityHearingDeviceEarLeft | UIAccessibilityHearingDeviceEarRight,
-} API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos);
+} API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos);
// Returns the current pairing status of MFi hearing aids
-UIKIT_EXTERN UIAccessibilityHearingDeviceEar UIAccessibilityHearingDevicePairedEar(void) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN NSNotificationName const UIAccessibilityHearingDevicePairedEarDidChangeNotification API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN UIAccessibilityHearingDeviceEar UIAccessibilityHearingDevicePairedEar(void) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos);
+UIKIT_EXTERN NSNotificationName const UIAccessibilityHearingDevicePairedEarDidChangeNotification API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, watchos);
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h 2024-05-31 08:17:03
@@ -19,18 +19,18 @@
See UIAccessibility.h for more information about hints and labels.
*/
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UIPickerViewAccessibilityDelegate <UIPickerViewDelegate>
@optional
- (nullable NSString *)pickerView:(UIPickerView *)pickerView accessibilityLabelForComponent:(NSInteger)component;
- (nullable NSString *)pickerView:(UIPickerView *)pickerView accessibilityHintForComponent:(NSInteger)component;
-- (NSArray<NSString *> *)pickerView:(UIPickerView *)pickerView accessibilityUserInputLabelsForComponent:(NSInteger)component API_AVAILABLE(ios(13.0));
+- (NSArray<NSString *> *)pickerView:(UIPickerView *)pickerView accessibilityUserInputLabelsForComponent:(NSInteger)component API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
// If an object adopting this protocol responds to these methods, the system will try sending them before sending their non-attributed versions.
-- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView accessibilityAttributedLabelForComponent:(NSInteger)component API_AVAILABLE(ios(11.0));
-- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView accessibilityAttributedHintForComponent:(NSInteger)component API_AVAILABLE(ios(11.0));
-- (NSArray<NSAttributedString *> *)pickerView:(UIPickerView *)pickerView accessibilityAttributedUserInputLabelsForComponent:(NSInteger)component API_AVAILABLE(ios(13.0));
+- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView accessibilityAttributedLabelForComponent:(NSInteger)component API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
+- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView accessibilityAttributedHintForComponent:(NSInteger)component API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
+- (NSArray<NSAttributedString *> *)pickerView:(UIPickerView *)pickerView accessibilityAttributedUserInputLabelsForComponent:(NSInteger)component API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
@end
@@ -40,14 +40,14 @@
this protocol to announce "Showing books 10 through 20".
By default, VoiceOver will announce "Page X of Y" when scrolling.
*/
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIScrollViewAccessibilityDelegate <UIScrollViewDelegate>
@optional
- (nullable NSString *)accessibilityScrollStatusForScrollView:(UIScrollView *)scrollView;
// If an object adopting this protocol responds to this method, the system will try sending it before sending its non-attributed version.
-- (nullable NSAttributedString *)accessibilityAttributedScrollStatusForScrollView:(UIScrollView *)scrollView API_AVAILABLE(ios(11.0), tvos(11.0));
+- (nullable NSAttributedString *)accessibilityAttributedScrollStatusForScrollView:(UIScrollView *)scrollView API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
@end
@@ -61,12 +61,12 @@
property.
*/
@interface UIView (UIAccessibilityInvertColors)
-@property(nonatomic) BOOL accessibilityIgnoresInvertColors API_AVAILABLE(ios(11_0), tvos(11_0));
+@property(nonatomic) BOOL accessibilityIgnoresInvertColors API_AVAILABLE(ios(11_0), tvos(11_0)) API_UNAVAILABLE(watchos);
@end
@interface UIColor (UIAccessibility)
// Provides an accessible name for the UIColor for use in accessibility attribute APIs, such as when using accessibilityLabel.
-@property (nonatomic, readonly) NSString *accessibilityName API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0), macos(11.0));
+@property (nonatomic, readonly) NSString *accessibilityName API_AVAILABLE(ios(14.0), tvos(14.0), macos(11.0)) API_UNAVAILABLE(watchos);
@end
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h 2024-04-18 07:48:27
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h 2024-05-31 08:14:13
@@ -25,40 +25,40 @@
will cause accessibility clients to incorrectly interpret the element.
Use common sense when combining traits.
*/
-typedef uint64_t UIAccessibilityTraits NS_TYPED_ENUM;
+typedef uint64_t UIAccessibilityTraits NS_TYPED_ENUM API_AVAILABLE(watchos(2.0));
// Used when the element has no traits.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitNone;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitNone API_AVAILABLE(watchos(2.0));
// Used when the element should be treated as a button.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitButton;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitButton API_AVAILABLE(watchos(2.0));
// Used when the element should be treated as a link.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitLink;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitLink API_AVAILABLE(watchos(2.0));
// Used when an element acts as a header for a content section (e.g. the title of a navigation bar).
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitHeader API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitHeader API_AVAILABLE(ios(6.0), watchos(2.0));
// Used when the text field element should also be treated as a search field.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSearchField;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSearchField API_AVAILABLE(watchos(2.0));
// Used when the element should be treated as an image. Can be combined with button or link, for example.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitImage;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitImage API_AVAILABLE(watchos(2.0));
/*
Used when the element is selected.
For example, a selected row in a table or a selected button within a segmented control.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSelected;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSelected API_AVAILABLE(watchos(2.0));
// Used when the element plays its own sound when activated.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitPlaysSound;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitPlaysSound API_AVAILABLE(watchos(2.0));
// Used when the element acts as a keyboard key.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitKeyboardKey;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitKeyboardKey API_AVAILABLE(watchos(2.0));
// Used when the element should be treated as static text that cannot change.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitStaticText;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitStaticText API_AVAILABLE(watchos(2.0));
/*
Used when an element can be used to provide a quick summary of current
@@ -66,52 +66,52 @@
first launches, the element with today's weather conditions is marked with
this trait.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSummaryElement;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSummaryElement API_AVAILABLE(watchos(2.0));
// Used when the control is not enabled and does not respond to user input.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitNotEnabled;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitNotEnabled API_AVAILABLE(watchos(2.0));
/*
Used when the element frequently updates its label or value, but too often to send notifications.
Allows an accessibility client to poll for changes. A stopwatch would be an example.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitUpdatesFrequently;
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitUpdatesFrequently API_AVAILABLE(watchos(2.0));
/*
Used when activating an element starts a media session (e.g. playing a movie, recording audio)
that should not be interrupted by output from an assistive technology, like VoiceOver.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitStartsMediaSession API_AVAILABLE(ios(4.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitStartsMediaSession API_AVAILABLE(ios(4.0), watchos(2.0));
/*
Used when an element can be "adjusted" (e.g. a slider). The element must also
implement accessibilityIncrement and accessibilityDecrement.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitAdjustable API_AVAILABLE(ios(4.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitAdjustable API_AVAILABLE(ios(4.0), watchos(2.0));
// Used when an element allows direct touch interaction for VoiceOver users (for example, a view representing a piano keyboard).
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitAllowsDirectInteraction API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitAllowsDirectInteraction API_AVAILABLE(ios(5.0), watchos(2.0));
/*
Informs VoiceOver that it should scroll to the next page when it finishes reading the contents of the
element. VoiceOver will scroll by calling accessibilityScroll: with UIAccessibilityScrollDirectionNext and will
stop scrolling when it detects the content has not changed.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitCausesPageTurn API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitCausesPageTurn API_AVAILABLE(ios(5.0), watchos(2.0));
/*
Used when a view or accessibility container represents an ordered list of tabs.
The object with this trait should return NO for isAccessibilityElement.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitTabBar API_AVAILABLE(ios(10.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitTabBar API_AVAILABLE(ios(10.0), watchos(3.0));
// Used when the element should be treated as a toggle.
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitToggleButton API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitToggleButton API_AVAILABLE(ios(17.0), watchos(10.0));
/*
Used when the element has zoom functionality.
*/
-UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSupportsZoom API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSupportsZoom API_AVAILABLE(ios(17.0), watchos(10.0));
/*
Accessibility Notifications
@@ -120,27 +120,27 @@
following notifications may be posted to accommodate custom controls
and events.
*/
-typedef uint32_t UIAccessibilityNotifications NS_TYPED_ENUM;
+typedef uint32_t UIAccessibilityNotifications NS_TYPED_ENUM API_AVAILABLE(watchos(2.0));
/*
Should be posted when a new view appears that encompasses a major portion of the screen.
Optionally, pass the element that VoiceOver should move to after processing the notification.
*/
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityScreenChangedNotification;
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityScreenChangedNotification API_AVAILABLE(watchos(2.0));
/*
Should be posted when the layout of a screen changes, for example when an individual
element appears or disappears.
Optionally, pass the element that VoiceOver should move to after processing the notification.
*/
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityLayoutChangedNotification;
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityLayoutChangedNotification API_AVAILABLE(watchos(2.0));
/*
Should be posted when an announcement needs to be conveyed to VoiceOver.
VoiceOver will output the announcement string that is used as the argument.
The argument is a NSString.
*/
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityAnnouncementNotification API_AVAILABLE(ios(4.0));
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityAnnouncementNotification API_AVAILABLE(ios(4.0), watchos(2.0));
/*
Should be posted after accessibilityScroll: is called and the scrolling action has completed.
@@ -149,7 +149,7 @@
indicate a border has been reached.
The argument is a NSString.
*/
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPageScrolledNotification API_AVAILABLE(ios(4.2));
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPageScrolledNotification API_AVAILABLE(ios(4.2), watchos(2.0));
/*
Should be posted to pause an assistive technology's operations temporarily.
@@ -162,45 +162,45 @@
it may do so before it receives the corresponding UIAccessibilityResumeAssistiveTechnologyNotification.
The argument is a NSString.
*/
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPauseAssistiveTechnologyNotification API_AVAILABLE(ios(8.0));
-UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityResumeAssistiveTechnologyNotification API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPauseAssistiveTechnologyNotification API_AVAILABLE(ios(8.0), watchos(2.0));
+UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityResumeAssistiveTechnologyNotification API_AVAILABLE(ios(8.0), watchos(2.0));
/*
Listen for this notification to know when VoiceOver finishes outputting an announcement.
The userInfo dictionary contains UIAccessibilityAnnouncementKeyString and UIAccessibilityAnnouncementKeyWasSuccessful.
*/
-UIKIT_EXTERN NSNotificationName const UIAccessibilityAnnouncementDidFinishNotification API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN NSNotificationName const UIAccessibilityAnnouncementDidFinishNotification API_AVAILABLE(ios(6.0), watchos(2.0));
// The corresponding value is the string that was used for the announcement.
-UIKIT_EXTERN NSString *const UIAccessibilityAnnouncementKeyStringValue API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN NSString *const UIAccessibilityAnnouncementKeyStringValue API_AVAILABLE(ios(6.0), watchos(2.0));
// The corresponding value is an NSNumber representing whether VoiceOver successfully outputted the announcement.
-UIKIT_EXTERN NSString *const UIAccessibilityAnnouncementKeyWasSuccessful API_AVAILABLE(ios(6.0));
+UIKIT_EXTERN NSString *const UIAccessibilityAnnouncementKeyWasSuccessful API_AVAILABLE(ios(6.0), watchos(2.0));
// In order to know when an assistive technology has focused on an element listen to this notification
// The newly focused element will be referenced by UIAccessibilityElementFocusedKeyElement in the userInfo dictionary.
-UIKIT_EXTERN NSNotificationName const UIAccessibilityElementFocusedNotification API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN NSNotificationName const UIAccessibilityElementFocusedNotification API_AVAILABLE(ios(9.0), watchos(2.0));
// The corresponding value is the element that is now focused by the assistive technology.
-UIKIT_EXTERN NSString *const UIAccessibilityFocusedElementKey API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN NSString *const UIAccessibilityFocusedElementKey API_AVAILABLE(ios(9.0), watchos(2.0));
// The corresponding value is the element that had previously been focused by the assistive technology.
-UIKIT_EXTERN NSString *const UIAccessibilityUnfocusedElementKey API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN NSString *const UIAccessibilityUnfocusedElementKey API_AVAILABLE(ios(9.0), watchos(2.0));
// The corresponding value is the identifier of the assistive technology
-UIKIT_EXTERN NSString *const UIAccessibilityAssistiveTechnologyKey API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN NSString *const UIAccessibilityAssistiveTechnologyKey API_AVAILABLE(ios(9.0), watchos(2.0));
-typedef NSString * UIAccessibilityAssistiveTechnologyIdentifier NS_TYPED_ENUM;
+typedef NSString * UIAccessibilityAssistiveTechnologyIdentifier NS_TYPED_ENUM API_AVAILABLE(watchos(5.0));
/*
The following identifier should be used as the argument when posting a UIAccessibilityPauseAssistiveTechnologyNotification
or a UIAccessibilityResumeAssistiveTechnologyNotification.
*/
-UIKIT_EXTERN UIAccessibilityAssistiveTechnologyIdentifier const UIAccessibilityNotificationSwitchControlIdentifier API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN UIAccessibilityAssistiveTechnologyIdentifier const UIAccessibilityNotificationSwitchControlIdentifier API_AVAILABLE(ios(8.0), watchos(2.0));
// Used to identify VoiceOver as the assistive technology.
-UIKIT_EXTERN UIAccessibilityAssistiveTechnologyIdentifier const UIAccessibilityNotificationVoiceOverIdentifier API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN UIAccessibilityAssistiveTechnologyIdentifier const UIAccessibilityNotificationVoiceOverIdentifier API_AVAILABLE(ios(9.0), watchos(2.0));
/*
@@ -223,7 +223,7 @@
When the combined item has been selected, the assistive technology will navigate each element separately.
*/
UIAccessibilityNavigationStyleCombined = 2,
-} API_AVAILABLE(ios(8.0));
+} API_AVAILABLE(ios(8.0), watchos(2.0));
typedef NS_ENUM(NSInteger, UIAccessibilityContainerType) {
@@ -231,8 +231,8 @@
UIAccessibilityContainerTypeDataTable, // If using this container type, you must also implement the UIAccessibilityContainerDataTable protocol.
UIAccessibilityContainerTypeList,
UIAccessibilityContainerTypeLandmark,
- UIAccessibilityContainerTypeSemanticGroup API_AVAILABLE(ios(13.0),tvos(13.0)) // Assistive technologies might query the accessibility properties set on the container, such as the accessibilityLabel, in order to output appropriate information about the semantic group to the user
-} API_AVAILABLE(ios(11.0));
+ UIAccessibilityContainerTypeSemanticGroup API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) // Assistive technologies might query the accessibility properties set on the container, such as the accessibilityLabel, in order to output appropriate information about the semantic group to the user
+} API_AVAILABLE(ios(11.0), watchos(4.0));
typedef NS_OPTIONS(NSUInteger, UIAccessibilityDirectTouchOptions) {
UIAccessibilityDirectTouchOptionNone = 0,
@@ -241,29 +241,29 @@
UIAccessibilityDirectTouchOptionSilentOnTouch = 1 << 0,
// Requires VoiceOver to activate the element before touch passthrough starts.
UIAccessibilityDirectTouchOptionRequiresActivation = 1 << 1,
-} NS_SWIFT_NAME(UIAccessibility.DirectTouchOptions) API_AVAILABLE(ios(17.0));
+} NS_SWIFT_NAME(UIAccessibility.DirectTouchOptions) API_AVAILABLE(ios(17.0), watchos(10.0));
// The following constants can be used with either the accessibilityTextualContext property, or with the
// UIAccessibilityTextAttributeContext attributed key.
-typedef NSString * UIAccessibilityTextualContext NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextWordProcessing API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextNarrative API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextMessaging API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextSpreadsheet API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextFileSystem API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextSourceCode API_AVAILABLE(ios(13.0), tvos(13.0));
-UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextConsole API_AVAILABLE(ios(13.0), tvos(13.0));
+typedef NSString * UIAccessibilityTextualContext NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextWordProcessing API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextNarrative API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextMessaging API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextSpreadsheet API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextFileSystem API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextSourceCode API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+UIKIT_EXTERN UIAccessibilityTextualContext const UIAccessibilityTextualContextConsole API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
// The following constants can be used with either the accessibilityAnnouncementPriority property, or with the
// UIAccessibilityAnnouncementPriority attributed key.
-typedef NSString * UIAccessibilityPriority NS_TYPED_ENUM API_AVAILABLE(ios(17.0));
+typedef NSString * UIAccessibilityPriority NS_TYPED_ENUM API_AVAILABLE(ios(17.0), watchos(10.0));
// Announcements will interrupt other speech and cannot be interrupted once started.
-UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityHigh API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityHigh API_AVAILABLE(ios(17.0), watchos(10.0));
// Announcements will interrupt existing speech, but are interruptible if a new speech utterance is started.
-UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityDefault API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityDefault API_AVAILABLE(ios(17.0), watchos(10.0));
// Announcements are queued and spoken when other speech utterances have completed.
-UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityLow API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN UIAccessibilityPriority const UIAccessibilityPriorityLow API_AVAILABLE(ios(17.0), watchos(10.0));
/*
Accessibility Speech Attributes
@@ -276,30 +276,30 @@
// If YES, then all punctuation will be spoken (e.g. when displaying code).
// If NO, then no punctuation will be spoken.
// By default, if this attribute is not present, the user's settings will be used.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributePunctuation API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributePunctuation API_AVAILABLE(ios(7.0), watchos(2.0));
// Use an NSString with a BCP-47 language code to identify the language of a segment of a string.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeLanguage API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeLanguage API_AVAILABLE(ios(7.0), watchos(2.0));
// Use an NSNumber with a value between [0-2] that specifies the pitch.
// For example, you may want to lower the pitch when an object is deleted, or raise the pitch if an object is inserted.
// Default value == 1.0f.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributePitch API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributePitch API_AVAILABLE(ios(7.0), watchos(2.0));
// The corresponding value for this key should be a NSNumber with a YES or NO value.
// If YES, then this announcement will be queued behind existing speech; if NO, then it will interrupt existing speech.
// Default behavior is to interrupt existing speech.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeQueueAnnouncement API_AVAILABLE(ios(11.0)) API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilitySpeechAttributeAnnouncementPriority", ios(11.0, 17.0), visionos(1.0, 1.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeQueueAnnouncement API_AVAILABLE(ios(11.0), watchos(4.0)) API_DEPRECATED_WITH_REPLACEMENT("UIAccessibilitySpeechAttributeAnnouncementPriority", ios(11.0, 17.0), visionos(1.0, 1.0));
// Use with a UIAccessibilityAnnouncementPriority value to specify whether this announcement can be queued or interrupted.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeAnnouncementPriority API_AVAILABLE(ios(17.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeAnnouncementPriority API_AVAILABLE(ios(17.0), watchos(10.0));
// Use an NSString, containing International Phonetic Alphabet (IPA) symbols.
// Controls the pronunciation of a word or phrase, e.g. a proper name.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeIPANotation API_AVAILABLE(ios(11.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeIPANotation API_AVAILABLE(ios(11.0), watchos(4.0));
// Use an NSNumber with a YES or NO value to specify whether each letter in the string should be spoken separately.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeSpellOut API_AVAILABLE(ios(13.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilitySpeechAttributeSpellOut API_AVAILABLE(ios(13.0), watchos(6.0));
/*
@@ -314,14 +314,14 @@
*/
// Use an NSNumber where the value is [0, 6]. Use 0 to indicate the absence of a specific heading level.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeHeadingLevel API_AVAILABLE(ios(11.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeHeadingLevel API_AVAILABLE(ios(11.0), watchos(4.0));
// Use an NSArray of localized NSStrings to convey custom text attributes.
// For example, a range of text may have multiple custom 'annotation styles, which can be described with this key.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeCustom API_AVAILABLE(ios(11.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeCustom API_AVAILABLE(ios(11.0), watchos(4.0));
// Use a UIAccessibilityTextualContext to specify how this text content should be interpreted by assistive technologies.
-UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeContext API_AVAILABLE(ios(13.0), tvos(13.0));
+UIKIT_EXTERN NSAttributedStringKey const UIAccessibilityTextAttributeContext API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
#ifdef __swift__
// This struct is not available in Objective-C. Its only purpose is to create a namespace for accessibility symbols in Swift.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2024-04-09 04:16:16
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContainer.h 2024-05-30 15:54:12
@@ -71,7 +71,7 @@
convey more information specific to tables that contain structured data.
*/
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIAccessibilityContainerDataTableCell <NSObject>
@required
@@ -82,7 +82,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(11.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIAccessibilityContainerDataTable <NSObject>
@required
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContentSizeCategoryImageAdjusting.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContentSizeCategoryImageAdjusting.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContentSizeCategoryImageAdjusting.h 2024-04-26 07:48:03
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityContentSizeCategoryImageAdjusting.h 2024-05-31 08:17:01
@@ -20,7 +20,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(11.0),tvos(11.0))
+UIKIT_EXTERN API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos)
@protocol UIAccessibilityContentSizeCategoryImageAdjusting <NSObject>
// When this is equal to YES, the receiver's intrinsic size will increase for users who prefer an accessibility content size category.
@@ -29,17 +29,20 @@
@end
// If the contentMode of the UIImageView is set to a mode that scales the image (e.g. the default one), the image will be scaled for an accessibility content size category. If not, the behavior is undefined.
+UIKIT_EXTERN API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos)
@interface UIImageView (UIAccessibilityContentSizeCategoryImageAdjusting) <UIAccessibilityContentSizeCategoryImageAdjusting>
@end
// If applicable, the image (not the background image) will be scaled for an accessibility content size category. Image edge insets are left unchanged.
+UIKIT_EXTERN API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos)
@interface UIButton (UIAccessibilityContentSizeCategoryImageAdjusting) <UIAccessibilityContentSizeCategoryImageAdjusting>
@end
// If an image is set, the attachment bounds' size will increase for users who prefer an accessibility content size category.
// This should be used in a UIContentSizeCategoryAdjusting view that responds YES to adjustsFontForContentSizeCategory and has a font that can be adjusted. If not, the behavior is undefined.
+UIKIT_EXTERN API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos)
@interface NSTextAttachment (UIAccessibilityContentSizeCategoryImageAdjusting) <UIAccessibilityContentSizeCategoryImageAdjusting>
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h 2024-04-26 07:48:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomAction.h 2024-05-31 08:16:57
@@ -12,20 +12,20 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(8.0))
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos)
@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));
-- (instancetype)initWithName:(NSString *)name image:(nullable UIImage *)image target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(14.0), tvos(14.0));
-- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName image:(nullable UIImage *)image target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(14.0), tvos(14.0));
+- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithName:(NSString *)name image:(nullable UIImage *)image target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName image:(nullable UIImage *)image target:(nullable id)target selector:(SEL)selector API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
-typedef BOOL(^UIAccessibilityCustomActionHandler)(UIAccessibilityCustomAction *customAction);
-- (instancetype)initWithName:(NSString *)name actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(13.0), tvos(13.0));
-- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(13.0), tvos(13.0));
-- (instancetype)initWithName:(NSString *)name image:(nullable UIImage *)image actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(14.0), tvos(14.0));
-- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName image:(nullable UIImage *)image actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(14.0), tvos(14.0));
+typedef BOOL(^UIAccessibilityCustomActionHandler)(UIAccessibilityCustomAction *customAction) API_UNAVAILABLE(watchos);
+- (instancetype)initWithName:(NSString *)name actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithName:(NSString *)name image:(nullable UIImage *)image actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName image:(nullable UIImage *)image actionHandler:(UIAccessibilityCustomActionHandler)actionHandler API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/*
@@ -42,7 +42,7 @@
Underlying attributed version of the "name" property. Setting this property will change the
value of the "name" property and vice-versa.
*/
-@property (nonatomic, copy) NSAttributedString *attributedName API_AVAILABLE(ios(11.0), tvos(11.0));
+@property (nonatomic, copy) NSAttributedString *attributedName API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/*
The object that will perform the action.
@@ -60,7 +60,7 @@
/*
If the actionHandler is set, it will be preferred over the target/selector.
*/
-@property (nonatomic, copy, nullable) UIAccessibilityCustomActionHandler actionHandler API_AVAILABLE(ios(13.0), tvos(13.0));
+@property (nonatomic, copy, nullable) UIAccessibilityCustomActionHandler actionHandler API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2024-04-26 07:48:06
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityCustomRotor.h 2024-05-31 08:17:04
@@ -31,7 +31,7 @@
typedef NS_ENUM(NSInteger, UIAccessibilityCustomRotorDirection) {
UIAccessibilityCustomRotorDirectionPrevious API_AVAILABLE(ios(10.0)),
UIAccessibilityCustomRotorDirectionNext API_AVAILABLE(ios(10.0)),
-};
+} API_UNAVAILABLE(watchos);
/*
UIAccessibilityCustomSystemRotorType should be used when you want to allow searching for one of the following types.
@@ -57,39 +57,39 @@
UIAccessibilityCustomSystemRotorTypeTable,
UIAccessibilityCustomSystemRotorTypeList,
UIAccessibilityCustomSystemRotorTypeLandmark,
-} API_AVAILABLE(ios(11.0));
+} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
-typedef UIAccessibilityCustomRotorItemResult *_Nullable(^UIAccessibilityCustomRotorSearch)(UIAccessibilityCustomRotorSearchPredicate *predicate);
+typedef UIAccessibilityCustomRotorItemResult *_Nullable(^UIAccessibilityCustomRotorSearch)(UIAccessibilityCustomRotorSearchPredicate *predicate) API_UNAVAILABLE(watchos);
// Create the array of UIAccessibilityCustomRotors and set it on the target element or ancestor element to which it applies.
-@interface NSObject (UIAccessibilityCustomRotor)
+API_UNAVAILABLE(watchos) @interface NSObject (UIAccessibilityCustomRotor)
@property (nonatomic, retain, nullable) NSArray<UIAccessibilityCustomRotor *> *accessibilityCustomRotors API_AVAILABLE(ios(10.0));
-typedef NSArray<UIAccessibilityCustomRotor *> * __nullable (^AXCustomRotorsReturnBlock)(void);
+typedef NSArray<UIAccessibilityCustomRotor *> * __nullable (^AXCustomRotorsReturnBlock)(void) API_UNAVAILABLE(watchos);
@property (nullable, nonatomic, copy) AXCustomRotorsReturnBlock accessibilityCustomRotorsBlock API_AVAILABLE(ios(17.0), tvos(17.0));
@end
// UIAccessibilityCustomRotorSearchPredicate is a container for search parameters.
// It should be examined to determine the next matching UIAccessibilityCustomRotorItemResult.
-UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
@interface UIAccessibilityCustomRotorSearchPredicate : NSObject
@property (nonatomic, retain) UIAccessibilityCustomRotorItemResult *currentItem;
@property (nonatomic) UIAccessibilityCustomRotorDirection searchDirection;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
@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));
-- (instancetype)initWithSystemType:(UIAccessibilityCustomSystemRotorType)type itemSearchBlock:(UIAccessibilityCustomRotorSearch)itemSearchBlock API_AVAILABLE(ios(11.0));
+- (instancetype)initWithAttributedName:(NSAttributedString *)attributedName itemSearchBlock:(UIAccessibilityCustomRotorSearch)itemSearchBlock API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+- (instancetype)initWithSystemType:(UIAccessibilityCustomSystemRotorType)type itemSearchBlock:(UIAccessibilityCustomRotorSearch)itemSearchBlock API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
// The localized name the assistive technology will use to describe the custom rotor.
@property (nonatomic, copy) NSString *name;
// Underlying attributed version of the "name" property. Setting this property will change the
// value of the "name" property and vice-versa.
-@property (nonatomic, copy) NSAttributedString *attributedName API_AVAILABLE(ios(11.0), tvos(11.0));
+@property (nonatomic, copy) NSAttributedString *attributedName API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
// A block that takes a UIAccessibilityCustomRotorItemResult and the search direction and returns the next/previous instance of that rotor item.
// If the currentItem is nil, that implies the first/last item should be returned.
@@ -97,12 +97,12 @@
// The system rotor type that was optionally used during initialization.
// default = UIAccessibilityCustomSystemRotorTypeNone
-@property (nonatomic, readonly) UIAccessibilityCustomSystemRotorType systemRotorType API_AVAILABLE(ios(11.0));
+@property (nonatomic, readonly) UIAccessibilityCustomSystemRotorType systemRotorType API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
@end
-UIKIT_EXTERN API_AVAILABLE(ios(10.0))
+UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
@interface UIAccessibilityCustomRotorItemResult : NSObject
- (instancetype)initWithTargetElement:(id<NSObject>)targetElement targetRange:(nullable UITextRange *)targetRange;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h 2024-04-26 07:48:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityElement.h 2024-05-31 08:16:58
@@ -22,7 +22,7 @@
backed by a UIView (for example: painted text or icon).
*/
-UIKIT_EXTERN API_AVAILABLE(ios(3.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIAccessibilityElement : UIResponder<UIAccessibilityIdentification>
// initialize with the accessibility container that contains this element
@@ -38,7 +38,7 @@
// When set, -[UIAccessibilityElement accessibilityFrame] will automatically adjust for the container's frame.
// This can be useful when the element is a descendant of a scroll view, for instance.
-@property (nonatomic, assign) CGRect accessibilityFrameInContainerSpace API_AVAILABLE(ios(10.0));
+@property (nonatomic, assign) CGRect accessibilityFrameInContainerSpace API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityIdentification.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityIdentification.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityIdentification.h 2024-04-26 07:47:59
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityIdentification.h 2024-05-31 08:16:57
@@ -14,7 +14,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-@protocol UIAccessibilityIdentification <NSObject>
+API_UNAVAILABLE(watchos) @protocol UIAccessibilityIdentification <NSObject>
@required
/*
@@ -41,6 +41,7 @@
Defaults to the filename of the image, if available.
The default identifier for a UIImageView will be the identifier of its UIImage.
*/
+API_UNAVAILABLE(watchos)
@interface UIImage (UIAccessibility) <UIAccessibilityIdentification>
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityZoom.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityZoom.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityZoom.h 2024-04-26 07:48:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityZoom.h 2024-05-31 08:16:58
@@ -18,15 +18,15 @@
*/
typedef NS_ENUM(NSInteger, UIAccessibilityZoomType) {
UIAccessibilityZoomTypeInsertionPoint, // Used when the text insertion point has moved
-} API_AVAILABLE(ios(5.0));
+} API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN void UIAccessibilityZoomFocusChanged(UIAccessibilityZoomType type, CGRect frame, UIView * __nonnull view) API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN void UIAccessibilityZoomFocusChanged(UIAccessibilityZoomType type, CGRect frame, UIView * __nonnull view) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
/*
If your app uses multi-finger gestures that conflict with system Zoom gestures (by using three fingers),
calling this method will warn users of the conflict.
*/
-UIKIT_EXTERN void UIAccessibilityRegisterGestureConflictWithZoom(void) API_AVAILABLE(ios(5.0));
+UIKIT_EXTERN void UIAccessibilityRegisterGestureConflictWithZoom(void) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(watchos);
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2024-04-26 07:48:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAction.h 2024-05-31 08:17:02
@@ -12,19 +12,19 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-typedef NSString *UIActionIdentifier NS_SWIFT_NAME(UIAction.Identifier) NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0));
+typedef NSString *UIActionIdentifier NS_SWIFT_NAME(UIAction.Identifier) NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
/// 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));
+UIKIT_EXTERN const UIActionIdentifier UIActionPaste API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndMatchStyle API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndGo API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIActionIdentifier UIActionPasteAndSearch API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
@class UIAction;
-typedef void (^UIActionHandler)(__kindof UIAction *action);
+typedef void (^UIActionHandler)(__kindof UIAction *action) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIAction : UIMenuElement <UIMenuLeaf>
/// Short display title.
@@ -46,7 +46,7 @@
@property (nonatomic) UIMenuElementState state;
/// If available, the object on behalf of which the actionHandler is called.
-@property (nonatomic, readonly, nullable) id sender API_AVAILABLE(ios(14.0));
+@property (nonatomic, readonly, nullable) id sender API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Creates a UIAction with an empty title, nil image, and automatically generated identifier
@@ -55,7 +55,7 @@
*
* @return A new UIAction.
*/
-+ (instancetype)actionWithHandler:(UIActionHandler)handler API_AVAILABLE(ios(14.0)) NS_SWIFT_UNAVAILABLE("Use init(title:image:identifier:discoverabilityTitle:attributes:state:handler:) instead.");
++ (instancetype)actionWithHandler:(UIActionHandler)handler API_AVAILABLE(ios(14.0)) NS_SWIFT_UNAVAILABLE("Use init(title:image:identifier:discoverabilityTitle:attributes:state:handler:) instead.") API_UNAVAILABLE(watchos);
/*!
* @abstract Creates a UIAction with the given arguments.
@@ -91,7 +91,7 @@
*
* @return A new UIAction.
*/
-+ (instancetype)captureTextFromCameraActionForResponder:(UIResponder<UIKeyInput> *)responder identifier:(nullable UIActionIdentifier)identifier NS_SWIFT_NAME(captureTextFromCamera(responder:identifier:)) API_AVAILABLE(ios(15.0));
++ (instancetype)captureTextFromCameraActionForResponder:(UIResponder<UIKeyInput> *)responder identifier:(nullable UIActionIdentifier)identifier NS_SWIFT_NAME(captureTextFromCamera(responder:identifier:)) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2024-04-09 04:16:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActionSheet.h 2024-05-30 15:54:20
@@ -21,9 +21,9 @@
UIActionSheetStyleDefault = UIBarStyleDefault,
UIActionSheetStyleBlackTranslucent = UIBarStyleBlackTranslucent,
UIActionSheetStyleBlackOpaque = UIBarStyleBlackOpaque ,
-} API_UNAVAILABLE(tvos) API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos);
+} API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
-UIKIT_EXTERN API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) 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;
@@ -59,22 +59,22 @@
@end
-API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@protocol UIActionSheetDelegate <NSObject>
@optional
// Called when a button is clicked. The view will be automatically dismissed after this call returns
-- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
-- (void)actionSheetCancel:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)actionSheetCancel:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
-- (void)willPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // before animation and showing view
-- (void)didPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // after animation
+- (void)willPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // before animation and showing view
+- (void)didPresentActionSheet:(UIActionSheet *)actionSheet API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // after animation
-- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // before animation and hiding view
-- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // after animation
+- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // before animation and hiding view
+- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 8.3)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // after animation
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivity.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivity.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivity.h 2024-04-25 04:47:31
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivity.h 2024-05-30 05:05:48
@@ -13,38 +13,38 @@
@class UIImage, UIViewController;
-typedef NSString * UIActivityType NS_TYPED_EXTENSIBLE_ENUM;
+typedef NSString * UIActivityType NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToFacebook API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToTwitter API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToWeibo API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED; // SinaWeibo
-UIKIT_EXTERN UIActivityType const UIActivityTypeMessage API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeMail API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePrint API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeCopyToPasteboard API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeAssignToContact API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeSaveToCameraRoll API_AVAILABLE(ios(6.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeAddToReadingList API_AVAILABLE(ios(7.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToFlickr API_AVAILABLE(ios(7.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToVimeo API_AVAILABLE(ios(7.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypePostToTencentWeibo API_AVAILABLE(ios(7.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeAirDrop API_AVAILABLE(ios(7.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeOpenInIBooks API_AVAILABLE(ios(9.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeMarkupAsPDF API_AVAILABLE(ios(11.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeSharePlay API_AVAILABLE(ios(15.4)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeCollaborationInviteWithLink API_AVAILABLE(ios(16.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeCollaborationCopyLink API_AVAILABLE(ios(16.0)) __TVOS_PROHIBITED;
-UIKIT_EXTERN UIActivityType const UIActivityTypeAddToHomeScreen API_AVAILABLE(ios(16.4)) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToFacebook API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToTwitter API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToWeibo API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED; // SinaWeibo
+UIKIT_EXTERN UIActivityType const UIActivityTypeMessage API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeMail API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePrint API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeCopyToPasteboard API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeAssignToContact API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeSaveToCameraRoll API_AVAILABLE(ios( 6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeAddToReadingList API_AVAILABLE(ios( 7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToFlickr API_AVAILABLE(ios( 7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToVimeo API_AVAILABLE(ios( 7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypePostToTencentWeibo API_AVAILABLE(ios( 7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeAirDrop API_AVAILABLE(ios( 7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeOpenInIBooks API_AVAILABLE(ios( 9.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeMarkupAsPDF API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeSharePlay API_AVAILABLE(ios(15.4)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeCollaborationInviteWithLink API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeCollaborationCopyLink API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
+UIKIT_EXTERN UIActivityType const UIActivityTypeAddToHomeScreen API_AVAILABLE(ios(16.4)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
typedef NS_ENUM(NSInteger, UIActivityCategory) {
UIActivityCategoryAction,
UIActivityCategoryShare,
-} NS_ENUM_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
+} API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
-NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIActivity : NSObject
+API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED @interface UIActivity : NSObject
// override methods
-@property(class, nonatomic, readonly) UIActivityCategory activityCategory API_AVAILABLE(ios(7.0)); // default is UIActivityCategoryAction.
+@property(class, nonatomic, readonly) UIActivityCategory activityCategory API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos); // default is UIActivityCategoryAction.
@property(nonatomic, readonly, nullable) UIActivityType activityType; // default returns nil. subclass may override to return custom activity type that is reported to completion handler
@property(nonatomic, readonly, nullable) NSString *activityTitle; // default returns nil. subclass must override and must return non-nil value
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h 1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityCollaborationModeRestriction.h 2024-05-30 03:59:41
@@ -0,0 +1,92 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<ShareSheet/UIActivityCollaborationModeRestriction.h>)
+//
+// UIActivityCollaborationModeRestriction.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIActivityItemsConfigurationReading.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A key for a collaboration mode restriction, used to specify the case where Share Sheet should not support some modes of sharing even if they are supported by the items being shared
+/// The object returned for this key should be an array of UIActivityCollaborationModeRestriction instances
+/// For supported behaviour, this array should have a maximum size of one less than the amount of possible Share Sheet modes
+/// Currently at most one object should be provided
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyCollaborationModeRestrictions API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos); // NSArray<UIActivityCollaborationModeRestriction *> *
+
+/// Represents the types of sharing (collaborating on an item vs. sending a copy of the item)
+/// Share Sheet supports up to two modes, each of which corresponds to one of these types
+typedef NS_ENUM(NSInteger, UIActivityCollaborationMode) {
+ UIActivityCollaborationModeSendCopy,
+ UIActivityCollaborationModeCollaborate,
+} API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Specifies whether any types of sharing should be disabled in Share Sheet, and if so, whether they should provide a reason when tapped
+/// If a reason is provided, the corresponding mode will show up as an option, but an alert explaining why it is disabled will show if it is chosen, and the mode will switch back to the supported one
+/// Optionally, an extra alert button can be provided for a "recovery suggestion". This can give a user a way to fix whatever is causing this type of sharing to be disabled
+/// If no reason is provided, the corresponding mode will not show up as an option
+API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos)
+NS_SWIFT_NAME(UIActivityViewController.CollaborationModeRestriction)
+@interface UIActivityCollaborationModeRestriction : NSObject<NSSecureCoding, NSCopying>
+
+/// The type of sharing which should be disabled
+@property (nonatomic, readonly) UIActivityCollaborationMode disabledMode;
+
+/// The title of the alert if a reason for disabling is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertTitle;
+
+/// The message of the alert if a reason for disabling is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertMessage;
+
+///The label on the alert button which will simply confirm that the alert was viewed and dismiss it
+/// Defaults to "OK"
+@property (nonatomic, readonly, copy, nullable) NSString *alertDismissButtonTitle;
+
+/// The label on the recovery suggestion button if it is provided
+@property (nonatomic, readonly, copy, nullable) NSString *alertRecoverySuggestionButtonTitle;
+
+/// On tapping the recovery suggestion button (if it is provided), the user will be launched to this URL
+@property (nonatomic, readonly, copy, nullable) NSURL *alertRecoverySuggestionButtonLaunchURL;
+
+/// - Parameters:
+/// - disabledMode: The disabled type of sharing
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode;
+
+/// - Parameters:
+/// - disabledMode: The disabled type of sharing
+/// - alertTitle: The alert title
+/// - alertMessage: The alert message
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage;
+
+/// - Parameters:
+/// - disabledMode: The disabled type of sharing
+/// - alertTitle: The alert title
+/// - alertMessage: The alert message
+/// - alertDismissButtonTitle: The label on the default alert button
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage alertDismissButtonTitle:(NSString *)alertDismissButtonTitle;
+
+/// - Parameters:
+/// - disabledMode: The disabled type of sharing
+/// - alertTitle: The alert title
+/// - alertMessage: The alert message
+/// - alertDismissButtonTitle: The label on the default alert button
+/// - alertRecoverySuggestionButtonTitle: The label on the optional recovery suggestion button on the alert
+/// - alertRecoverySuggestionButtonLaunchURL: The URL which launches when the optional recovery suggestion button is tapped
+- (instancetype)initWithDisabledMode:(UIActivityCollaborationMode)disabledMode alertTitle:(NSString *)alertTitle alertMessage:(NSString *)alertMessage alertDismissButtonTitle:(NSString *)alertDismissButtonTitle alertRecoverySuggestionButtonTitle:(NSString *)alertRecoverySuggestionButtonTitle alertRecoverySuggestionButtonLaunchURL:(NSURL *)alertRecoverySuggestionButtonLaunchURL;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+- (NSString *)description;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <ShareSheet/UIActivityCollaborationModeRestriction.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2024-04-26 07:48:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h 2024-05-31 08:17:02
@@ -12,15 +12,15 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
- UIActivityIndicatorViewStyleMedium API_AVAILABLE(ios(13.0), tvos(13.0)) = 100,
- UIActivityIndicatorViewStyleLarge API_AVAILABLE(ios(13.0), tvos(13.0)) = 101,
+ UIActivityIndicatorViewStyleMedium API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) = 100,
+ UIActivityIndicatorViewStyleLarge API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) = 101,
- UIActivityIndicatorViewStyleWhiteLarge API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleLarge", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos) = 0,
- UIActivityIndicatorViewStyleWhite API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos) = 1,
- UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos, visionos) = 2,
-};
+ UIActivityIndicatorViewStyleWhiteLarge API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleLarge", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos) = 0,
+ UIActivityIndicatorViewStyleWhite API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos) = 1,
+ UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos, visionos, watchos) = 2,
+} API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIActivityIndicatorView : UIView <NSCoding>
- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h 2024-04-19 07:58:28
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemProvider.h 2024-05-31 06:52:53
@@ -12,8 +12,9 @@
NS_ASSUME_NONNULL_BEGIN
-@class UIActivityViewController, UIImage, LPLinkMetadata;
+@class UIActivityViewController, UIImage, LPLinkMetadata, INPerson;
+API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos)
@protocol UIActivityItemSource <NSObject>
@required
@@ -23,14 +24,18 @@
@optional
-- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(nullable UIActivityType)activityType; // if activity supports a Subject field. iOS 7.0
-- (NSString *)activityViewController:(UIActivityViewController *)activityViewController dataTypeIdentifierForActivityType:(nullable UIActivityType)activityType; // UTI for item if it is an NSData. iOS 7.0. will be called with nil activity and then selected activity
-- (nullable UIImage *)activityViewController:(UIActivityViewController *)activityViewController thumbnailImageForActivityType:(nullable UIActivityType)activityType suggestedSize:(CGSize)size; // if activity supports preview image. iOS 7.0
-- (nullable LPLinkMetadata *)activityViewControllerLinkMetadata:(UIActivityViewController *)activityViewController API_AVAILABLE(ios(13.0)); // called to fetch LinkPresentation metadata for the activity item. iOS 13.0
+- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(nullable UIActivityType)activityType API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos); // if activity supports a Subject field. iOS 7.0
+- (NSString *)activityViewController:(UIActivityViewController *)activityViewController dataTypeIdentifierForActivityType:(nullable UIActivityType)activityType API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos); // UTI for item if it is an NSData. iOS 7.0. will be called with nil activity and then selected activity
+- (nullable UIImage *)activityViewController:(UIActivityViewController *)activityViewController thumbnailImageForActivityType:(nullable UIActivityType)activityType suggestedSize:(CGSize)size API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos); // if activity supports preview image. iOS 7.0
+- (nullable LPLinkMetadata *)activityViewControllerLinkMetadata:(UIActivityViewController *)activityViewController API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos); // called to fetch LinkPresentation metadata for the activity item. iOS 13.0
+/// @abstract Allows the activity item source to provide recipients who will be filled in by default in the compose view if that sharing app supports it.
+/// @discussion This might fail to pre-fill correctly if the sharing app chosen by the user can't recognize the provided person. Also, if a people suggestion is chosen, that suggestion will override this provided value.
+- (NSArray<INPerson *> *)activityViewControllerShareRecipients:(UIActivityViewController *)activityViewController API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos);
+
@end
-NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIActivityItemProvider : NSOperation <UIActivityItemSource>
+API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED @interface UIActivityItemProvider : NSOperation <UIActivityItemSource>
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithPlaceholderItem:(id)placeholderItem NS_DESIGNATED_INITIALIZER; // placeHolder is the return value for -activityViewControllerPlaceholderItem:
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h 1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityItemsConfigurationReading+ShareSheet.h 2024-05-31 06:52:53
@@ -0,0 +1,20 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<ShareSheet/UIActivityItemsConfigurationReading+ShareSheet.h>)
+//
+// UIActivityItemsConfigurationReading+ShareSheet.h
+// ShareSheet
+//
+// Created by Miranda Zhou on 3/7/24.
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKitDefines.h>
+#import <UIKit/UIActivityItemsConfigurationReading.h>
+
+/// @abstract A key for an array of INPerson objects representing recipients who will be filled in by default in the compose view if that sharing app supports it.
+/// @discussion This might fail to pre-fill correctly if the sharing app chosen by the user can't recognize the provided person. Also, if a people suggestion is chosen, that suggestion will override this provided value.
+UIKIT_EXTERN UIActivityItemsConfigurationMetadataKey const UIActivityItemsConfigurationMetadataKeyShareRecipients API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+
+#else
+#import <ShareSheet/UIActivityItemsConfigurationReading+ShareSheet.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h 2024-04-19 07:58:28
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityViewController.h 2024-05-31 06:52:53
@@ -15,20 +15,28 @@
@protocol UIActivityItemsConfigurationReading;
-typedef void (^UIActivityViewControllerCompletionHandler)(UIActivityType __nullable activityType, BOOL completed);
-typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(UIActivityType __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError);
+typedef NS_OPTIONS(NSUInteger, UIActivitySectionTypes) {
+ UIActivitySectionTypesNone = 0,
+ UIActivitySectionTypesPeopleSuggestions = (1 << 0),
+} API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
-NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIActivityViewController : UIViewController
+typedef void (^UIActivityViewControllerCompletionHandler)(UIActivityType __nullable activityType, BOOL completed) API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos);
+typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(UIActivityType __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
+API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED @interface UIActivityViewController : UIViewController
+
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
- (instancetype)initWithActivityItems:(NSArray *)activityItems applicationActivities:(nullable NSArray<__kindof UIActivity *> *)applicationActivities NS_DESIGNATED_INITIALIZER;
-@property(nullable, nonatomic, copy) UIActivityViewControllerCompletionHandler completionHandler API_DEPRECATED_WITH_REPLACEMENT("completionWithItemsHandler", ios(6.0, 8.0)); // set to nil after activity performs or view controller is dismissed
-@property(nullable, nonatomic, copy) UIActivityViewControllerCompletionWithItemsHandler completionWithItemsHandler API_AVAILABLE(ios(8.0)); // set to nil after activity performs or view controller is dismissed
+@property(nullable, nonatomic, copy) UIActivityViewControllerCompletionHandler completionHandler API_DEPRECATED_WITH_REPLACEMENT("completionWithItemsHandler", ios(6.0, 8.0)) API_UNAVAILABLE(watchos); // set to nil after activity performs or view controller is dismissed
+@property(nullable, nonatomic, copy) UIActivityViewControllerCompletionWithItemsHandler completionWithItemsHandler API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos); // set to nil after activity performs or view controller is dismissed
@property(nullable, nonatomic, copy) NSArray<UIActivityType> *excludedActivityTypes; // default is nil. activity types listed will not be displayed
+
+/// Hides some sections of the activity view controller. Default is none
+@property (nonatomic) UIActivitySectionTypes excludedActivitySectionTypes API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos);
/// In some contexts, the activity view controller can elevate a specific activity in the header view to enhance it.
/// The prominent activity can only be chosen by the system.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h 2024-04-26 07:48:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h 2024-05-31 08:16:57
@@ -16,19 +16,19 @@
UIAlertActionStyleDefault = 0,
UIAlertActionStyleCancel,
UIAlertActionStyleDestructive
-} API_AVAILABLE(ios(8.0));
+} API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {
UIAlertControllerStyleActionSheet = 0,
UIAlertControllerStyleAlert
-} API_AVAILABLE(ios(8.0));
+} API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIAlertControllerSeverity) {
UIAlertControllerSeverityDefault = 0,
UIAlertControllerSeverityCritical
-} API_AVAILABLE(ios(16.0));
+} API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIAlertAction : NSObject <NSCopying>
+ (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler;
@@ -39,7 +39,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(8.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIAlertController : UIViewController
+ (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle;
@@ -57,7 +57,7 @@
@property (nonatomic, readonly) UIAlertControllerStyle preferredStyle;
-@property (nonatomic) UIAlertControllerSeverity severity API_AVAILABLE(ios(16.0));
+@property (nonatomic) UIAlertControllerSeverity severity API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2024-04-18 07:56:02
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h 2024-05-31 07:26:14
@@ -18,12 +18,12 @@
UIAlertViewStyleSecureTextInput,
UIAlertViewStylePlainTextInput,
UIAlertViewStyleLoginAndPasswordInput
-} API_UNAVAILABLE(tvos);
+} API_UNAVAILABLE(tvos, watchos);
@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(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead", ios(2.0, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) 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;
@@ -63,25 +63,25 @@
@end
-API_UNAVAILABLE(tvos, visionos) NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(tvos, visionos, watchos) NS_SWIFT_UI_ACTOR
@protocol UIAlertViewDelegate <NSObject>
@optional
// Called when a button is clicked. The view will be automatically dismissed after this call returns
-- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos);
+- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos);
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
-- (void)alertViewCancel:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos);
+- (void)alertViewCancel:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos);
-- (void)willPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos); // before animation and showing view
-- (void)didPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos); // after animation
+- (void)willPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos); // before animation and showing view
+- (void)didPresentAlertView:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos); // after animation
-- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos); // before animation and hiding view
-- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos); // after animation
+- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos); // before animation and hiding view
+- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos); // after animation
// Called after edits in any of the default fields added by the style
-- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos);
+- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView API_DEPRECATED("Use UIAlertController instead.", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2024-04-26 07:48:03
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAppearance.h 2024-05-31 08:17:01
@@ -21,10 +21,10 @@
*/
#define UI_APPEARANCE_SELECTOR __attribute__((annotate("ui_appearance_selector")))
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIAppearanceContainer <NSObject> @end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) 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];
@@ -43,11 +43,11 @@
In other words, the containment statement is treated as a partial ordering. Given a concrete ordering (actual subview hierarchy), we select the partial ordering that is the first unique match when reading the actual hierarchy from the window down.
*/
-+ (instancetype)appearanceWhenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceWhenContainedInInstancesOfClasses:", ios(5.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
++ (instancetype)appearanceWhenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceWhenContainedInInstancesOfClasses:", ios(5.0, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+ (instancetype)appearanceWhenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes API_AVAILABLE(ios(9.0));
+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait API_AVAILABLE(ios(8.0));
-+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceForTraitCollection:whenContainedInInstancesOfClasses:", ios(8.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
++ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedIn:(nullable Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION API_DEPRECATED_WITH_REPLACEMENT("appearanceForTraitCollection:whenContainedInInstancesOfClasses:", ios(8.0, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes API_AVAILABLE(ios(9.0));
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2024-04-09 04:16:12
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h 2024-05-31 08:16:57
@@ -22,22 +22,22 @@
typedef NS_ENUM(NSInteger, UIStatusBarStyle) {
UIStatusBarStyleDefault = 0, // Automatically chooses light or dark content based on the user interface style
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
+ UIStatusBarStyleDarkContent API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) = 3, // Dark content, for use on light backgrounds
- UIStatusBarStyleBlackTranslucent API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(visionos) = 1,
- UIStatusBarStyleBlackOpaque API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(visionos) = 2,
-} API_UNAVAILABLE(tvos);
+ UIStatusBarStyleBlackTranslucent API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(visionos, watchos) = 1,
+ UIStatusBarStyleBlackOpaque API_DEPRECATED_WITH_REPLACEMENT("UIStatusBarStyleLightContent", ios(2.0, 7.0)) API_UNAVAILABLE(visionos, watchos) = 2,
+} API_UNAVAILABLE(tvos, watchos);
typedef NS_ENUM(NSInteger, UIStatusBarAnimation) {
UIStatusBarAnimationNone,
UIStatusBarAnimationFade API_AVAILABLE(ios(3.2)),
UIStatusBarAnimationSlide API_AVAILABLE(ios(3.2)),
-} API_UNAVAILABLE(tvos);
+} API_UNAVAILABLE(tvos, watchos);
/* This exception is raised if supportedInterfaceOrientations returns 0, or if preferredInterfaceOrientationForPresentation
returns an orientation that is not supported.
*/
-UIKIT_EXTERN NSExceptionName const UIApplicationInvalidInterfaceOrientationException API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSExceptionName const UIApplicationInvalidInterfaceOrientationException API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos, watchos);
typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) {
UIRemoteNotificationTypeNone = 0,
@@ -45,33 +45,33 @@
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
-} API_DEPRECATED("Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.", ios(3.0, 8.0)) API_UNAVAILABLE(visionos) 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) API_UNAVAILABLE(visionos, watchos);
typedef NS_ENUM(NSUInteger, UIBackgroundFetchResult) {
UIBackgroundFetchResultNewData,
UIBackgroundFetchResultNoData,
UIBackgroundFetchResultFailed
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIBackgroundRefreshStatus) {
UIBackgroundRefreshStatusRestricted, // unavailable on this system due to device configuration; the user cannot enable the feature
UIBackgroundRefreshStatusDenied, // explicitly disabled by the user for this application
UIBackgroundRefreshStatusAvailable // enabled for this application
-} API_AVAILABLE(ios(7.0), tvos(11.0));
+} API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIApplicationState) {
UIApplicationStateActive,
UIApplicationStateInactive,
UIApplicationStateBackground
-} API_AVAILABLE(ios(4.0));
+} API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
-typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM;
-UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos);
-UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0));
-UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalNever API_AVAILABLE(ios(7.0), tvos(11.0));
+typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
+UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalNever API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
-typedef NSString * UIApplicationOpenExternalURLOptionsKey NS_TYPED_ENUM;
+typedef NSString * UIApplicationOpenExternalURLOptionsKey NS_TYPED_ENUM API_UNAVAILABLE(watchos);
@class CKShareMetadata;
@class UIView, UIWindow;
@@ -81,36 +81,36 @@
@class INIntentResponse;
@class UIScene, UIWindowScene, UISceneSession, UISceneSessionActivationRequest, UISceneConfiguration, UISceneConnectionOptions, UISceneActivationRequestOptions, UISceneDestructionRequestOptions;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) 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.");
@property(nullable, nonatomic, assign) id<UIApplicationDelegate> delegate;
-- (void)beginIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // nested. set should be set during animations & transitions to ignore touch and other events
-- (void)endIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0));
-@property(nonatomic, readonly, getter=isIgnoringInteractionEvents) BOOL ignoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // returns YES if we are at least one deep in ignoring events
+- (void)beginIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos); // nested. set should be set during animations & transitions to ignore touch and other events
+- (void)endIgnoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(watchos);
+@property(nonatomic, readonly, getter=isIgnoringInteractionEvents) BOOL ignoringInteractionEvents API_DEPRECATED("Use UIView's userInteractionEnabled property instead", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos); // returns YES if we are at least one deep in ignoring events
@property(nonatomic,getter=isIdleTimerDisabled) BOOL idleTimerDisabled; // default is NO
-- (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT("openURL:options:completionHandler:", ios(2.0, 10.0)) API_UNAVAILABLE(visionos);
-- (BOOL)canOpenURL:(NSURL *)url API_AVAILABLE(ios(3.0));
+- (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT("openURL:options:completionHandler:", ios(2.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
+- (BOOL)canOpenURL:(NSURL *)url API_AVAILABLE(ios(3.0)) NS_SWIFT_NONISOLATED;
// Options are specified in the section below for openURL options. An empty options dictionary will result in the same
// behavior as the older openURL call, aside from the fact that this is asynchronous and calls the completion handler rather
// than returning a result.
// The completion handler is called on the main queue.
-- (void)openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion API_AVAILABLE(ios(10.0));
+- (void)openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
- (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)) API_UNAVAILABLE(visionos);
-@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0));
+@property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
+@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
- (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
-@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible API_UNAVAILABLE(tvos) API_DEPRECATED("Provide a custom network activity UI in your app if desired.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos);
+@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible API_DEPRECATED("Provide a custom network activity UI in your app if desired.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
@property(readonly, nonatomic) UIStatusBarStyle statusBarStyle API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // default is UIStatusBarStyleDefault
@@ -127,20 +127,21 @@
// orientations supported by this application.
- (UIInterfaceOrientationMask)supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
-@property(nonatomic,readonly) NSTimeInterval statusBarOrientationAnimationDuration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // Returns the animation duration for the status bar during a 90 degree orientation change. It should be doubled for a 180 degree orientation change.
-@property(nonatomic,readonly) CGRect statusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // returns CGRectZero if the status bar is hidden
+@property(nonatomic,readonly) NSTimeInterval statusBarOrientationAnimationDuration API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // Returns the animation duration for the status bar during a 90 degree orientation change. It should be doubled for a 180 degree orientation change.
+@property(nonatomic,readonly) CGRect statusBarFrame API_DEPRECATED("Use the statusBarManager property of the window scene instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // returns CGRectZero if the status bar is hidden
-@property(nonatomic) NSInteger applicationIconBadgeNumber API_DEPRECATED("Use -[UNUserNotificationCenter setBadgeCount:withCompletionHandler:] instead.", ios(2.0, 17.0));
+@property(nonatomic) NSInteger applicationIconBadgeNumber API_DEPRECATED("Use -[UNUserNotificationCenter setBadgeCount:withCompletionHandler:] instead.", ios(2.0, 17.0)) API_UNAVAILABLE(watchos);
@property(nonatomic) BOOL applicationSupportsShakeToEdit API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos);
@property(nonatomic,readonly) UIApplicationState applicationState API_AVAILABLE(ios(4.0));
-@property(nonatomic,readonly) NSTimeInterval backgroundTimeRemaining API_AVAILABLE(ios(4.0));
-- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^ __nullable)(void))handler API_AVAILABLE(ios(4.0)) NS_REQUIRES_SUPER;
-- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithName:(nullable NSString *)taskName expirationHandler:(void(^ __nullable)(void))handler API_AVAILABLE(ios(7.0)) NS_REQUIRES_SUPER;
-- (void)endBackgroundTask:(UIBackgroundTaskIdentifier)identifier API_AVAILABLE(ios(4.0)) NS_REQUIRES_SUPER;
+@property(nonatomic,readonly) NSTimeInterval backgroundTimeRemaining API_AVAILABLE(ios(4.0)) NS_SWIFT_NONISOLATED;
+- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^ __nullable NS_SWIFT_UI_ACTOR)(void))handler API_AVAILABLE(ios(4.0)) NS_REQUIRES_SUPER NS_SWIFT_NONISOLATED;
+- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithName:(nullable NSString *)taskName expirationHandler:(void(^ __nullable NS_SWIFT_UI_ACTOR)(void))handler API_AVAILABLE(ios(7.0)) NS_REQUIRES_SUPER NS_SWIFT_NONISOLATED;
+- (void)endBackgroundTask:(UIBackgroundTaskIdentifier)identifier API_AVAILABLE(ios(4.0)) NS_REQUIRES_SUPER NS_SWIFT_NONISOLATED;
+
/*! The system guarantees that it will not wake up your application for a background fetch more
frequently than the interval provided. Set to UIApplicationBackgroundFetchIntervalMinimum to be
woken as frequently as the system desires, or to UIApplicationBackgroundFetchIntervalNever (the
@@ -149,7 +150,7 @@
This setter will have no effect unless your application has the "fetch"
UIBackgroundMode. See the UIApplicationDelegate method
`application:performFetchWithCompletionHandler:` for more. */
-- (void)setMinimumBackgroundFetchInterval:(NSTimeInterval)minimumBackgroundFetchInterval API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(visionos);
+- (void)setMinimumBackgroundFetchInterval:(NSTimeInterval)minimumBackgroundFetchInterval API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
;
/*! When background refresh is available for an application, it may launched or resumed in the background to handle significant
@@ -157,7 +158,7 @@
be notified of changes. */
@property (nonatomic, readonly) UIBackgroundRefreshStatus backgroundRefreshStatus API_AVAILABLE(ios(7.0), tvos(11.0));
-@property(nonatomic,readonly,getter=isProtectedDataAvailable) BOOL protectedDataAvailable API_AVAILABLE(ios(4.0));
+@property(nonatomic,readonly,getter=isProtectedDataAvailable) BOOL protectedDataAvailable API_AVAILABLE(ios(4.0)) NS_SWIFT_NONISOLATED;
@property(nonatomic,readonly) UIUserInterfaceLayoutDirection userInterfaceLayoutDirection API_AVAILABLE(ios(5.0));
@@ -166,13 +167,13 @@
#pragma mark -- UIScene --
// All of the currently connected UIScene instances
-@property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0));
+@property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
// All of the representations that currently have connected UIScene instances or had their sessions persisted by the system (ex: visible in iOS' switcher)
-@property(nonatomic, readonly) NSSet<UISceneSession *> *openSessions API_AVAILABLE(ios(13.0));
+@property(nonatomic, readonly) NSSet<UISceneSession *> *openSessions API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
// returns YES if the application both declares multiple scene support in its info.plist and the executing environment allows multiple scenes for at least one system type. NO otherwise.
-@property(nonatomic, readonly) BOOL supportsMultipleScenes API_AVAILABLE(ios(13.0));
+@property(nonatomic, readonly) BOOL supportsMultipleScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
/// Asks the system to activate an existing scene, or create a new scene and associate it with your app.
/// - Parameters:
@@ -184,13 +185,13 @@
- (void)requestSceneSessionActivation:(nullable UISceneSession *)sceneSession
userActivity:(nullable NSUserActivity *)userActivity
options:(nullable UISceneActivationRequestOptions *)options
- errorHandler:(nullable void (^)(NSError * error))errorHandler API_DEPRECATED("Please use activateSceneSessionForRequest:errorHandler:", ios(13.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
+ errorHandler:(nullable void (^)(NSError * error))errorHandler API_DEPRECATED("Please use activateSceneSessionForRequest:errorHandler:", ios(13.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(watchos);
// requests that a given session be closed, disconnecting the currently connected scene if present, and calling the -application:didDiscardSceneSessions: method on the application's delegate
-- (void)requestSceneSessionDestruction:(UISceneSession *)sceneSession options:(nullable UISceneDestructionRequestOptions *)options errorHandler:(nullable void (^)(NSError * error))errorHandler API_AVAILABLE(ios(13.0));
+- (void)requestSceneSessionDestruction:(UISceneSession *)sceneSession options:(nullable UISceneDestructionRequestOptions *)options errorHandler:(nullable void (^)(NSError * error))errorHandler API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
// requests that any system UI representing a scene be updated due to background updates or any other relevant model/state update.
-- (void)requestSceneSessionRefresh:(UISceneSession *)sceneSession API_AVAILABLE(ios(13.0));
+- (void)requestSceneSessionRefresh:(UISceneSession *)sceneSession API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
@end
@@ -204,23 +205,23 @@
// Returns YES if the application is currently registered for remote notifications, taking into account any systemwide settings; doesn't relate to connectivity.
@property(nonatomic, readonly, getter=isRegisteredForRemoteNotifications) BOOL registeredForRemoteNotifications API_AVAILABLE(ios(8.0));
-- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types API_DEPRECATED("Use -[UIApplication registerForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(3.0, 8.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types API_DEPRECATED("Use -[UIApplication registerForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(3.0, 8.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Returns the enabled types, also taking into account any systemwide settings; doesn't relate to connectivity.
-- (UIRemoteNotificationType)enabledRemoteNotificationTypes API_DEPRECATED("Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings", ios(3.0, 8.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (UIRemoteNotificationType)enabledRemoteNotificationTypes API_DEPRECATED("Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings", ios(3.0, 8.0)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
// In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to schedule and present UILocalNotifications
@interface UIApplication (UILocalNotifications)
-- (void)presentLocalNotificationNow:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)presentLocalNotificationNow:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
-- (void)scheduleLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // copies notification
-- (void)cancelLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (void)cancelAllLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)scheduleLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos); // copies notification
+- (void)cancelLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+- (void)cancelAllLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
-@property(nullable,nonatomic,copy) NSArray<UILocalNotification *> *scheduledLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getPendingNotificationRequestsWithCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(nullable,nonatomic,copy) NSArray<UILocalNotification *> *scheduledLocalNotifications API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getPendingNotificationRequestsWithCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
@@ -228,10 +229,10 @@
@interface UIApplication (UIUserNotificationSettings)
// Registering UIUserNotificationSettings more than once results in previous settings being overwritten.
-- (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Returns the enabled user notification settings, also taking into account any systemwide settings.
-@property(nonatomic, readonly, nullable) UIUserNotificationSettings *currentUserNotificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] and -[UNUserNotificationCenter getNotificationCategoriesWithCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(nonatomic, readonly, nullable) UIUserNotificationSettings *currentUserNotificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter getNotificationSettingsWithCompletionHandler:] and -[UNUserNotificationCenter getNotificationCategoriesWithCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
@@ -243,7 +244,7 @@
@end
@interface UIApplication (UINewsstand)
-- (void)setNewsstandIconImage:(nullable UIImage *)image API_DEPRECATED("Newsstand apps now behave like normal apps on SpringBoard", ios(5.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)setNewsstandIconImage:(nullable UIImage *)image API_DEPRECATED("Newsstand apps now behave like normal apps on SpringBoard", ios(5.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
@class UIApplicationShortcutItem;
@@ -254,13 +255,13 @@
@interface UIApplication (UIAlternateApplicationIcons)
// If false, alternate icons are not supported for the current process.
-@property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
+@property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2)) API_UNAVAILABLE(watchos);
// Pass `nil` to use the primary application icon. The completion handler will be invoked asynchronously on an arbitrary background queue; be sure to dispatch back to the main queue before doing any further UI work.
-- (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
+- (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2)) API_UNAVAILABLE(watchos);
// If `nil`, the primary application icon is being used.
-@property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
+@property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2)) API_UNAVAILABLE(watchos);
@end
@protocol UIStateRestoring;
@@ -283,9 +284,9 @@
@end
-typedef NSString * UIApplicationLaunchOptionsKey NS_TYPED_ENUM;
+typedef NSString * UIApplicationLaunchOptionsKey NS_TYPED_ENUM API_UNAVAILABLE(watchos);
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIApplicationDelegate<NSObject>
@optional
@@ -296,11 +297,11 @@
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(4.2, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(2.0, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation API_DEPRECATED_WITH_REPLACEMENT("application:openURL:options:", ios(4.2, 9.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
-typedef NSString * UIApplicationOpenURLOptionsKey NS_TYPED_ENUM;
+typedef NSString * UIApplicationOpenURLOptionsKey NS_TYPED_ENUM API_UNAVAILABLE(watchos);
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options API_AVAILABLE(ios(9.0)); // no equiv. notification. return NO if the application can't open for some reason
@@ -308,36 +309,36 @@
- (void)applicationWillTerminate:(UIApplication *)application;
- (void)applicationSignificantTimeChange:(UIApplication *)application; // midnight, carrier time update, daylight savings time change
-- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos);
-- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos);
+- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
-- (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // in screen coordinates
-- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos);
+- (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos); // in screen coordinates
+- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
// This callback will be made upon calling -[UIApplication registerUserNotificationSettings:]. The settings the user has granted to the application will be passed in as the second argument.
-- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken API_AVAILABLE(ios(3.0));
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error API_AVAILABLE(ios(3.0));
-- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:] for user visible notifications and -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] for silent remote notifications", ios(3.0, 10.0)) API_UNAVAILABLE(visionos);
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:] for user visible notifications and -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] for silent remote notifications", ios(3.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
-- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] or -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Called when your app has been activated by the user selecting an action from a local notification.
// A nil action identifier indicates the default action.
// You should call the completion handler as soon as you've finished handling the action.
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Called when your app has been activated by the user selecting an action from a remote notification.
// A nil action identifier indicates the default action.
// You should call the completion handler as soon as you've finished handling the action.
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(8.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
-- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)(void))completionHandler API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(9.0, 10.0)) API_UNAVAILABLE(visionos, tvos, watchos);
/*! This delegate method offers an opportunity for applications with the "remote-notification" background mode to fetch appropriate new data in response to an incoming remote notification. You should call the fetchCompletionHandler as soon as you're finished performing that operation, so the system can accurately estimate its power and data cost.
@@ -345,7 +346,7 @@
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler API_AVAILABLE(ios(7.0));
/// Applications with the "fetch" background mode may be given opportunities to fetch updated content in the background or when it is convenient for the system. This method will be called in these situations. You should call the fetchCompletionHandler as soon as you're finished performing that operation, so the system can accurately estimate its power and data cost.
-- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_SWIFT_DISABLE_ASYNC API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(visionos);
+- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_SWIFT_DISABLE_ASYNC API_DEPRECATED("Use a BGAppRefreshTask in the BackgroundTasks framework instead", ios(7.0, 13.0), tvos(11.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
// Called when the user activates your application by selecting a shortcut on the home screen,
// except when -application:willFinishLaunchingWithOptions: or -application:didFinishLaunchingWithOptions returns NO.
@@ -362,9 +363,9 @@
- (void)applicationShouldRequestHealthAuthorization:(UIApplication *)application API_AVAILABLE(ios(9.0));
-- (nullable id)application:(UIApplication *)application handlerForIntent:(INIntent *)intent API_AVAILABLE(ios(14.0));
+- (nullable id)application:(UIApplication *)application handlerForIntent:(INIntent *)intent API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
-- (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler API_DEPRECATED("Use application:handlerForIntent: instead", ios(11.0, 14.0), visionos(1.0, 1.0));
+- (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler API_DEPRECATED("Use application:handlerForIntent: instead", ios(11.0, 14.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
- (void)applicationDidEnterBackground:(UIApplication *)application API_AVAILABLE(ios(4.0));
- (void)applicationWillEnterForeground:(UIApplication *)application API_AVAILABLE(ios(4.0));
@@ -376,7 +377,7 @@
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(tvos);
-typedef NSString * UIApplicationExtensionPointIdentifier NS_TYPED_ENUM;
+typedef NSString * UIApplicationExtensionPointIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
// Applications may reject specific types of extensions based on the extension point identifier.
// Constants representing common extension point identifiers are provided further down.
@@ -386,14 +387,14 @@
#pragma mark -- State Restoration protocol adopted by UIApplication delegate --
- (nullable UIViewController *) application:(UIApplication *)application viewControllerWithRestorationIdentifierPath:(NSArray<NSString *> *)identifierComponents coder:(NSCoder *)coder API_AVAILABLE(ios(6.0));
-- (BOOL)application:(UIApplication *)application shouldSaveSecureApplicationState:(NSCoder *)coder API_AVAILABLE(ios(13.2));
-- (BOOL)application:(UIApplication *)application shouldRestoreSecureApplicationState:(NSCoder *)coder API_AVAILABLE(ios(13.2));
+- (BOOL)application:(UIApplication *)application shouldSaveSecureApplicationState:(NSCoder *)coder API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos);
+- (BOOL)application:(UIApplication *)application shouldRestoreSecureApplicationState:(NSCoder *)coder API_AVAILABLE(ios(13.2)) API_UNAVAILABLE(watchos);
- (void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder API_AVAILABLE(ios(6.0));
- (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder API_AVAILABLE(ios(6.0));
// Deprecated State Restoration opt-in methods:
-- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldSaveSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(visionos);
-- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldRestoreSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(visionos);
+- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldSaveSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(visionos, watchos);
+- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder API_DEPRECATED("Use application:shouldRestoreSecureApplicationState: instead", ios(6.0, 13.2)) API_UNAVAILABLE(visionos, watchos);
#pragma mark -- User Activity Continuation protocol adopted by UIApplication delegate --
@@ -419,117 +420,117 @@
// This will be called on the main thread after the user indicates they want to accept a CloudKit sharing invitation in your application.
// You should use the CKShareMetadata object's shareURL and containerIdentifier to schedule a CKAcceptSharesOperation, then start using
// the resulting CKShare and its associated record(s), which will appear in the CKContainer's shared database in a zone matching that of the record's owner.
-- (void)application:(UIApplication *)application userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata API_AVAILABLE(ios(10.0));
+- (void)application:(UIApplication *)application userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
#pragma mark -- UIScene Support --
// Called when the UIKit is about to create & vend a new UIScene instance to the application.
// The application delegate may modify the provided UISceneConfiguration within this method.
// If the UISceneConfiguration instance returned from this method does not have a systemType which matches the connectingSession's, UIKit will assert
-- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options API_AVAILABLE(ios(13.0));
+- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
// 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 application's next launch.
-- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0));
+- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
#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));
+- (BOOL)applicationShouldAutomaticallyLocalizeKeyCommands:(UIApplication *)application API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
@end
@interface UIApplication(UIApplicationDeprecated)
-@property(nonatomic,getter=isProximitySensingEnabled) BOOL proximitySensingEnabled API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(visionos, tvos); // default is NO. see UIDevice for replacement
-- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 3.2)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(nonatomic,getter=isProximitySensingEnabled) BOOL proximitySensingEnabled API_DEPRECATED("", ios(2.0, 3.0)) API_UNAVAILABLE(visionos, tvos, watchos); // default is NO. see UIDevice for replacement
+- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 3.2)) API_UNAVAILABLE(visionos, tvos, watchos);
// Explicit setting of the status bar orientation is more limited in iOS 6.0 and later.
-@property(readwrite, nonatomic) UIInterfaceOrientation statusBarOrientation API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic) UIInterfaceOrientation statusBarOrientation API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+- (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated API_DEPRECATED("Explicit setting of the status bar orientation is more limited in iOS 6.0 and later", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Setting the statusBarStyle does nothing if your application is using the default UIViewController-based status bar system.
-@property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated API_DEPRECATED("Use -[UIViewController preferredStatusBarStyle]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.
-@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(3.2, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation API_DEPRECATED("Use -[UIViewController prefersStatusBarHidden]", ios(3.2, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
-- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-- (void)clearKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
+- (void)clearKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications instead of calling this method", ios(4.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
@end
// If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no
// NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init.
-UIKIT_EXTERN int UIApplicationMain(int argc, char * _Nullable argv[_Nonnull], NSString * _Nullable principalClassName, NSString * _Nullable delegateClassName);
+UIKIT_EXTERN int UIApplicationMain(int argc, char * _Nullable argv[_Nonnull], NSString * _Nullable principalClassName, NSString * _Nullable delegateClassName) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN NSRunLoopMode const UITrackingRunLoopMode;
+UIKIT_EXTERN NSRunLoopMode const UITrackingRunLoopMode API_UNAVAILABLE(watchos);
// These notifications are sent out after the equivalent delegate message is called
-UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification;
-UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo contains NSNumber with new orientation
-UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarOrientationNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo contains NSNumber with old orientation
-UIKIT_EXTERN NSString *const UIApplicationStatusBarOrientationUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo dictionary key for status bar orientation
-UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo contains NSValue with new frame
-UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarFrameNotification API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo contains NSValue with old frame
-UIKIT_EXTERN NSString *const UIApplicationStatusBarFrameUserInfoKey API_UNAVAILABLE(tvos) API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(visionos); // userInfo dictionary key for status bar frame
-UIKIT_EXTERN NSNotificationName const UIApplicationBackgroundRefreshStatusDidChangeNotification API_AVAILABLE(ios(7.0), tvos(11.0));
+UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSNumber with new orientation
+UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarOrientationNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSNumber with old orientation
+UIKIT_EXTERN NSString *const UIApplicationStatusBarOrientationUserInfoKey API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo dictionary key for status bar orientation
+UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarFrameNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSValue with new frame
+UIKIT_EXTERN NSNotificationName const UIApplicationDidChangeStatusBarFrameNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSValue with old frame
+UIKIT_EXTERN NSString *const UIApplicationStatusBarFrameUserInfoKey API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo dictionary key for status bar frame
+UIKIT_EXTERN NSNotificationName const UIApplicationBackgroundRefreshStatusDidChangeNotification API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
-UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataWillBecomeUnavailable API_AVAILABLE(ios(4.0));
-UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataDidBecomeAvailable API_AVAILABLE(ios(4.0));
+UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataWillBecomeUnavailable API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
+UIKIT_EXTERN NSNotificationName const UIApplicationProtectedDataDidBecomeAvailable API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsURLKey NS_SWIFT_NAME(url) API_AVAILABLE(ios(3.0)); // userInfo contains NSURL with launch URL
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsSourceApplicationKey NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(3.0)); // userInfo contains NSString with bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsRemoteNotificationKey NS_SWIFT_NAME(remoteNotification) API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // userInfo contains NSDictionary with payload
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocalNotificationKey NS_SWIFT_NAME(localNotification) API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // userInfo contains a UILocalNotification
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsAnnotationKey NS_SWIFT_NAME(annotation) API_DEPRECATED("This dictionary key is no longer used.", ios(3.2, 16.0)) API_UNAVAILABLE(visionos); // userInfo contains object with annotation property list
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocationKey NS_SWIFT_NAME(location) API_AVAILABLE(ios(4.0)); // app was launched in response to a CoreLocation event.
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsNewsstandDownloadsKey NS_SWIFT_NAME(newsstandDownloads) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // userInfo contains an NSArray of NKAssetDownload identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothCentralsKey NS_SWIFT_NAME(bluetoothCentrals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBCentralManager restore identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothPeripheralsKey NS_SWIFT_NAME(bluetoothPeripherals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBPeripheralManager restore identifiers
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsShortcutItemKey NS_SWIFT_NAME(shortcutItem) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos); // userInfo contains the UIApplicationShortcutItem used to launch the app.
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsURLKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(url) API_AVAILABLE(ios(3.0)); // userInfo contains NSURL with launch URL
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsSourceApplicationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(3.0)); // userInfo contains NSString with bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsRemoteNotificationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(remoteNotification) API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // userInfo contains NSDictionary with payload
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocalNotificationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(localNotification) API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos); // userInfo contains a UILocalNotification
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsAnnotationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(annotation) API_DEPRECATED("This dictionary key is no longer used.", ios(3.2, 16.0)) API_UNAVAILABLE(visionos); // userInfo contains object with annotation property list
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsLocationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(location) API_AVAILABLE(ios(4.0)); // app was launched in response to a CoreLocation event.
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsNewsstandDownloadsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(newsstandDownloads) API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // userInfo contains an NSArray of NKAssetDownload identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothCentralsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(bluetoothCentrals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBCentralManager restore identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsBluetoothPeripheralsKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(bluetoothPeripherals) API_AVAILABLE(ios(7.0)); // userInfo contains an NSArray of CBPeripheralManager restore identifiers
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsShortcutItemKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(shortcutItem) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos); // userInfo contains the UIApplicationShortcutItem used to launch the app.
UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos); // userInfo contains a UIEventAttribution to go along with a URL open on launch
// Key in options dict passed to application:[will | did]FinishLaunchingWithOptions and info for UIApplicationDidFinishLaunchingNotification
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityDictionaryKey NS_SWIFT_NAME(userActivityDictionary) API_AVAILABLE(ios(8.0)); // Sub-Dictionary present in launch options when user activity is present
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityTypeKey NS_SWIFT_NAME(userActivityType) API_AVAILABLE(ios(8.0)); // Key in user activity dictionary for the activity type
-UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsCloudKitShareMetadataKey NS_SWIFT_NAME(cloudKitShareMetadata) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos); // The presence of this key indicates that the app was launched in order to handle a CloudKit sharing invitation. The value of this key is a CKShareMetadata object.
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityDictionaryKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(userActivityDictionary) API_AVAILABLE(ios(8.0)); // Sub-Dictionary present in launch options when user activity is present
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsUserActivityTypeKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(userActivityType) API_AVAILABLE(ios(8.0)); // Key in user activity dictionary for the activity type
+UIKIT_EXTERN UIApplicationLaunchOptionsKey const UIApplicationLaunchOptionsCloudKitShareMetadataKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(cloudKitShareMetadata) API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos); // The presence of this key indicates that the app was launched in order to handle a CloudKit sharing invitation. The value of this key is a CKShareMetadata object.
-UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
#if __swift__
-UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_DEPRECATED_WITH_REPLACEMENT("UIApplication.openNotificationSettingsURLString", ios(15.4, 16.0), visionos(1.0, 1.0));
+UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_DEPRECATED_WITH_REPLACEMENT("UIApplication.openNotificationSettingsURLString", ios(15.4, 16.0), visionos(1.0, 1.0)) NS_SWIFT_NONISOLATED;
#else
-UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_AVAILABLE(ios(15.4));
+UIKIT_EXTERN NSString *const UIApplicationOpenNotificationSettingsURLString API_AVAILABLE(ios(15.4)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
#endif
// Keys for application:openURL:options:
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsSourceApplicationKey NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(9.0)); // value is an NSString containing the bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsAnnotationKey NS_SWIFT_NAME(annotation) API_AVAILABLE(ios(9.0)); // value is a property-list typed object corresponding to what the originating application passed in UIDocumentInteractionController's annotation property
-UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsOpenInPlaceKey NS_SWIFT_NAME(openInPlace) API_AVAILABLE(ios(9.0)); // value is a bool NSNumber. Copy the file before use if this value is NO, or is not present.
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsSourceApplicationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(sourceApplication) API_AVAILABLE(ios(9.0)); // value is an NSString containing the bundle ID of the originating application; non-nil if the originating application and this application share the same team identifier
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsAnnotationKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(annotation) API_AVAILABLE(ios(9.0)); // value is a property-list typed object corresponding to what the originating application passed in UIDocumentInteractionController's annotation property
+UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsOpenInPlaceKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(openInPlace) API_AVAILABLE(ios(9.0)); // value is a bool NSNumber. Copy the file before use if this value is NO, or is not present.
UIKIT_EXTERN UIApplicationOpenURLOptionsKey const UIApplicationOpenURLOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos); // value is a UIEventAttribution to go along with the URL to open
// This notification is posted after the user takes a screenshot (for example by pressing both the home and lock screen buttons)
-UIKIT_EXTERN NSNotificationName const UIApplicationUserDidTakeScreenshotNotification API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN NSNotificationName const UIApplicationUserDidTakeScreenshotNotification API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
// Extension point identifier constants
-UIKIT_EXTERN UIApplicationExtensionPointIdentifier const UIApplicationKeyboardExtensionPointIdentifier NS_SWIFT_NAME(keyboard) API_AVAILABLE(ios(8.0));
+UIKIT_EXTERN UIApplicationExtensionPointIdentifier const UIApplicationKeyboardExtensionPointIdentifier API_UNAVAILABLE(watchos) NS_SWIFT_NAME(keyboard) API_AVAILABLE(ios(8.0));
#pragma mark -- openURL options --
// Option for openURL:options:CompletionHandler: only open URL if it is a valid universal link with an application configured to open it
// If there is no application configured, or the user disabled using it to open the link, completion handler called with NO
-UIKIT_EXTERN UIApplicationOpenExternalURLOptionsKey const UIApplicationOpenURLOptionUniversalLinksOnly API_AVAILABLE(ios(10.0));
+UIKIT_EXTERN UIApplicationOpenExternalURLOptionsKey const UIApplicationOpenURLOptionUniversalLinksOnly API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
// Option for openURL:options:CompletionHandler: to provide an event attribution to go along with the openURL call.
UIKIT_EXTERN UIApplicationOpenExternalURLOptionsKey const UIApplicationOpenExternalURLOptionsEventAttributionKey NS_SWIFT_NAME(eventAttribution) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos, tvos); // value is a UIEventAttribution
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplicationShortcutItem.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplicationShortcutItem.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplicationShortcutItem.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplicationShortcutItem.h 2024-05-31 08:14:19
@@ -43,9 +43,9 @@
UIApplicationShortcutIconTypeShuffle API_AVAILABLE(ios(9.1)),
UIApplicationShortcutIconTypeAudio API_AVAILABLE(ios(9.1)),
UIApplicationShortcutIconTypeUpdate API_AVAILABLE(ios(9.1))
-} API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos);
+} API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos)
@interface UIApplicationShortcutIcon : NSObject <NSCopying>
// Create an icon using a system-defined image.
@@ -62,7 +62,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos)
@interface UIApplicationShortcutItem : NSObject <NSCopying, NSMutableCopying>
- (instancetype)init NS_UNAVAILABLE;
@@ -86,7 +86,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos)
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos)
@interface UIMutableApplicationShortcutItem : UIApplicationShortcutItem
// An application-specific string that identifies the type of action to perform.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h 2024-04-18 07:17:36
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h 2024-05-30 15:54:18
@@ -15,26 +15,26 @@
typedef NS_ENUM(NSInteger, UIAttachmentBehaviorType) {
UIAttachmentBehaviorTypeItems,
UIAttachmentBehaviorTypeAnchor
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
-typedef struct NS_SWIFT_SENDABLE {
+typedef struct NS_SWIFT_SENDABLE API_UNAVAILABLE(watchos) {
CGFloat minimum;
CGFloat maximum;
-} UIFloatRange;
+} UIFloatRange API_UNAVAILABLE(watchos);
-UIKIT_EXTERN const UIFloatRange UIFloatRangeZero API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN const UIFloatRange UIFloatRangeInfinite API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN BOOL UIFloatRangeIsInfinite(UIFloatRange range) API_AVAILABLE(ios(9.0));
+UIKIT_EXTERN const UIFloatRange UIFloatRangeZero API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UIFloatRange UIFloatRangeInfinite API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN BOOL UIFloatRangeIsInfinite(UIFloatRange range) API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
-UIKIT_STATIC_INLINE UIFloatRange UIFloatRangeMake(CGFloat minimum, CGFloat maximum) {
+UIKIT_STATIC_INLINE UIFloatRange UIFloatRangeMake(CGFloat minimum, CGFloat maximum) API_UNAVAILABLE(watchos) {
return (UIFloatRange){minimum, maximum};
}
-UIKIT_STATIC_INLINE BOOL UIFloatRangeIsEqualToRange(UIFloatRange range, UIFloatRange otherRange) {
+UIKIT_STATIC_INLINE BOOL UIFloatRangeIsEqualToRange(UIFloatRange range, UIFloatRange otherRange) API_UNAVAILABLE(watchos) {
return range.minimum == otherRange.minimum && range.maximum == otherRange.maximum;
}
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIAttachmentBehavior : UIDynamicBehavior
- (instancetype)initWithItem:(id <UIDynamicItem>)item attachedToAnchor:(CGPoint)point;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2024-04-09 04:18:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBackgroundConfiguration.h 2024-05-31 07:34:50
@@ -17,25 +17,27 @@
@class UIImage;
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBackgroundConfiguration : NSObject <NSCopying, NSSecureCoding>
/// Returns a clear configuration, with no default styling.
+ (instancetype)clearConfiguration;
-/// Returns the default configuration for a plain list cell.
-+ (instancetype)listPlainCellConfiguration;
-/// Returns the default configuration for a plain list header or footer.
-+ (instancetype)listPlainHeaderFooterConfiguration;
-/// Returns the default configuration for a grouped list cell.
-+ (instancetype)listGroupedCellConfiguration;
-/// Returns the default configuration for a grouped list header or footer.
-+ (instancetype)listGroupedHeaderFooterConfiguration;
+/// Represents a generic cell background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a cell in a plain-style list.
++ (instancetype)listCellConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
-/// Returns the default configuration for a sidebar list header.
-+ (instancetype)listSidebarHeaderConfiguration API_UNAVAILABLE(tvos, watchos);
-/// Returns the default configuration for a sidebar list cell.
-+ (instancetype)listSidebarCellConfiguration API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+/// Represents a generic header background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a header in a plain-style list.
++ (instancetype)listHeaderConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
+/// Represents a generic footer background configuration that automatically adopts the style of a containing list when updated for a
+/// new configuration state, by reading the `listEnvironment` trait from the state's trait collection.
+/// Defaults to the background configuration for a footer in a plain-style list.
++ (instancetype)listFooterConfiguration API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
/// Returns the default configuration for an accompanied sidebar list cell.
+ (instancetype)listAccompaniedSidebarCellConfiguration API_UNAVAILABLE(tvos, watchos);
@@ -73,9 +75,9 @@
@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));
+@property (nonatomic, strong, nullable) UIImage *image API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/// 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));
+@property (nonatomic) UIViewContentMode imageContentMode API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
// Stroke
@@ -92,6 +94,27 @@
/// Outset (or inset, if negative) for the stroke, relative to the background (including any backgroundInsets). Default is 0.
/// The corner radius of the stroke is adjusted for any outset to remain concentric with the background.
@property (nonatomic) CGFloat strokeOutset;
+
+
+// Deprecated
+
+/// Returns the default configuration for a plain list cell.
++ (instancetype)listPlainCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a grouped list cell.
++ (instancetype)listGroupedCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a sidebar list cell.
++ (instancetype)listSidebarCellConfiguration API_DEPRECATED_WITH_REPLACEMENT("listCellConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/// Returns the default configuration for a plain list header or footer.
++ (instancetype)listPlainHeaderFooterConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a grouped list header or footer.
++ (instancetype)listGroupedHeaderFooterConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(watchos);
+
+/// Returns the default configuration for a sidebar list header.
++ (instancetype)listSidebarHeaderConfiguration API_DEPRECATED("Use +listHeaderConfiguration or +listFooterConfiguration", ios(14.0, 18.0)) API_UNAVAILABLE(tvos, watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h 2024-04-26 07:48:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarAppearance.h 2024-05-31 08:17:02
@@ -15,7 +15,7 @@
@class UIImage;
@class UIBlurEffect;
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBarAppearance : NSObject<NSCopying, NSSecureCoding>
/// Constructs a new bar appearance, configured with default values and targeting the device idiom.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2024-04-18 07:56:04
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h 2024-05-31 08:14:13
@@ -21,9 +21,9 @@
typedef NS_ENUM(NSInteger, UIBarButtonItemStyle) {
UIBarButtonItemStylePlain,
- UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)) API_UNAVAILABLE(visionos),
+ UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT("UIBarButtonItemStylePlain", ios(2.0, 8.0)) API_UNAVAILABLE(visionos, watchos),
UIBarButtonItemStyleDone,
-};
+} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) {
UIBarButtonSystemItemDone,
@@ -49,13 +49,13 @@
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo API_AVAILABLE(ios(3.0)),
UIBarButtonSystemItemRedo API_AVAILABLE(ios(3.0)),
- UIBarButtonSystemItemPageCurl API_DEPRECATED("", ios(4.0, 11.0)) API_UNAVAILABLE(visionos),
- UIBarButtonSystemItemClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos)
-};
+ UIBarButtonSystemItemPageCurl API_DEPRECATED("", ios(4.0, 11.0)) API_UNAVAILABLE(visionos, watchos),
+ UIBarButtonSystemItemClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos)
+} API_UNAVAILABLE(watchos);
@class UIImage, UIView;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBarButtonItem : UIBarItem <NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -67,34 +67,34 @@
- (instancetype)initWithCustomView:(UIView *)customView;
/// Creates a bar button item for the given systemItem. The primaryAction is copied, and its title & image are ignored.
-- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0));
+- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Creates a plain-style bar button item from the properties of primaryAction. primaryAction is copied.
-- (instancetype)initWithPrimaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0));
+- (instancetype)initWithPrimaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Creates a bar button item for the given systemItem. The constructed item will present the menu immediately when touched.
-- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0));
+- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Creates a plain-style bar button item with the given title. The constructed item will present the menu immediately when touched.
-- (instancetype)initWithTitle:(nullable NSString *)title menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0));
+- (instancetype)initWithTitle:(nullable NSString *)title menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Creates a plain-style bar button item with the given image. The constructed item will present the menu immediately when touched.
-- (instancetype)initWithImage:(nullable UIImage *)image menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0));
+- (instancetype)initWithImage:(nullable UIImage *)image menu:(nullable UIMenu *)menu API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Creates a plain-style bar button item from the properties of primaryAction. primaryAction is copied.
-- (instancetype)initWithPrimaryAction:(nullable UIAction *)primaryAction menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0));
+- (instancetype)initWithPrimaryAction:(nullable UIAction *)primaryAction menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
/// Creates a bar button item for the given systemItem. The primaryAction is copied, and its title & image are ignored.
-- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem primaryAction:(nullable UIAction *)primaryAction menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0));
+- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem primaryAction:(nullable UIAction *)primaryAction menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
/// Creates a plain-style bar button item with the given title and image.
-- (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image target:(nullable id)target action:(nullable SEL)action menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0));
+- (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image target:(nullable id)target action:(nullable SEL)action menu:(nullable UIMenu *)menu API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
/// Construct a new fixed space item with the given width.
-+ (instancetype)fixedSpaceItemOfWidth:(CGFloat)width API_AVAILABLE(ios(14.0));
++ (instancetype)fixedSpaceItemOfWidth:(CGFloat)width API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// Construct a new flexible space item.
-+ (instancetype)flexibleSpaceItem API_AVAILABLE(ios(14.0));
++ (instancetype)flexibleSpaceItem API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
@property (nonatomic, readwrite, assign) UIBarButtonItemStyle style; // default is UIBarButtonItemStylePlain
@property (nonatomic, readwrite, assign) CGFloat width; // default is 0.0
@@ -104,7 +104,7 @@
@property (nonatomic, readwrite, weak , nullable) id target; // default is nil
/// Set the primaryAction on this item, updating the title & image of the item if appropriate (primaryAction is non-nil, and this is not a system item). When primaryAction is non-nil, the target & action properties are ignored. If primaryAction is set to nil, the title & image properties are left unchanged.
-@property (nonatomic, readwrite, copy, nullable) UIAction *primaryAction API_AVAILABLE(ios(14.0));
+@property (nonatomic, readwrite, copy, nullable) UIAction *primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// When non-nil the menu is presented, the gesture used to trigger the menu is based on if the bar button item would normally trigger an action when tapped.
@property (nonatomic, readwrite, copy, nullable) UIMenu *menu API_AVAILABLE(ios(14.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@@ -123,7 +123,7 @@
@property (nonatomic, readwrite, assign, getter = isHidden) BOOL hidden API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
/// Whether or not symbol animations are enabled for this bar button item.
-@property (nonatomic, readwrite, assign, getter=isSymbolAnimationEnabled) BOOL symbolAnimationEnabled API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+@property (nonatomic, readwrite, assign, getter=isSymbolAnimationEnabled) BOOL symbolAnimationEnabled API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// A UIMenuElement that should substitute for the UIBarButtonItem when displayed in a menu.
@property (nonatomic, readwrite, copy, nullable) UIMenuElement *menuRepresentation API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
@@ -197,34 +197,34 @@
/// Adds a symbol effect to the bar button item with default options and animation.
/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
-- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Adds a symbol effect to the bar button item with specified options and default animation.
/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
-- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Adds a symbol effect to the bar button item with specified options and animation.
/// Only a subset of symbol effects are supported; Appear and Disappear effects, for example, are unsupported, and will assert.
-- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)addSymbolEffect:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes from the bar button item the symbol effect matching the type of effect passed in, with default options and animation.
-- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes from the bar button item the symbol effect matching the type of effect passed in, with specified options and default animation.
-- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes from the bar button item the symbol effect matching the type of effect passed in, with specified options and animation.
-- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeSymbolEffectOfType:(NSSymbolEffect *)symbolEffect options:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes all symbol effects from the bar button item with default options and animation.
-- (void)removeAllSymbolEffects API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeAllSymbolEffects API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes all symbol effects from the bar button item with specified options and default animation.
-- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Removes all symbol effects from the bar button item with specified options and animation.
-- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)removeAllSymbolEffectsWithOptions:(NSSymbolEffectOptions *)options animated:(BOOL)animated API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Sets the symbol image on the bar button item with a symbol content transition and default options.
/// Passing in a non-symbol image will result in undefined behavior.
-- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
/// Sets the symbol image on the bar button item with a symbol content transition and specified options.
/// Passing in a non-symbol image will result in undefined behavior.
-- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0),tvos(17.0),watchos(10.0));
+- (void)setSymbolImage:(UIImage *)symbolImage withContentTransition:(NSSymbolContentTransition *)transition options:(NSSymbolEffectOptions *)options API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h 2024-04-26 07:48:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemAppearance.h 2024-05-31 08:16:57
@@ -14,7 +14,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBarButtonItemStateAppearance : NSObject
- (instancetype)init NS_UNAVAILABLE;
@@ -34,7 +34,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBarButtonItemAppearance : NSObject<NSCopying, NSSecureCoding>
/// Construct an appearance for the UIBarButtonItemStylePlain style.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2024-04-09 04:16:15
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItemGroup.h 2024-05-31 07:26:21
@@ -12,7 +12,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) 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).
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarCommon.h 2024-05-31 08:17:03
@@ -16,16 +16,16 @@
UIBarMetricsDefaultPrompt = 101, // Applicable only in bars with the prompt property, such as UINavigationBar and UISearchBar
UIBarMetricsCompactPrompt,
- UIBarMetricsLandscapePhone API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompact", ios(5.0, 8.0)) API_UNAVAILABLE(visionos) = UIBarMetricsCompact,
- UIBarMetricsLandscapePhonePrompt API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompactPrompt", ios(7.0, 8.0)) API_UNAVAILABLE(visionos) = UIBarMetricsCompactPrompt,
-};
+ UIBarMetricsLandscapePhone API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompact", ios(5.0, 8.0)) API_UNAVAILABLE(visionos, watchos) = UIBarMetricsCompact,
+ UIBarMetricsLandscapePhonePrompt API_DEPRECATED_WITH_REPLACEMENT("UIBarMetricsCompactPrompt", ios(7.0, 8.0)) API_UNAVAILABLE(visionos, watchos) = UIBarMetricsCompactPrompt,
+} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIBarPosition) {
UIBarPositionAny = 0,
UIBarPositionBottom = 1, // The bar is at the bottom of its local context, and directional decoration draws accordingly (e.g., shadow above the bar).
UIBarPositionTop = 2, // The bar is at the top of its local context, and directional decoration draws accordingly (e.g., shadow below the bar)
UIBarPositionTopAttached = 3, // The bar is at the top of the screen (as well as its local context), and its background extends upward—currently only enough for the status bar.
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos);
#define UIToolbarPosition UIBarPosition
#define UIToolbarPositionAny UIBarPositionAny
@@ -33,12 +33,12 @@
#define UIToolbarPositionTop UIBarPositionTop
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UIBarPositioning <NSObject> // UINavigationBar, UIToolbar, and UISearchBar conform to this
@property(nonatomic,readonly) UIBarPosition barPosition;
@end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) 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_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h 2024-04-26 07:48:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarItem.h 2024-05-31 08:16:57
@@ -16,7 +16,7 @@
@class UIImage;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBarItem : NSObject <NSCoding, UIAppearance>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -28,11 +28,11 @@
@property(nullable, nonatomic,strong) UIImage *landscapeImagePhone API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // default is nil
// Higher-resolution version of the standard image. Default is nil. Used for rendering assistive UI (e.g. for users with visual impairments who need large text). If not provided, the system may attempt to generate an image based on the standard image (for instance, by rasterizing matching PDF representations at a higher resolution).
-@property(nullable, nonatomic,strong) UIImage *largeContentSizeImage API_AVAILABLE(ios(11.0));
+@property(nullable, nonatomic,strong) UIImage *largeContentSizeImage API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
@property(nonatomic) UIEdgeInsets imageInsets; // default is UIEdgeInsetsZero
@property(nonatomic) UIEdgeInsets landscapeImagePhoneInsets API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos); // default is UIEdgeInsetsZero. These insets apply only when the landscapeImagePhone property is set.
-@property(nonatomic) UIEdgeInsets largeContentSizeImageInsets API_AVAILABLE(ios(11.0)); // default is UIEdgeInsetsZero. These insets apply only when the largeContentSizeImage property is set.
+@property(nonatomic) UIEdgeInsets largeContentSizeImageInsets API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos); // default is UIEdgeInsetsZero. These insets apply only when the largeContentSizeImage property is set.
@property(nonatomic) NSInteger tag; // default is 0
/* You may specify the font, text color, and shadow properties for the title in the text attributes dictionary, using the keys found in NSAttributedString.h.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h 2024-04-26 07:48:05
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBehavioralStyle.h 2024-05-31 08:17:03
@@ -22,7 +22,7 @@
/// A style and set of behaviors best for macOS applications
UIBehavioralStyleMac,
-};
+} API_UNAVAILABLE(watchos);
API_AVAILABLE(ios(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos, tvos)
@interface UIButton (UIBehavioralStyle)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h 2024-04-26 07:48:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h 2024-05-31 08:16:59
@@ -14,7 +14,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(3.2)) @interface UIBezierPath : NSObject<NSCopying, NSSecureCoding>
+UIKIT_EXTERN API_AVAILABLE(ios(3.2), watchos(2.0)) @interface UIBezierPath : NSObject<NSCopying, NSSecureCoding>
+ (instancetype)bezierPath;
+ (instancetype)bezierPathWithRect:(CGRect)rect;
@@ -38,7 +38,7 @@
- (void)addLineToPoint:(CGPoint)point;
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
-- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise API_AVAILABLE(ios(4.0));
+- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise API_AVAILABLE(ios(4.0), watchos(2.0));
- (void)closePath;
- (void)removeAllPoints;
@@ -49,7 +49,7 @@
// Modified paths
-- (UIBezierPath *)bezierPathByReversingPath API_AVAILABLE(ios(6.0));
+- (UIBezierPath *)bezierPathByReversingPath API_AVAILABLE(ios(6.0), watchos(2.0));
// Transforming paths
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2024-04-26 07:47:59
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBlurEffect.h 2024-05-31 08:16:56
@@ -24,40 +24,40 @@
*
* Regular displays either Light or Dark.
*/
- UIBlurEffectStyleRegular API_AVAILABLE(ios(10.0)),
+ UIBlurEffectStyleRegular API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos),
/* Prominent displays either ExtraLight, Dark (on iOS), or ExtraDark (on tvOS).
*/
- UIBlurEffectStyleProminent API_AVAILABLE(ios(10.0)),
+ UIBlurEffectStyleProminent API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos),
/*
* Blur styles available in iOS 13.
*
* Styles which automatically adapt to the user interface style:
*/
- UIBlurEffectStyleSystemUltraThinMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThinMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThickMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemChromeMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemUltraThinMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThinMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThickMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemChromeMaterial API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
/* And always-light and always-dark versions:
*/
- UIBlurEffectStyleSystemUltraThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThickMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemChromeMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
+ UIBlurEffectStyleSystemUltraThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThinMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThickMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemChromeMaterialLight API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
- UIBlurEffectStyleSystemUltraThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemThickMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos),
- UIBlurEffectStyleSystemChromeMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
+ UIBlurEffectStyleSystemUltraThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThinMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemThickMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos),
+ UIBlurEffectStyleSystemChromeMaterialDark API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, tvos)
-} API_AVAILABLE(ios(8.0));
+} API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
/* 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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIBlurEffect : UIVisualEffect
+ (UIBlurEffect *)effectWithStyle:(UIBlurEffectStyle)style;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2024-04-19 07:00:18
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h 2024-05-31 08:14:10
@@ -29,37 +29,37 @@
UIButtonTypePlain API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios, watchos), // standard system button without the blurred background view
- UIButtonTypeClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos),
+ UIButtonTypeClose API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos),
UIButtonTypeRoundedRect = UIButtonTypeSystem // Deprecated, use UIButtonTypeSystem instead
-};
+} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonRole) {
UIButtonRoleNormal,
UIButtonRolePrimary,
UIButtonRoleCancel,
UIButtonRoleDestructive
-} API_AVAILABLE(ios(14.0));
+} API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
@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)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIButton : UIControl <NSCoding>
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
/// Initializes a custom button, registers primaryAction for the UIControlEventPrimaryActionTriggered control event, and uses primaryAction's title & image as the button's title & image.
-- (instancetype)initWithFrame:(CGRect)frame primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0));
+- (instancetype)initWithFrame:(CGRect)frame primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
+ (instancetype)buttonWithType:(UIButtonType)buttonType;
-+ (instancetype)systemButtonWithImage:(UIImage *)image target:(nullable id)target action:(nullable SEL)action API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
++ (instancetype)systemButtonWithImage:(UIImage *)image target:(nullable id)target action:(nullable SEL)action API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/// Creates a system button, registers primaryAction for the UIControlEventPrimaryActionTriggered control event, and uses primaryAction's title & image as the button's title & image.
-+ (instancetype)systemButtonWithPrimaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0));
++ (instancetype)systemButtonWithPrimaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// 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));
++ (instancetype)buttonWithType:(UIButtonType)buttonType primaryAction:(nullable UIAction *)primaryAction API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos);
/// 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)) API_UNAVAILABLE(watchos);
@@ -83,12 +83,12 @@
@property(nonatomic,readonly) UIButtonType buttonType;
/// 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));
+@property (nonatomic, assign, readonly, getter = isHovered) BOOL hovered API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/// 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, assign, readonly, getter = isHeld) BOOL held API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-@property (nonatomic) UIButtonRole role API_AVAILABLE(ios(14.0)); // default is UIButtonRoleNormal.
+@property (nonatomic) UIButtonRole role API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos); // 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);
@@ -121,7 +121,7 @@
- (void)setTitleShadowColor:(nullable UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil. use 50% black
- (void)setImage:(nullable UIImage *)image forState:(UIControlState)state; // default is nil. should be same size if different for different states
- (void)setBackgroundImage:(nullable UIImage *)image forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil
-- (void)setPreferredSymbolConfiguration:(nullable UIImageSymbolConfiguration *)configuration forImageInState:(UIControlState)state UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+- (void)setPreferredSymbolConfiguration:(nullable UIImageSymbolConfiguration *)configuration forImageInState:(UIControlState)state UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
- (void)setAttributedTitle:(nullable NSAttributedString *)title forState:(UIControlState)state API_AVAILABLE(ios(6.0)); // default is nil. title is assumed to be single line
- (nullable NSString *)titleForState:(UIControlState)state; // these getters only take a single state value
@@ -129,7 +129,7 @@
- (nullable UIColor *)titleShadowColorForState:(UIControlState)state;
- (nullable UIImage *)imageForState:(UIControlState)state;
- (nullable UIImage *)backgroundImageForState:(UIControlState)state;
-- (nullable UIImageSymbolConfiguration *)preferredSymbolConfigurationForImageInState:(UIControlState)state API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+- (nullable UIImageSymbolConfiguration *)preferredSymbolConfigurationForImageInState:(UIControlState)state API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
- (nullable NSAttributedString *)attributedTitleForState:(UIControlState)state API_AVAILABLE(ios(6.0));
// these are the values that will be used for the current state. you can also use these for overrides. a heuristic will be used to
@@ -141,42 +141,42 @@
@property(nullable, nonatomic,readonly,strong) UIColor *currentTitleShadowColor; // normal/highlighted/selected/disabled.
@property(nullable, nonatomic,readonly,strong) UIImage *currentImage; // normal/highlighted/selected/disabled. can return nil
@property(nullable, nonatomic,readonly,strong) UIImage *currentBackgroundImage; // normal/highlighted/selected/disabled. can return nil
-@property(nullable, nonatomic,readonly,strong) UIImageSymbolConfiguration *currentPreferredSymbolConfiguration API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)); // normal/highlighted/selected/disabled. can return nil
+@property(nullable, nonatomic,readonly,strong) UIImageSymbolConfiguration *currentPreferredSymbolConfiguration API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos); // normal/highlighted/selected/disabled. can return nil
@property(nullable, nonatomic,readonly,strong) NSAttributedString *currentAttributedTitle API_AVAILABLE(ios(6.0)); // normal/highlighted/selected/disabled. can return nil
// 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));
+@property(nonatomic, readonly, strong, nullable) UILabel *subtitleLabel API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
@end
@interface UIButton(/*UIButtonDeprecated*/)
-@property(nonatomic,strong) UIFont *font API_DEPRECATED("Specify an attributed title with a custom font", ios(2.0, 3.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-@property(nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("Specify an attributed title with a customized paragraph style", ios(2.0, 3.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
-@property(nonatomic) CGSize titleShadowOffset API_DEPRECATED("Specify an attributed title with a customized shadow style", ios(2.0, 3.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+@property(nonatomic,strong) UIFont *font API_DEPRECATED("Specify an attributed title with a custom font", ios(2.0, 3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+@property(nonatomic) NSLineBreakMode lineBreakMode API_DEPRECATED("Specify an attributed title with a customized paragraph style", ios(2.0, 3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
+@property(nonatomic) CGSize titleShadowOffset API_DEPRECATED("Specify an attributed title with a customized shadow style", ios(2.0, 3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos);
// The effect of these properties can be replicated via UIButtonConfiguration.contentInset and UIButtonConfiguration.imageToTitlePadding. They are ignored when a configuration is set.
-@property(nonatomic) UIEdgeInsets contentEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)) UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero. On tvOS 10 or later, default is nonzero except for custom buttons.
-@property(nonatomic) UIEdgeInsets titleEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)); // default is UIEdgeInsetsZero
-@property(nonatomic) UIEdgeInsets imageEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)); // default is UIEdgeInsetsZero
+@property(nonatomic) UIEdgeInsets contentEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)) UI_APPEARANCE_SELECTOR API_UNAVAILABLE(watchos); // default is UIEdgeInsetsZero. On tvOS 10 or later, default is nonzero except for custom buttons.
+@property(nonatomic) UIEdgeInsets titleEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // default is UIEdgeInsetsZero
+@property(nonatomic) UIEdgeInsets imageEdgeInsets API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // default is UIEdgeInsetsZero
// The effect of these properties can be replicated by providing an appropriate UIButtonConfiguration. They are ignored when a configuration set.
-@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)); // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
-@property(nonatomic) BOOL adjustsImageWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)); // default is YES. if YES, image is drawn darker when highlighted(pressed)
-@property(nonatomic) BOOL adjustsImageWhenDisabled API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0)); // default is YES. if YES, image is drawn lighter when disabled
+@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
+@property(nonatomic) BOOL adjustsImageWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // default is YES. if YES, image is drawn darker when highlighted(pressed)
+@property(nonatomic) BOOL adjustsImageWhenDisabled API_DEPRECATED("This property is ignored when using UIButtonConfiguration, you may customize to replicate this behavior via a configurationUpdateHandler", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // default is YES. if YES, image is drawn lighter when disabled
// These properties are ignored when a configuration is set and have no replacement.
-@property(nonatomic) BOOL showsTouchWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0,15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(tvos);
+@property(nonatomic) BOOL showsTouchWhenHighlighted API_DEPRECATED("This property is ignored when using UIButtonConfiguration", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
// These methods will not be called when using a configuration.
// To change the layout of button content, override -layoutSubviews, call super, and then position views as you see fit.
-- (CGRect)backgroundRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0));
-- (CGRect)contentRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0));
-- (CGRect)titleRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0));
-- (CGRect)imageRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0,15.0), tvos(2.0,15.0), visionos(1.0, 1.0));
+- (CGRect)backgroundRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
+- (CGRect)contentRectForBounds:(CGRect)bounds API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
+- (CGRect)titleRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
+- (CGRect)imageRectForContentRect:(CGRect)contentRect API_DEPRECATED("Override layoutSubviews, call super, and position views as you desire.", ios(2.0, 15.0), tvos(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 2024-04-18 07:17:41
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButtonConfiguration.h 2024-05-30 15:54:10
@@ -16,14 +16,14 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-typedef NSDictionary<NSAttributedStringKey, id> *_Nonnull (^/*NS_SWIFT_SENDABLE*/ UIConfigurationTextAttributesTransformer)(NSDictionary<NSAttributedStringKey, id> *textAttributes) API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+typedef NSDictionary<NSAttributedStringKey, id> *_Nonnull (^/*NS_SWIFT_SENDABLE*/ UIConfigurationTextAttributesTransformer)(NSDictionary<NSAttributedStringKey, id> *textAttributes) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonConfigurationSize) {
UIButtonConfigurationSizeMedium,
UIButtonConfigurationSizeSmall,
UIButtonConfigurationSizeMini,
UIButtonConfigurationSizeLarge,
-} API_AVAILABLE(ios(15.0));
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonConfigurationTitleAlignment) {
/// Align title & subtitle automatically
@@ -34,7 +34,7 @@
UIButtonConfigurationTitleAlignmentCenter,
/// Align title & subtitle along their trailing edges
UIButtonConfigurationTitleAlignmentTrailing,
-} API_AVAILABLE(ios(15.0));
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonConfigurationCornerStyle) {
/// The corner radius provided by the background style will be used as is, without adjusting for dynamic type
@@ -49,7 +49,7 @@
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));
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonConfigurationMacIdiomStyle) {
/// Automatically select the style to use
@@ -60,7 +60,7 @@
UIButtonConfigurationMacIdiomStyleBorderless,
/// Always use a tinted, borderless style button
UIButtonConfigurationMacIdiomStyleBorderlessTinted,
-} API_AVAILABLE(ios(15.0));
+} API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UIButtonConfigurationIndicator) {
/// Automatically determine an indicator based on the button's properties.
@@ -69,9 +69,9 @@
UIButtonConfigurationIndicatorNone,
/// Show an indicator appropriate for a popup-style button
UIButtonConfigurationIndicatorPopup,
-} API_AVAILABLE(ios(16.0));
+} API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UIButtonConfiguration : NSObject <NSCopying, NSSecureCoding>
+ (instancetype)plainButtonConfiguration;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h 1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICalendarSelectionWeekOfYear.h 2024-05-31 08:16:59
@@ -0,0 +1,63 @@
+#if (defined(USE_UIKIT_PUBLIC_HEADERS) && USE_UIKIT_PUBLIC_HEADERS) || !__has_include(<UIKitCore/UICalendarSelectionWeekOfYear.h>)
+//
+// UICalendarSelectionWeekOfYear.h
+// UIKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <UIKit/UICalendarSelection.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+@protocol UICalendarSelectionWeekOfYearDelegate;
+
+UIKIT_EXTERN API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
+@interface UICalendarSelectionWeekOfYear : UICalendarSelection
+
+/// The currently selected week of year in the Calendar view. The components must include `[.yearForWeekOfYear, .weekOfYear]`.
+@property (nonatomic, nullable, copy) NSDateComponents *selectedWeekOfYear;
+
+/// Sets the dates to display in the calendar, with an option to animate the setting.
+- (void)setSelectedWeekOfYear:(nullable NSDateComponents *)selectedWeekOfYear animated:(BOOL)animated;
+
+/// The object that acts as the delegate of the calendar view selection
+@property (nonatomic, weak, nullable, readonly) id<UICalendarSelectionWeekOfYearDelegate> delegate;
+
+/// Creates a new multi-date selection with the specified delegate.
+- (instancetype)initWithDelegate:(nullable id<UICalendarSelectionWeekOfYearDelegate>)delegate;
+
+@end
+
+API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(watchos, tvos)
+@protocol UICalendarSelectionWeekOfYearDelegate <NSObject>
+
+/**
+ * @abstract Called after the user selects a week of year in the calendar view.
+ *
+ * @param selection The @c UICalendarSelectionWeekOfYear
+ * @param dateComponents The date that was selected by the user.
+ */
+- (void)weekOfYearSelection:(UICalendarSelectionWeekOfYear *)selection didSelectWeekOfYear:(nullable NSDateComponents *)weekOfYearComponents;
+
+@optional
+
+/**
+ * @abstract Determines if a week of year is selectable. Dates that are not selectable will be disabled in the calendar view.
+ *
+ * @param selection The @c UICalendarSelectionWeekOfYear
+ * @param dateComponents The date to be checked by selection.
+ *
+ * @return YES if the date can be selected, NO otherwise.
+ */
+- (BOOL)weekOfYearSelection:(UICalendarSelectionWeekOfYear *)selection canSelectWeekOfYear:(nullable NSDateComponents *)weekOfYearComponents;
+
+@end
+
+
+NS_HEADER_AUDIT_END(nullability, sendability)
+
+
+#else
+#import <UIKitCore/UICalendarSelectionWeekOfYear.h>
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2024-04-09 04:16:13
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellAccessory.h 2024-05-31 08:16:57
@@ -25,15 +25,15 @@
UICellAccessoryDisplayedWhenEditing,
/// The accessory is displayed only when the cell is not editing.
UICellAccessoryDisplayedWhenNotEditing
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// A special constant that can be set to the `reservedLayoutWidth` property. This requests the
/// system standard layout width.
-UIKIT_EXTERN const CGFloat UICellAccessoryStandardDimension API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+UIKIT_EXTERN const CGFloat UICellAccessoryStandardDimension API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Abstract base class. Do not instantiate directly.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessory : NSObject <NSCopying, NSSecureCoding>
/// The state(s) for which the accessory should be displayed.
@@ -59,13 +59,13 @@
/// A disclosure chevron that points in the trailing direction.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryDisclosureIndicator : UICellAccessory
@end
/// A detail (info) button.
-UIKIT_EXTERN API_AVAILABLE(ios(15.4), tvos(15.4), watchos(8.5)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(15.4), tvos(15.4)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryDetail : UICellAccessory
/// An optional handler to call when the detail accessory is tapped. If nil, taps on the accessory are ignored.
@@ -75,13 +75,13 @@
/// A checkmark with default green color.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) 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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryDelete : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -94,7 +94,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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryInsert : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -108,7 +108,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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) 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.
@@ -119,7 +119,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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryMultiselect : UICellAccessory
/// The background color to apply to the accessory. Default value is nil, which uses the system default.
@@ -173,7 +173,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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellAccessoryLabel : UICellAccessory
/// Creates a new label accessory using the provided text.
@@ -199,19 +199,19 @@
UICellAccessoryPlacementLeading,
/// Accessory placed on the trailing edge.
UICellAccessoryPlacementTrailing
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Return an index to insert the accessory at, given an array of the existing accessories on the edge (in leading to trailing order).
-typedef NSUInteger (^/*NS_SWIFT_SENDABLE*/ UICellAccessoryPosition)(NSArray<__kindof UICellAccessory *> *accessories) API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+typedef NSUInteger (^/*NS_SWIFT_SENDABLE*/ UICellAccessoryPosition)(NSArray<__kindof UICellAccessory *> *accessories) API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Positions the accessory before the accessory matching the class specified, or at the beginning if not found.
-UIKIT_EXTERN UICellAccessoryPosition UICellAccessoryPositionBeforeAccessoryOfClass(Class accessoryClass) API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+UIKIT_EXTERN UICellAccessoryPosition UICellAccessoryPositionBeforeAccessoryOfClass(Class accessoryClass) API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Positions the accessory after the accessory matching the class specified, or at the end if not found.
-UIKIT_EXTERN UICellAccessoryPosition UICellAccessoryPositionAfterAccessoryOfClass(Class accessoryClass) API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+UIKIT_EXTERN UICellAccessoryPosition UICellAccessoryPositionAfterAccessoryOfClass(Class accessoryClass) API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// An accessory using a custom view.
-UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) 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_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h 2024-04-26 07:48:03
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICellConfigurationState.h 2024-05-31 08:17:00
@@ -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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICellConfigurationState : UIViewConfigurationState
@property (nonatomic, getter=isEditing) BOOL editing;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h 2024-04-09 04:16:17
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionLayoutList.h 2024-05-31 08:14:18
@@ -20,7 +20,7 @@
UICollectionLayoutListAppearanceInsetGrouped API_UNAVAILABLE(tvos),
UICollectionLayoutListAppearanceSidebar API_UNAVAILABLE(tvos),
UICollectionLayoutListAppearanceSidebarPlain API_UNAVAILABLE(tvos),
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UICollectionLayoutListHeaderMode) {
/// No headers are shown
@@ -31,7 +31,7 @@
/// Styles the first item in a section as a header. This is especially useful when using hierarchical data sources to be able to expand and collapse the header.
UICollectionLayoutListHeaderModeFirstItemInSection,
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UICollectionLayoutListFooterMode) {
/// No footers are shown
@@ -39,10 +39,10 @@
/// Uses supplementary views of kind UICollectionElementKindSectionFooter to show footers
UICollectionLayoutListFooterModeSupplementary,
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
-typedef UISwipeActionsConfiguration *_Nullable (^UICollectionLayoutListSwipeActionsConfigurationProvider)(NSIndexPath *indexPath) API_AVAILABLE(ios(14.0), watchos(7.0)) API_UNAVAILABLE(tvos);
+typedef UISwipeActionsConfiguration *_Nullable (^UICollectionLayoutListSwipeActionsConfigurationProvider)(NSIndexPath *indexPath) API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// A block that is executed by list sections to provide granular control over separator appearance.
///
@@ -51,11 +51,16 @@
/// the values for separator visibility and insets according to the current state of the item.
///
/// @return The configuration to use for separators at \c itemIndexPath.
-typedef UIListSeparatorConfiguration *_Nonnull (^UICollectionLayoutListItemSeparatorHandler)(NSIndexPath *_Nonnull indexPath, UIListSeparatorConfiguration *_Nonnull sectionSeparatorConfiguration) API_AVAILABLE(ios(14.5), watchos(7.4)) API_UNAVAILABLE(tvos);
+typedef UIListSeparatorConfiguration *_Nonnull (^UICollectionLayoutListItemSeparatorHandler)(NSIndexPath *_Nonnull indexPath, UIListSeparatorConfiguration *_Nonnull sectionSeparatorConfiguration) API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
+/// A setting for which items in the layout should tightly hug their content
+typedef NS_OPTIONS(NSUInteger, UICollectionLayoutListContentHuggingElements) {
+ UICollectionLayoutListContentHuggingElementsNone = 0,
+ UICollectionLayoutListContentHuggingElementsSupplementaryHeader = 1 << 0
+} API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
/// 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)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionLayoutListConfiguration : NSObject <NSCopying>
+ (instancetype)new NS_UNAVAILABLE;
@@ -74,12 +79,12 @@
@property (nonatomic) BOOL showsSeparators API_UNAVAILABLE(tvos);
/// The preferred configuration for separators. Used as a baseline for a section in a list using this \c UICollectionLayoutListConfiguration
-@property (nonatomic, copy) UIListSeparatorConfiguration *separatorConfiguration API_AVAILABLE(ios(14.5), watchos(7.4)) API_UNAVAILABLE(tvos);
+@property (nonatomic, copy) UIListSeparatorConfiguration *separatorConfiguration API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// This handler is executed when the list section is configuring separator appearance for an item. The index path for the item being configured and
/// a resolved separator configuration are passed in to this block. The configuration returned from this block will be treated as the final
/// separator configuration for this item.
-@property (nonatomic, copy, nullable) UICollectionLayoutListItemSeparatorHandler itemSeparatorHandler API_AVAILABLE(ios(14.5), watchos(7.4)) API_UNAVAILABLE(tvos);
+@property (nonatomic, copy, nullable) UICollectionLayoutListItemSeparatorHandler itemSeparatorHandler API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos);
/// The background color of the section.
/// Defaults to nil, indicating the system background color for the specified appearance is used.
@@ -105,15 +110,21 @@
@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));
+@property (nonatomic) CGFloat headerTopPadding API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+/// Determines the type of items that will tightly hug their content.
+///
+/// The default value for this property is `UICollectionLayoutListContentHuggingElementsSupplementaryHeader` on visionOS for plain style table views and an empty set on all other platforms.
+/// When the value of this property is `UICollectionLayoutListContentHuggingElementsSupplementaryHeader`, the header view will not stretch the width of the collection view if its content's intrinsic content size is less than the collection view's width.
+@property (nonatomic) UICollectionLayoutListContentHuggingElements contentHuggingElements API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
+
@end
@interface NSCollectionLayoutSection (UICollectionLayoutListSection)
/// Creates a list section using the specified configuration. You should pass the layoutEnvironment from inside the UICollectionViewCompositionalLayoutSectionProvider.
-+ (instancetype)sectionWithListConfiguration:(UICollectionLayoutListConfiguration *)configuration layoutEnvironment:(id<NSCollectionLayoutEnvironment>)layoutEnvironment API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
++ (instancetype)sectionWithListConfiguration:(UICollectionLayoutListConfiguration *)configuration layoutEnvironment:(id<NSCollectionLayoutEnvironment>)layoutEnvironment API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
@end
@@ -121,7 +132,7 @@
@interface UICollectionViewCompositionalLayout (UICollectionLayoutListSection)
/// Creates a compositional layout containing only list sections of the specified configuration.
-+ (instancetype)layoutWithListConfiguration:(UICollectionLayoutListConfiguration *)configuration API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
++ (instancetype)layoutWithListConfiguration:(UICollectionLayoutListConfiguration *)configuration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2024-04-18 07:17:41
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h 2024-06-01 04:15:25
@@ -30,7 +30,7 @@
UICollectionViewScrollPositionLeft = 1 << 3,
UICollectionViewScrollPositionCenteredHorizontally = 1 << 4,
UICollectionViewScrollPositionRight = 1 << 5
-};
+} API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UICollectionViewReorderingCadence) {
@@ -47,7 +47,7 @@
/// Calling -invalidateIntrinsicContentSize on a self-sizing cell or its contentView will cause it to be resized if necessary, and
/// any Auto Layout changes within the contentView of a self-sizing cell will automatically trigger -invalidateIntrinsicContentSize.
UICollectionViewSelfSizingInvalidationEnabledIncludingConstraints,
-} API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+} API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
@class UICollectionView, UICollectionReusableView, UICollectionViewCell, UICollectionViewLayout, UICollectionViewTransitionLayout, UICollectionViewLayoutAttributes, UITouch, UINib;
@class UIDragItem, UIDragPreviewParameters, UIDragPreviewTarget;
@@ -59,9 +59,9 @@
@protocol UICollectionViewDragDelegate, UICollectionViewDropDelegate, UICollectionViewDropCoordinator, UICollectionViewDropItem, UICollectionViewDropPlaceholderContext;
// layout transition block signature
-typedef void (^UICollectionViewLayoutInteractiveTransitionCompletion)(BOOL completed, BOOL finished);
+typedef void (^UICollectionViewLayoutInteractiveTransitionCompletion)(BOOL completed, BOOL finished) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(9.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewFocusUpdateContext : UIFocusUpdateContext
@property (nonatomic, strong, readonly, nullable) NSIndexPath *previouslyFocusedIndexPath;
@@ -69,7 +69,7 @@
@end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDataSource <NSObject>
@required
@@ -89,15 +89,15 @@
- (void)collectionView:(UICollectionView *)collectionView moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath API_AVAILABLE(ios(9.0));
/// Returns a list of index titles to display in the index view (e.g. ["A", "B", "C" ... "Z", "#"])
-- (nullable NSArray<NSString *> *)indexTitlesForCollectionView:(UICollectionView *)collectionView API_AVAILABLE(ios(14.0), tvos(10.2));
+- (nullable NSArray<NSString *> *)indexTitlesForCollectionView:(UICollectionView *)collectionView API_AVAILABLE(ios(14.0), tvos(10.2)) API_UNAVAILABLE(watchos);
/// Returns the index path that corresponds to the given title / index. (e.g. "B",1)
/// Return an index path with a single index to indicate an entire section, instead of a specific item.
-- (NSIndexPath *)collectionView:(UICollectionView *)collectionView indexPathForIndexTitle:(NSString *)title atIndex:(NSInteger)index API_AVAILABLE(ios(14.0), tvos(10.2));
+- (NSIndexPath *)collectionView:(UICollectionView *)collectionView indexPathForIndexTitle:(NSString *)title atIndex:(NSInteger)index API_AVAILABLE(ios(14.0), tvos(10.2)) API_UNAVAILABLE(watchos);
@end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDataSourcePrefetching <NSObject>
@required
// indexPaths are ordered ascending by geometric distance from the collection view
@@ -110,7 +110,7 @@
@end
-NS_SWIFT_UI_ACTOR
+API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UICollectionViewDelegate <UIScrollViewDelegate>
@optional
@@ -143,7 +143,7 @@
* @return `YES` if the primary action can be performed; otherwise `NO`. If not implemented, defaults to `YES` when not editing
* and `NO` when editing.
*/
-- (BOOL)collectionView:(UICollectionView *)collectionView canPerformPrimaryActionForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+- (BOOL)collectionView:(UICollectionView *)collectionView canPerformPrimaryActionForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
/*!
* @abstract Called when the primary action should be performed for the item at the given indexPath.
@@ -159,7 +159,7 @@
* @param collectionView This UICollectionView
* @param indexPath NSIndexPath of the item to perform the action on
*/
-- (void)collectionView:(UICollectionView *)collectionView performPrimaryActionForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+- (void)collectionView:(UICollectionView *)collectionView performPrimaryActionForItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(8.0));
- (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollectionReusableView *)view forElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(8.0));
@@ -168,9 +168,9 @@
// These methods provide support for copy/paste actions on cells.
// All three should be implemented if any are.
-- (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos);
-- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos);
-- (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos);
+- (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
+- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
+- (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender API_DEPRECATED_WITH_REPLACEMENT("collectionView:contextMenuConfigurationForItemsAtIndexPaths:point:", ios(6.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
// support for custom transition layout
- (nonnull UICollectionViewTransitionLayout *)collectionView:(UICollectionView *)collectionView transitionLayoutForOldLayout:(UICollectionViewLayout *)fromLayout newLayout:(UICollectionViewLayout *)toLayout;
@@ -185,8 +185,8 @@
/// If the collection view's global selectionFollowsFocus is enabled, this method will allow you to override that behavior on a per-index path basis. This method is not called if selectionFollowsFocus is disabled.
- (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), visionos(1.0, 1.0));
+- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveOfItemFromOriginalIndexPath:(NSIndexPath *)originalIndexPath atCurrentIndexPath:(NSIndexPath *)currentIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
+- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveFromItemAtIndexPath:(NSIndexPath *)currentIndexPath toProposedIndexPath:(NSIndexPath *)proposedIndexPath API_DEPRECATED_WITH_REPLACEMENT("collectionView:targetIndexPathForMoveOfItemFromOriginalIndexPath:atCurrentIndexPath:toProposedIndexPath:", ios(9.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
- (CGPoint)collectionView:(UICollectionView *)collectionView targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset API_AVAILABLE(ios(9.0)); // customize the content offset to be applied during transition or update animations
@@ -198,7 +198,7 @@
*
* @return `YES` if the item is editable; otherwise, `NO`. Defaults to `YES`.
*/
-- (BOOL)collectionView:(UICollectionView *)collectionView canEditItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+- (BOOL)collectionView:(UICollectionView *)collectionView canEditItemAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// Spring Loading
@@ -358,7 +358,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionView : UIScrollView <UIDataSourceTranslating>
- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
@@ -368,8 +368,8 @@
@property (nonatomic, weak, nullable) id <UICollectionViewDelegate> delegate;
@property (nonatomic, weak, nullable) id <UICollectionViewDataSource> dataSource;
-@property (nonatomic, weak, nullable) id<UICollectionViewDataSourcePrefetching> prefetchDataSource API_AVAILABLE(ios(10.0));
-@property (nonatomic, getter=isPrefetchingEnabled) BOOL prefetchingEnabled API_AVAILABLE(ios(10.0));
+@property (nonatomic, weak, nullable) id<UICollectionViewDataSourcePrefetching> prefetchDataSource API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic, getter=isPrefetchingEnabled) BOOL prefetchingEnabled API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
@property (nonatomic, weak, nullable) id <UICollectionViewDragDelegate> dragDelegate API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
@property (nonatomic, weak, nullable) id <UICollectionViewDropDelegate> dropDelegate API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
@@ -388,7 +388,7 @@
*/
@property (nonatomic) UICollectionViewReorderingCadence reorderingCadence API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-@property (nonatomic) UICollectionViewSelfSizingInvalidation selfSizingInvalidation API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+@property (nonatomic) UICollectionViewSelfSizingInvalidation selfSizingInvalidation API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
@property (nonatomic, strong, nullable) UIView *backgroundView; // will be automatically resized to track the size of the collection view and placed behind all cells and supplementary views.
@@ -404,8 +404,8 @@
- (__kindof UICollectionViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;
- (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind withReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;
-- (__kindof UICollectionViewCell *)dequeueConfiguredReusableCellWithRegistration:(UICollectionViewCellRegistration*)registration forIndexPath:(NSIndexPath*)indexPath item:(id)item API_AVAILABLE(ios(14.0),tvos(14.0));
-- (__kindof UICollectionReusableView *)dequeueConfiguredReusableSupplementaryViewWithRegistration:(UICollectionViewSupplementaryRegistration*)registration forIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(14.0),tvos(14.0));
+- (__kindof UICollectionViewCell *)dequeueConfiguredReusableCellWithRegistration:(UICollectionViewCellRegistration*)registration forIndexPath:(NSIndexPath*)indexPath item:(id)item API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+- (__kindof UICollectionReusableView *)dequeueConfiguredReusableSupplementaryViewWithRegistration:(UICollectionViewSupplementaryRegistration*)registration forIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// These properties control whether items can be selected, and if so, whether multiple items can be simultaneously selected.
@property (nonatomic) BOOL allowsSelection; // default is YES
@@ -416,7 +416,7 @@
- (void)deselectItemAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated;
// Returns YES if the collection view is reordering or has drop placeholders.
-@property (nonatomic, readonly) BOOL hasUncommittedUpdates API_AVAILABLE(ios(11.0));
+@property (nonatomic, readonly) BOOL hasUncommittedUpdates API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
// Note: -reloadData will discard any uncommitted updates (e.g. placeholders)
- (void)reloadData; // discard the dataSource and delegate data and requery as necessary
@@ -439,6 +439,11 @@
- (nullable NSIndexPath *)indexPathForItemAtPoint:(CGPoint)point;
- (nullable NSIndexPath *)indexPathForCell:(UICollectionViewCell *)cell;
+/// Gets the index path of the specified supplementary view.
+/// @param supplementaryView The supplementary or decoration view whose index path you want.
+/// @return The index path of the specified view if it is in the collection view, else `nil`.
+- (nullable NSIndexPath *)indexPathForSupplementaryView:(UICollectionReusableView *)supplementaryView;
+
// 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 __kindof UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath;
@@ -465,7 +470,7 @@
- (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)reconfigureItemsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
- (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.
@@ -485,12 +490,12 @@
/// 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));
+@property (nonatomic) BOOL allowsFocus API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/// 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));
+@property (nonatomic) BOOL allowsFocusDuringEditing API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
// Drag & Drop
@@ -506,18 +511,18 @@
/* Controls the editing state for the receiver.
*/
-@property (nonatomic, getter=isEditing) BOOL editing API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic, getter=isEditing) BOOL editing API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/* Controls whether an item can be selected when the receiver is editing.
* Defaults to NO.
*/
-@property (nonatomic) BOOL allowsSelectionDuringEditing API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic) BOOL allowsSelectionDuringEditing API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/* Controls whether multiple item selection can occur when the receiver is editing.
* Defaults to NO.
*/
-@property (nonatomic) BOOL allowsMultipleSelectionDuringEditing API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic) BOOL allowsMultipleSelectionDuringEditing API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h 2024-04-18 07:56:10
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h 2024-05-30 15:54:28
@@ -34,7 +34,7 @@
UICollectionViewCellDragStateDragging
} API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionReusableView : UIView
@property (nonatomic, readonly, copy, nullable) NSString *reuseIdentifier;
@@ -59,35 +59,35 @@
@end
-typedef void (^UICollectionViewCellConfigurationUpdateHandler)(__kindof UICollectionViewCell *cell, UICellConfigurationState *state) API_AVAILABLE(ios(15.0), tvos(15.0), watchos(8.0));
+typedef void (^UICollectionViewCellConfigurationUpdateHandler)(__kindof UICollectionViewCell *cell, UICellConfigurationState *state) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) 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
/// system properties set, then set your own custom states as desired.
-@property (nonatomic, readonly) UICellConfigurationState *configurationState API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic, readonly) UICellConfigurationState *configurationState API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Requests the cell update its configuration for its current state. This method is called automatically
/// when the cell's `configurationState` 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(14.0), tvos(14.0), watchos(7.0));
+- (void)setNeedsUpdateConfiguration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// 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));
+- (void)updateConfigurationUsingState:(UICellConfigurationState *)state API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// 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));
+@property (nonatomic, copy, nullable) UICollectionViewCellConfigurationUpdateHandler configurationUpdateHandler API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/// 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.
/// The default value is nil. After a configuration has been set, setting this property to nil will replace the current content view with a new content view.
-@property (nonatomic, copy, nullable) id<UIContentConfiguration> contentConfiguration API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic, copy, nullable) id<UIContentConfiguration> contentConfiguration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// When YES, the cell will automatically call -updatedConfigurationForState: on its `contentConfiguration` when the cell's
/// configuration state changes, and apply the updated configuration back to the cell. The default value is YES.
-@property (nonatomic) BOOL automaticallyUpdatesContentConfiguration API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic) BOOL automaticallyUpdatesContentConfiguration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
@property (nonatomic, readonly) UIView *contentView; // add custom subviews to the cell's contentView
@@ -107,13 +107,13 @@
/// Returns a default background configuration for the cell's style.
/// This background configuration represents the default appearance that the cell will use.
-- (UIBackgroundConfiguration *)defaultBackgroundConfiguration API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+- (UIBackgroundConfiguration *)defaultBackgroundConfiguration API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
/// Setting a background configuration supersedes the cell's backgroundView and selectedBackgroundView. The default value is nil.
-@property (nonatomic, copy, nullable) UIBackgroundConfiguration *backgroundConfiguration API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic, copy, nullable) UIBackgroundConfiguration *backgroundConfiguration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// When YES, the cell will automatically call -updatedConfigurationForState: on its `backgroundConfiguration` when the cell's
/// configuration state changes, and apply the updated configuration back to the cell. The default value is YES.
-@property (nonatomic) BOOL automaticallyUpdatesBackgroundConfiguration API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property (nonatomic) BOOL automaticallyUpdatesBackgroundConfiguration API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// These properties are always nil when a non-nil `backgroundConfiguration` is set.
// The background view is a subview behind all other views.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2024-04-18 07:17:37
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCompositionalLayout.h 2024-05-31 08:16:55
@@ -34,20 +34,20 @@
UIContentInsetsReferenceSafeArea, // honor safe area
UIContentInsetsReferenceLayoutMargins, // honor layout margins
UIContentInsetsReferenceReadableContent, // honor readable content
-} API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+} API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewCompositionalLayoutConfiguration : NSObject<NSCopying>
@property(nonatomic) UICollectionViewScrollDirection scrollDirection; // default is UICollectionViewScrollDirectionVertical
@property(nonatomic) CGFloat interSectionSpacing; // default is 0
@property(nonatomic,copy) NSArray<NSCollectionLayoutBoundarySupplementaryItem*> *boundarySupplementaryItems;
-@property(nonatomic) UIContentInsetsReference contentInsetsReference API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0)); // default is UIContentInsetsReferenceSafeArea
+@property(nonatomic) UIContentInsetsReference contentInsetsReference API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos); // default is UIContentInsetsReferenceSafeArea
@end
-typedef NSCollectionLayoutSection * _Nullable (^UICollectionViewCompositionalLayoutSectionProvider)(NSInteger sectionIndex, id<NSCollectionLayoutEnvironment> layoutEnvironment);
+typedef NSCollectionLayoutSection * _Nullable (^UICollectionViewCompositionalLayoutSectionProvider)(NSInteger sectionIndex, id<NSCollectionLayoutEnvironment> layoutEnvironment) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionViewCompositionalLayout : UICollectionViewLayout
- (instancetype)initWithSection:(NSCollectionLayoutSection*)section;
- (instancetype)initWithSection:(NSCollectionLayoutSection*)section configuration:(UICollectionViewCompositionalLayoutConfiguration*)configuration;
@@ -83,24 +83,24 @@
// The section allows users to page its content orthogonally one group at a time, centering each group.
UICollectionLayoutSectionOrthogonalScrollingBehaviorGroupPagingCentered,
-} API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0));
+} API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
-typedef void (^NSCollectionLayoutSectionVisibleItemsInvalidationHandler)(NSArray<id<NSCollectionLayoutVisibleItem>> *visibleItems, CGPoint contentOffset, id<NSCollectionLayoutEnvironment> layoutEnvironment);
+typedef void (^NSCollectionLayoutSectionVisibleItemsInvalidationHandler)(NSArray<id<NSCollectionLayoutVisibleItem>> *visibleItems, CGPoint contentOffset, id<NSCollectionLayoutEnvironment> layoutEnvironment) API_UNAVAILABLE(watchos);
-typedef CGFloat UICollectionLayoutSectionOrthogonalScrollingDecelerationRate NS_TYPED_ENUM;
-UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateAutomatic API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
-UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateNormal API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
-UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateFast API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+typedef CGFloat UICollectionLayoutSectionOrthogonalScrollingDecelerationRate NS_TYPED_ENUM API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateAutomatic API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateNormal API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+UIKIT_EXTERN const UICollectionLayoutSectionOrthogonalScrollingDecelerationRate UICollectionLayoutSectionOrthogonalScrollingDecelerationRateFast API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
typedef NS_ENUM(NSInteger, UICollectionLayoutSectionOrthogonalScrollingBounce) {
UICollectionLayoutSectionOrthogonalScrollingBounceAutomatic,
UICollectionLayoutSectionOrthogonalScrollingBounceAlways,
UICollectionLayoutSectionOrthogonalScrollingBounceNever
-} API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+} API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UICollectionLayoutSectionOrthogonalScrollingProperties : NSObject <NSCopying>
/// The orthogonal scroll view's rate of deceleration after the user lifts their finger.
@@ -111,7 +111,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutSection : NSObject<NSCopying>
+ (instancetype)sectionWithGroup:(NSCollectionLayoutGroup*)group;
- (instancetype)init NS_UNAVAILABLE;
@@ -121,18 +121,18 @@
@property(nonatomic) CGFloat interGroupSpacing;
// default is UIContentInsetsReferenceAutomatic i.e. following the layout configuration's contentInsetsReference
-@property(nonatomic) UIContentInsetsReference contentInsetsReference API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+@property(nonatomic) UIContentInsetsReference contentInsetsReference API_AVAILABLE(ios(14.0), tvos(14.0)) API_UNAVAILABLE(watchos);
/// Specifies the content insets reference for boundary supplementaries in this section.
/// The default value of this property is UIContentInsetsReference.automatic, which means that any insets specified on a @c NSCollectionLayoutBoundarySupplementaryItem
/// will follow the layout configuration's @c contentInsetsReference.
-@property (nonatomic) UIContentInsetsReference supplementaryContentInsetsReference API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+@property (nonatomic) UIContentInsetsReference supplementaryContentInsetsReference API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
// default is .none
@property(nonatomic) UICollectionLayoutSectionOrthogonalScrollingBehavior orthogonalScrollingBehavior;
// Properties to configure the orthogonal scrolling section.
-@property(nonatomic,readonly) UICollectionLayoutSectionOrthogonalScrollingProperties *orthogonalScrollingProperties API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
+@property(nonatomic,readonly) UICollectionLayoutSectionOrthogonalScrollingProperties *orthogonalScrollingProperties API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
// Supplementaries associated with the boundary edges of the section
@property(nonatomic,copy) NSArray<NSCollectionLayoutBoundarySupplementaryItem*> *boundarySupplementaryItems;
@@ -145,7 +145,7 @@
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutItem : NSObject<NSCopying>
+ (instancetype)itemWithLayoutSize:(NSCollectionLayoutSize*)layoutSize;
+ (instancetype)itemWithLayoutSize:(NSCollectionLayoutSize*)layoutSize supplementaryItems:(NSArray<NSCollectionLayoutSupplementaryItem*>*)supplementaryItems;
@@ -199,7 +199,7 @@
@property(nonatomic,readonly) NSArray<NSCollectionLayoutSupplementaryItem*> *supplementaryItems;
@end
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutGroupCustomItem : NSObject<NSCopying>
+ (instancetype)customItemWithFrame:(CGRect)frame;
+ (instancetype)customItemWithFrame:(CGRect)frame zIndex:(NSInteger)zIndex;
@@ -211,16 +211,16 @@
@property(nonatomic,readonly) NSInteger zIndex;
@end
-typedef NSArray<NSCollectionLayoutGroupCustomItem*> * _Nonnull(^NSCollectionLayoutGroupCustomItemProvider)(id<NSCollectionLayoutEnvironment> layoutEnvironment);
+typedef NSArray<NSCollectionLayoutGroupCustomItem*> * _Nonnull(^NSCollectionLayoutGroupCustomItemProvider)(id<NSCollectionLayoutEnvironment> layoutEnvironment) API_UNAVAILABLE(watchos);
-UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0)) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface NSCollectionLayoutGroup : NSCollectionLayoutItem<NSCopying>
/// Specifies a group that will horizontally repeat its subitem a fixed number of times.
/// @param layoutSize The group's size.
/// @param subitem The subitem to repeat. It is the caller's responsibility to ensure that the group's @c layoutSize can fit @c count repetitions of this item.
/// @param count The number of times to repeat the passed in subitem.
-+ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize repeatingSubitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
++ (instancetype)horizontalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize repeatingSubitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
// 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 definitions
@@ -230,7 +230,7 @@
/// @param layoutSize The group's size.
/// @param subitem The subitem to repeat. It is the caller's responsibility to ensure that the group's @c layoutSize can fit @c count repetitions of this item.
/// @param count The number of times to repeat the passed in subitem.
-+ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize repeatingSubitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
++ (instancetype)verticalGroupWithLayoutSize:(NSCollectionLayoutSize*)layoutSize repeatingSubitem:(NSCollectionLayoutItem*)subitem count:(NSInteger)count API_AVAILABLE(ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
// 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 fle