-
Notifications
You must be signed in to change notification settings - Fork 542
UIKit watchOS xcode16.0 b1
Rolf Bjarne Kvinge edited this page Jun 18, 2024
·
2 revisions
#UIKit.framework
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2024-04-18 08:18:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSItemProvider+UIKitAdditions.h 2024-05-30 09:04:26
@@ -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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSParagraphStyle.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2024-04-18 08:18:50
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSShadow.h 2024-05-30 09:04:19
@@ -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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2024-04-18 08:18:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h 2024-05-30 09:04:26
@@ -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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityConstants.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h 2024-04-18 08:18:52
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBezierPath.h 2024-05-30 09:04:21
@@ -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/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2024-04-18 07:56:07
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h 2024-05-31 08:14:16
@@ -20,29 +20,37 @@
@class UIImage;
@class UITraitCollection;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_SENDABLE
+// A type indicating the prominence of a color.
+typedef NS_ENUM(NSInteger, UIColorProminence) {
+ UIColorProminencePrimary,
+ UIColorProminenceSecondary,
+ UIColorProminenceTertiary,
+ UIColorProminenceQuaternary,
+} NS_SWIFT_NAME(UIColor.Prominence) API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+UIKIT_EXTERN API_AVAILABLE(ios(2.0), watchos(2.0)) NS_SWIFT_SENDABLE
@interface UIColor : NSObject <NSSecureCoding, NSCopying>
// Convenience methods for creating colors
+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
-+ (UIColor *)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(ios(10.0));
++ (UIColor *)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(ios(10.0), watchos(3.0));
+ (UIColor *)colorWithCGColor:(CGColorRef)cgColor;
+ (UIColor *)colorWithPatternImage:(UIImage *)image;
#if __has_include(<CoreImage/CoreImage.h>)
-+ (UIColor *)colorWithCIColor:(CIColor *)ciColor API_AVAILABLE(ios(5.0));
++ (UIColor *)colorWithCIColor:(CIColor *)ciColor API_AVAILABLE(ios(5.0), watchos(2.0));
#endif
// Initializers for creating colors
- (UIColor *)initWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
- (UIColor *)initWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
- (UIColor *)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
-- (UIColor *)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(ios(10.0));
+- (UIColor *)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(ios(10.0), watchos(3.0));
- (UIColor *)initWithCGColor:(CGColorRef)cgColor;
- (UIColor *)initWithPatternImage:(UIImage*)image;
#if __has_include(<CoreImage/CoreImage.h>)
-- (UIColor *)initWithCIColor:(CIColor *)ciColor API_AVAILABLE(ios(5.0));
+- (UIColor *)initWithCIColor:(CIColor *)ciColor API_AVAILABLE(ios(5.0), watchos(2.0));
#endif
// Some convenience methods to create colors. These colors will be as calibrated as possible.
@@ -72,9 +80,9 @@
// Convenience methods for getting components.
// If the receiver is of a compatible color space, any non-NULL parameters are populated and 'YES' is returned. Otherwise, the parameters are left unchanged and 'NO' is returned.
-- (BOOL)getWhite:(nullable CGFloat *)white alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0));
-- (BOOL)getHue:(nullable CGFloat *)hue saturation:(nullable CGFloat *)saturation brightness:(nullable CGFloat *)brightness alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0));
-- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0));
+- (BOOL)getWhite:(nullable CGFloat *)white alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0), watchos(2.0));
+- (BOOL)getHue:(nullable CGFloat *)hue saturation:(nullable CGFloat *)saturation brightness:(nullable CGFloat *)brightness alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0), watchos(2.0));
+- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha API_AVAILABLE(ios(5.0), watchos(2.0));
// Returns a color in the same color space as the receiver with the specified alpha component.
- (UIColor *)colorWithAlphaComponent:(CGFloat)alpha;
@@ -83,7 +91,7 @@
@property(nonatomic,readonly) CGColorRef CGColor;
- (CGColorRef)CGColor NS_RETURNS_INNER_POINTER CF_RETURNS_NOT_RETAINED;
#if __has_include(<CoreImage/CoreImage.h>)
-@property(nonatomic,readonly) CIColor *CIColor API_AVAILABLE(ios(5.0));
+@property(nonatomic,readonly) CIColor *CIColor API_AVAILABLE(ios(5.0), watchos(2.0));
#endif
@end
@@ -97,13 +105,13 @@
#if __has_include(<CoreImage/CoreImage.h>)
@interface CIColor(UIKitAdditions)
-- (instancetype)initWithColor:(UIColor *)color API_AVAILABLE(ios(5.0));
+- (instancetype)initWithColor:(UIColor *)color API_AVAILABLE(ios(5.0), watchos(2.0));
@end
#endif
@interface UIColor (UIColorNamedColors)
-+ (nullable UIColor *)colorNamed:(NSString *)name API_AVAILABLE(ios(11.0)); // load from main bundle
++ (nullable UIColor *)colorNamed:(NSString *)name API_AVAILABLE(ios(11.0), watchos(4.0)); // load from main bundle
+ (nullable UIColor *)colorNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
@end
@@ -124,6 +132,15 @@
- (UIColor *)resolvedColorWithTraitCollection:(UITraitCollection *)traitCollection API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
@end
+
+@interface UIColor (ProminenceSupport)
+
+// Returns a color as the receiver with the specified prominence.
+- (UIColor *)colorWithProminence:(UIColorProminence)prominence API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+@property(nonatomic, readonly) UIColorProminence prominence API_AVAILABLE(visionos(2.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+@end
+
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h 2024-04-26 07:47:48
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h 2024-06-01 04:15:28
@@ -15,11 +15,11 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_SENDABLE
+UIKIT_EXTERN API_AVAILABLE(ios(2.0), watchos(2.0)) NS_SWIFT_SENDABLE
@interface UIFont : NSObject <NSCopying, NSSecureCoding>
// Returns an instance of the font associated with the text style and scaled appropriately for the user's selected content size category. See UIFontDescriptor.h for the complete list.
-+ (UIFont *)preferredFontForTextStyle:(UIFontTextStyle)style API_AVAILABLE(ios(7.0));
++ (UIFont *)preferredFontForTextStyle:(UIFontTextStyle)style API_AVAILABLE(ios(7.0), watchos(2.0));
// Returns an instance of the font associated with the text style and scaled appropriately for the content size category defined in the trait collection.
+ (UIFont *)preferredFontForTextStyle:(UIFontTextStyle)style compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
@@ -43,14 +43,14 @@
// Weights used here are analogous to those used with UIFontDescriptor's UIFontWeightTrait.
// See the UIFontWeight... constants in UIFontDescriptor.h for suggested values.
// The caveat above about the use of ...systemFont... methods applies to these methods too.
-+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(8.2));
-+ (UIFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(9.0));
++ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(8.2), watchos(2.0));
++ (UIFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(9.0), watchos(2.0));
/* Returns an instance with the specified weight and width. Width values are declared in UIFontDescriptor.h. */
-+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight width:(UIFontWidth)width API_AVAILABLE(ios(16.0));
++ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight width:(UIFontWidth)width API_AVAILABLE(ios(16.0), watchos(9.0));
/* Returns current default monospaced font for system UI. Clients of this API should be aware that the monospaced system font has a similar coverage of default system UI font, which includes Latin and common symbols used for displaying text like source code. For the characters it does not cover, the substituted fonts are usually not the same width as the monospaced system font, they can be wider, narrower, or variable. To ensure fixed advances in text layout, clients can consider using string attributes like UIFontDescriptorFixedAdvanceAttribute. */
-+ (UIFont *)monospacedSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(13.0));
++ (UIFont *)monospacedSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(13.0), watchos(6.0));
// Font attributes
@@ -61,17 +61,17 @@
@property(nonatomic,readonly) CGFloat descender;
@property(nonatomic,readonly) CGFloat capHeight;
@property(nonatomic,readonly) CGFloat xHeight;
-@property(nonatomic,readonly) CGFloat lineHeight API_AVAILABLE(ios(4.0));
+@property(nonatomic,readonly) CGFloat lineHeight API_AVAILABLE(ios(4.0), watchos(2.0));
@property(nonatomic,readonly) CGFloat leading;
// Create a new font that is identical to the current font except the specified size
- (UIFont *)fontWithSize:(CGFloat)fontSize;
// Returns a font matching the font descriptor. If fontSize is greater than 0.0, it has precedence over UIFontDescriptorSizeAttribute in fontDescriptor.
-+ (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize API_AVAILABLE(ios(7.0));
++ (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize API_AVAILABLE(ios(7.0), watchos(2.0));
// Returns a font descriptor which describes the font.
-@property(nonatomic, readonly) UIFontDescriptor *fontDescriptor API_AVAILABLE(ios(7.0));
+@property(nonatomic, readonly) UIFontDescriptor *fontDescriptor API_AVAILABLE(ios(7.0), watchos(2.0));
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2024-04-18 07:56:06
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h 2024-05-31 07:34:54
@@ -44,17 +44,17 @@
UIFontDescriptorClassOrnamentals = 9u << 28,
UIFontDescriptorClassScripts = 10u << 28,
UIFontDescriptorClassSymbolic = 12u << 28
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0), watchos(2.0));
-typedef NSUInteger UIFontDescriptorClass;
-typedef NSString * UIFontTextStyle NS_TYPED_ENUM;
-typedef NSString * UIFontDescriptorAttributeName NS_TYPED_ENUM;
-typedef NSString * UIFontDescriptorTraitKey NS_TYPED_ENUM;
-typedef NSString * UIFontDescriptorFeatureKey NS_TYPED_EXTENSIBLE_ENUM;
-typedef CGFloat UIFontWeight NS_TYPED_EXTENSIBLE_ENUM;
-typedef CGFloat UIFontWidth NS_TYPED_EXTENSIBLE_ENUM;
+typedef NSUInteger UIFontDescriptorClass API_AVAILABLE(watchos(2.0));
+typedef NSString * UIFontTextStyle NS_TYPED_ENUM API_AVAILABLE(watchos(3.0));
+typedef NSString * UIFontDescriptorAttributeName NS_TYPED_ENUM API_AVAILABLE(watchos(4.0));
+typedef NSString * UIFontDescriptorTraitKey NS_TYPED_ENUM API_AVAILABLE(watchos(4.0));
+typedef NSString * UIFontDescriptorFeatureKey NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(watchos(4.0));
+typedef CGFloat UIFontWeight NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(watchos(4.0));
+typedef CGFloat UIFontWidth NS_TYPED_EXTENSIBLE_ENUM API_AVAILABLE(watchos(9.0));
-typedef NSString * UIFontDescriptorSystemDesign NS_TYPED_ENUM;
+typedef NSString * UIFontDescriptorSystemDesign NS_TYPED_ENUM API_AVAILABLE(watchos(5.2));
UIKIT_EXTERN UIFontDescriptorSystemDesign const UIFontDescriptorSystemDesignDefault API_AVAILABLE(ios(13.0), watchos(5.2), tvos(13.0));
UIKIT_EXTERN UIFontDescriptorSystemDesign const UIFontDescriptorSystemDesignRounded API_AVAILABLE(ios(13.0), watchos(5.2), tvos(13.0));
UIKIT_EXTERN UIFontDescriptorSystemDesign const UIFontDescriptorSystemDesignSerif API_AVAILABLE(ios(13.0), watchos(7.0), tvos(13.0));
@@ -62,7 +62,7 @@
@class NSMutableDictionary, NSDictionary, NSArray, NSSet, UITraitCollection;
-UIKIT_EXTERN API_AVAILABLE(ios(7.0)) NS_SWIFT_SENDABLE
+UIKIT_EXTERN API_AVAILABLE(ios(7.0), watchos(2.0)) NS_SWIFT_SENDABLE
@interface UIFontDescriptor : NSObject <NSCopying, NSSecureCoding>
- (instancetype)init;
@@ -108,83 +108,83 @@
// Predefined font attributes not defined in NSAttributedString.h
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFamilyAttribute API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorNameAttribute API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFaceAttribute API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorSizeAttribute API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorVisibleNameAttribute API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFamilyAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorNameAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFaceAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorSizeAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorVisibleNameAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorMatrixAttribute API_AVAILABLE(ios(7.0)); // An NSValue containing a CGAffineTransform. (default: identity matrix)
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorCharacterSetAttribute API_AVAILABLE(ios(7.0)); // An NSCharacterSet instance representing a set of Unicode characters covered by the font. (default: supplied by font)
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorCascadeListAttribute API_AVAILABLE(ios(7.0)); // An NSArray instance. Each member of the array is a sub-descriptor. (default: the system default cascading list for user's locale)
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorTraitsAttribute API_AVAILABLE(ios(7.0)); // An NSDictionary instance fully describing font traits. (default: supplied by font)
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFixedAdvanceAttribute API_AVAILABLE(ios(7.0)); // A float represented as an NSNumber. The value overrides glyph advancement specified by the font. (default: supplied by each glyph)
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFeatureSettingsAttribute API_AVAILABLE(ios(7.0)); // An array of dictionaries representing non-default font feature settings. Each dictionary contains UIFontFeatureTypeIdentifierKey and UIFontFeatureSelectorIdentifierKey.
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorMatrixAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // An NSValue containing a CGAffineTransform. (default: identity matrix)
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorCharacterSetAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // An NSCharacterSet instance representing a set of Unicode characters covered by the font. (default: supplied by font)
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorCascadeListAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // An NSArray instance. Each member of the array is a sub-descriptor. (default: the system default cascading list for user's locale)
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorTraitsAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // An NSDictionary instance fully describing font traits. (default: supplied by font)
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFixedAdvanceAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // A float represented as an NSNumber. The value overrides glyph advancement specified by the font. (default: supplied by each glyph)
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorFeatureSettingsAttribute API_AVAILABLE(ios(7.0), watchos(2.0)); // An array of dictionaries representing non-default font feature settings. Each dictionary contains UIFontFeatureTypeIdentifierKey and UIFontFeatureSelectorIdentifierKey.
// An NSString containing the desired Text Style
-UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorTextStyleAttribute API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorAttributeName const UIFontDescriptorTextStyleAttribute API_AVAILABLE(ios(7.0), watchos(2.0));
// Font traits keys
// This key is used with a trait dictionary to get the symbolic traits value as an NSNumber.
-UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontSymbolicTrait API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontSymbolicTrait API_AVAILABLE(ios(7.0), watchos(2.0));
// This key is used with a trait dictionary to get the normalized weight value as an NSNumber. The valid value range is from -1.0 to 1.0. The value of 0.0 corresponds to the regular or medium font weight.
-UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontWeightTrait API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontWeightTrait API_AVAILABLE(ios(7.0), watchos(2.0));
// This key is used with a trait dictionary to get the relative inter-glyph spacing value as an NSNumber. The valid value range is from -1.0 to 1.0. The value of 0.0 corresponds to the regular glyph spacing.
-UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontWidthTrait API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontWidthTrait API_AVAILABLE(ios(7.0), watchos(2.0));
// This key is used with a trait dictionary to get the relative slant angle value as an NSNumber. The valid value range is from -1.0 to 1.0. The value or 0.0 corresponds to 0 degree clockwise rotation from the vertical and 1.0 corresponds to 30 degrees clockwise rotation.
-UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontSlantTrait API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorTraitKey const UIFontSlantTrait API_AVAILABLE(ios(7.0), watchos(2.0));
// Suggested values for use with UIFontWeightTrait, and UIFont's systemFontOfSize:weight:
// Beware that most fonts will _not_ have variants available in all these weights!
-UIKIT_EXTERN const UIFontWeight UIFontWeightUltraLight API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightThin API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightLight API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightRegular API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightMedium API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightSemibold API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightBold API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightHeavy API_AVAILABLE(ios(8.2));
-UIKIT_EXTERN const UIFontWeight UIFontWeightBlack API_AVAILABLE(ios(8.2));
+UIKIT_EXTERN const UIFontWeight UIFontWeightUltraLight API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightThin API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightLight API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightRegular API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightMedium API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightSemibold API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightBold API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightHeavy API_AVAILABLE(ios(8.2), watchos(2.0));
+UIKIT_EXTERN const UIFontWeight UIFontWeightBlack API_AVAILABLE(ios(8.2), watchos(2.0));
// Suggested values for use with UIFontWidthTrait.
// Beware that most fonts will _not_ have variants available in all these widths!
-UIKIT_EXTERN const UIFontWidth UIFontWidthCondensed API_AVAILABLE(ios(16.0));
-UIKIT_EXTERN const UIFontWidth UIFontWidthStandard API_AVAILABLE(ios(16.0));
-UIKIT_EXTERN const UIFontWidth UIFontWidthExpanded API_AVAILABLE(ios(16.0));
-UIKIT_EXTERN const UIFontWidth UIFontWidthCompressed API_AVAILABLE(ios(16.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthCondensed API_AVAILABLE(ios(16.0), watchos(9.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthStandard API_AVAILABLE(ios(16.0), watchos(9.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthExpanded API_AVAILABLE(ios(16.0), watchos(9.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthCompressed API_AVAILABLE(ios(16.0), watchos(9.0));
// Font feature keys
#if __swift__
// Allows for better FeatureKey names for Swift clients
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.typeIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.type", ios(7.0, 15.0), visionos(1.0, 1.0));
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.featureIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.selector", ios(7.0, 15.0), visionos(1.0, 1.0));
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.type) API_AVAILABLE(ios(15.0));
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.selector) API_AVAILABLE(ios(15.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.typeIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.type", ios(7.0, 15.0), visionos(1.0, 1.0), watchos(2.0, 8.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey NS_SWIFT_NAME(UIFontDescriptorFeatureKey.featureIdentifier) API_DEPRECATED_WITH_REPLACEMENT("UIFontDescriptor.FeatureKey.selector", ios(7.0, 15.0), visionos(1.0, 1.0), watchos(2.0, 8.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.type) API_AVAILABLE(ios(15.0), watchos(8.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey_ForNewSwiftAPI NS_SWIFT_NAME(UIFontDescriptorFeatureKey.selector) API_AVAILABLE(ios(15.0), watchos(8.0));
#else
// A number object specifying font feature type such as ligature, character shape, etc.
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureTypeIdentifierKey API_AVAILABLE(ios(7.0), watchos(2.0));
// A number object specifying font feature selector such as common ligature off, traditional character shape, etc.
-UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontDescriptorFeatureKey const UIFontFeatureSelectorIdentifierKey API_AVAILABLE(ios(7.0), watchos(2.0));
#endif
// Font text styles, semantic descriptions of the intended use for a font returned by +[UIFont preferredFontForTextStyle:]
UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleLargeTitle API_AVAILABLE(ios(11.0), watchos(5.0)) API_UNAVAILABLE(tvos);
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle API_AVAILABLE(ios(17.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle2 API_AVAILABLE(ios(17.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle1 API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle2 API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle3 API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleHeadline API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleSubheadline API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleBody API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCallout API_AVAILABLE(ios(9.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleFootnote API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCaption1 API_AVAILABLE(ios(7.0));
-UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCaption2 API_AVAILABLE(ios(7.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle API_AVAILABLE(ios(17.0), watchos(10.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleExtraLargeTitle2 API_AVAILABLE(ios(17.0), watchos(10.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle1 API_AVAILABLE(ios(9.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle2 API_AVAILABLE(ios(9.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleTitle3 API_AVAILABLE(ios(9.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleHeadline API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleSubheadline API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleBody API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCallout API_AVAILABLE(ios(9.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleFootnote API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCaption1 API_AVAILABLE(ios(7.0), watchos(2.0));
+UIKIT_EXTERN UIFontTextStyle const UIFontTextStyleCaption2 API_AVAILABLE(ios(7.0), watchos(2.0));
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2024-04-19 07:00:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h 2024-05-31 07:26:16
@@ -19,7 +19,7 @@
#ifdef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
typedef NSEdgeInsets UIEdgeInsets;
#else
-typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE API_AVAILABLE(watchos(2.0)) UIEdgeInsets {
CGFloat top, left, bottom, right; // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
} UIEdgeInsets;
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
@@ -31,14 +31,14 @@
/* Specifically for use in methods and functions supporting user interface layout direction
*/
-typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE NSDirectionalEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE API_AVAILABLE(watchos(4.0)) NSDirectionalEdgeInsets {
CGFloat top, leading, bottom, trailing; // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
} NSDirectionalEdgeInsets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIOffset {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE API_AVAILABLE(watchos(2.0)) UIOffset {
CGFloat horizontal, vertical; // specify amount to offset a position, positive for right or down, negative for left or up
} UIOffset;
@@ -49,7 +49,7 @@
UIRectEdgeBottom = 1 << 2,
UIRectEdgeRight = 1 << 3,
UIRectEdgeAll = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0), watchos(2.0));
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
@@ -57,7 +57,7 @@
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
-};
+} API_AVAILABLE(watchos(2.0));
typedef NS_OPTIONS(NSUInteger, UIAxis) {
UIAxisNeither = 0,
@@ -90,7 +90,7 @@
NSDirectionalRectEdgeBottom = 1 << 2,
NSDirectionalRectEdgeTrailing = 1 << 3,
NSDirectionalRectEdgeAll = NSDirectionalRectEdgeTop | NSDirectionalRectEdgeLeading | NSDirectionalRectEdgeBottom | NSDirectionalRectEdgeTrailing
-} API_AVAILABLE(ios(13.0));
+} API_AVAILABLE(ios(13.0), watchos(6.0));
typedef NS_OPTIONS(NSUInteger, UIDirectionalRectEdge) {
@@ -112,12 +112,12 @@
NSRectAlignmentBottomTrailing,
NSRectAlignmentTrailing,
NSRectAlignmentTopTrailing,
-} API_AVAILABLE(ios(13.0));
+} API_AVAILABLE(ios(13.0), watchos(6.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_STATIC_INLINE UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) {
+UIKIT_STATIC_INLINE UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) API_AVAILABLE(watchos(2.0)) {
UIEdgeInsets insets = {top, left, bottom, right};
return insets;
}
@@ -132,7 +132,7 @@
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_STATIC_INLINE CGRect UIEdgeInsetsInsetRect(CGRect rect, UIEdgeInsets insets) {
+UIKIT_STATIC_INLINE CGRect UIEdgeInsetsInsetRect(CGRect rect, UIEdgeInsets insets) API_AVAILABLE(watchos(2.0)) {
rect.origin.x += insets.left;
rect.origin.y += insets.top;
rect.size.width -= (insets.left + insets.right);
@@ -140,12 +140,12 @@
return rect;
}
-UIKIT_STATIC_INLINE UIOffset UIOffsetMake(CGFloat horizontal, CGFloat vertical) {
+UIKIT_STATIC_INLINE UIOffset UIOffsetMake(CGFloat horizontal, CGFloat vertical) API_AVAILABLE(watchos(2.0)) {
UIOffset offset = {horizontal, vertical};
return offset;
}
-UIKIT_STATIC_INLINE BOOL UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsets insets1, UIEdgeInsets insets2) {
+UIKIT_STATIC_INLINE BOOL UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsets insets1, UIEdgeInsets insets2) API_AVAILABLE(watchos(2.0)) {
return insets1.left == insets2.left && insets1.top == insets2.top && insets1.right == insets2.right && insets1.bottom == insets2.bottom;
}
@@ -158,43 +158,43 @@
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_STATIC_INLINE BOOL UIOffsetEqualToOffset(UIOffset offset1, UIOffset offset2) {
+UIKIT_STATIC_INLINE BOOL UIOffsetEqualToOffset(UIOffset offset1, UIOffset offset2) API_AVAILABLE(watchos(2.0)) {
return offset1.horizontal == offset2.horizontal && offset1.vertical == offset2.vertical;
}
-UIKIT_EXTERN const UIEdgeInsets UIEdgeInsetsZero;
+UIKIT_EXTERN const UIEdgeInsets UIEdgeInsetsZero API_AVAILABLE(watchos(2.0));
#ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
UIKIT_EXTERN const NSDirectionalEdgeInsets NSDirectionalEdgeInsetsZero API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_EXTERN const UIOffset UIOffsetZero;
+UIKIT_EXTERN const UIOffset UIOffsetZero API_AVAILABLE(watchos(2.0));
-UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point);
-UIKIT_EXTERN NSString *NSStringFromCGVector(CGVector vector);
-UIKIT_EXTERN NSString *NSStringFromCGSize(CGSize size);
-UIKIT_EXTERN NSString *NSStringFromCGRect(CGRect rect);
-UIKIT_EXTERN NSString *NSStringFromCGAffineTransform(CGAffineTransform transform);
-UIKIT_EXTERN NSString *NSStringFromUIEdgeInsets(UIEdgeInsets insets);
+UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN NSString *NSStringFromCGVector(CGVector vector) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN NSString *NSStringFromCGSize(CGSize size) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN NSString *NSStringFromCGRect(CGRect rect) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN NSString *NSStringFromCGAffineTransform(CGAffineTransform transform) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN NSString *NSStringFromUIEdgeInsets(UIEdgeInsets insets) API_AVAILABLE(watchos(2.0));
#ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
UIKIT_EXTERN NSString *NSStringFromDirectionalEdgeInsets(NSDirectionalEdgeInsets insets) API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_EXTERN NSString *NSStringFromUIOffset(UIOffset offset);
+UIKIT_EXTERN NSString *NSStringFromUIOffset(UIOffset offset) API_AVAILABLE(watchos(2.0));
-UIKIT_EXTERN CGPoint CGPointFromString(NSString *string);
-UIKIT_EXTERN CGVector CGVectorFromString(NSString *string);
-UIKIT_EXTERN CGSize CGSizeFromString(NSString *string);
-UIKIT_EXTERN CGRect CGRectFromString(NSString *string);
-UIKIT_EXTERN CGAffineTransform CGAffineTransformFromString(NSString *string);
-UIKIT_EXTERN UIEdgeInsets UIEdgeInsetsFromString(NSString *string);
+UIKIT_EXTERN CGPoint CGPointFromString(NSString *string) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN CGVector CGVectorFromString(NSString *string) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN CGSize CGSizeFromString(NSString *string) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN CGRect CGRectFromString(NSString *string) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN CGAffineTransform CGAffineTransformFromString(NSString *string) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN UIEdgeInsets UIEdgeInsetsFromString(NSString *string) API_AVAILABLE(watchos(2.0));
#ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
#if UIKIT_HAS_UIFOUNDATION_SYMBOLS
UIKIT_EXTERN NSDirectionalEdgeInsets NSDirectionalEdgeInsetsFromString(NSString *string) API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-UIKIT_EXTERN UIOffset UIOffsetFromString(NSString *string);
+UIKIT_EXTERN UIOffset UIOffsetFromString(NSString *string) API_AVAILABLE(watchos(2.0));
@interface NSValue (NSValueUIGeometryExtensions)
@@ -209,7 +209,7 @@
+ (NSValue *)valueWithDirectionalEdgeInsets:(NSDirectionalEdgeInsets)insets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-+ (NSValue *)valueWithUIOffset:(UIOffset)insets API_AVAILABLE(ios(5.0));
++ (NSValue *)valueWithUIOffset:(UIOffset)insets API_AVAILABLE(ios(5.0), watchos(2.0));
@property(nonatomic, readonly) CGPoint CGPointValue;
@property(nonatomic, readonly) CGVector CGVectorValue;
@@ -222,7 +222,7 @@
@property(nonatomic, readonly) NSDirectionalEdgeInsets directionalEdgeInsetsValue API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-@property(nonatomic, readonly) UIOffset UIOffsetValue API_AVAILABLE(ios(5.0));
+@property(nonatomic, readonly) UIOffset UIOffsetValue API_AVAILABLE(ios(5.0), watchos(2.0));
@end
@@ -239,7 +239,7 @@
- (void)encodeDirectionalEdgeInsets:(NSDirectionalEdgeInsets)insets forKey:(NSString *)key API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-- (void)encodeUIOffset:(UIOffset)offset forKey:(NSString *)key API_AVAILABLE(ios(5.0));
+- (void)encodeUIOffset:(UIOffset)offset forKey:(NSString *)key API_AVAILABLE(ios(5.0), watchos(2.0));
- (CGPoint)decodeCGPointForKey:(NSString *)key;
- (CGVector)decodeCGVectorForKey:(NSString *)key;
@@ -252,7 +252,7 @@
- (NSDirectionalEdgeInsets)decodeDirectionalEdgeInsetsForKey:(NSString *)key API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
#endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
#endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
-- (UIOffset)decodeUIOffsetForKey:(NSString *)key API_AVAILABLE(ios(5.0));
+- (UIOffset)decodeUIOffsetForKey:(NSString *)key API_AVAILABLE(ios(5.0), watchos(2.0));
@end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h 2024-04-18 08:18:48
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphics.h 2024-05-30 09:04:17
@@ -14,41 +14,41 @@
@class UIImage;
-UIKIT_EXTERN CGContextRef __nullable UIGraphicsGetCurrentContext(void) CF_RETURNS_NOT_RETAINED;
-UIKIT_EXTERN void UIGraphicsPushContext(CGContextRef context);
-UIKIT_EXTERN void UIGraphicsPopContext(void);
+UIKIT_EXTERN CGContextRef __nullable UIGraphicsGetCurrentContext(void) CF_RETURNS_NOT_RETAINED API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN void UIGraphicsPushContext(CGContextRef context) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN void UIGraphicsPopContext(void) API_AVAILABLE(watchos(2.0));
-UIKIT_EXTERN void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode);
-UIKIT_EXTERN void UIRectFill(CGRect rect);
+UIKIT_EXTERN void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN void UIRectFill(CGRect rect) API_AVAILABLE(watchos(2.0));
-UIKIT_EXTERN void UIRectFrameUsingBlendMode(CGRect rect, CGBlendMode blendMode);
-UIKIT_EXTERN void UIRectFrame(CGRect rect);
+UIKIT_EXTERN void UIRectFrameUsingBlendMode(CGRect rect, CGBlendMode blendMode) API_AVAILABLE(watchos(2.0));
+UIKIT_EXTERN void UIRectFrame(CGRect rect) API_AVAILABLE(watchos(2.0));
-UIKIT_EXTERN void UIRectClip(CGRect rect);
+UIKIT_EXTERN void UIRectClip(CGRect rect) API_AVAILABLE(watchos(2.0));
// UIImage context
// The following methods will only return a 8-bit per channel context in the DeviceRGB color space.
// Any new bitmap drawing code is encouraged to use UIGraphicsImageRenderer in lieu of this API.
-UIKIT_EXTERN void UIGraphicsBeginImageContext(CGSize size) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContext with UIGraphicsImageRenderer.", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
-UIKIT_EXTERN void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.", ios(4.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
-UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void) API_DEPRECATED("Replace usage of UIGraphicsGetImageFromCurrentImageContext with UIGraphicsImageRendererContext.currentImage.", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
-UIKIT_EXTERN void UIGraphicsEndImageContext(void) API_DEPRECATED("UIGraphicsEndImageContext should only be used alongside UIGraphicsBeginImageContext[WithOptions].", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN void UIGraphicsBeginImageContext(CGSize size) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContext with UIGraphicsImageRenderer.", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) API_DEPRECATED("Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.", ios(4.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void) API_DEPRECATED("Replace usage of UIGraphicsGetImageFromCurrentImageContext with UIGraphicsImageRendererContext.currentImage.", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED));
+UIKIT_EXTERN void UIGraphicsEndImageContext(void) API_DEPRECATED("UIGraphicsEndImageContext should only be used alongside UIGraphicsBeginImageContext[WithOptions].", ios(2.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED));
// PDF context
-UIKIT_EXTERN BOOL UIGraphicsBeginPDFContextToFile(NSString *path, CGRect bounds, NSDictionary * __nullable documentInfo) API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN void UIGraphicsBeginPDFContextToData(NSMutableData *data, CGRect bounds, NSDictionary * __nullable documentInfo) API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN void UIGraphicsEndPDFContext(void) API_AVAILABLE(ios(3.2));
+UIKIT_EXTERN BOOL UIGraphicsBeginPDFContextToFile(NSString *path, CGRect bounds, NSDictionary * __nullable documentInfo) API_AVAILABLE(ios(3.2), watchos(2.0));
+UIKIT_EXTERN void UIGraphicsBeginPDFContextToData(NSMutableData *data, CGRect bounds, NSDictionary * __nullable documentInfo) API_AVAILABLE(ios(3.2), watchos(2.0));
+UIKIT_EXTERN void UIGraphicsEndPDFContext(void) API_AVAILABLE(ios(3.2), watchos(2.0));
-UIKIT_EXTERN void UIGraphicsBeginPDFPage(void) API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN void UIGraphicsBeginPDFPageWithInfo(CGRect bounds, NSDictionary * __nullable pageInfo) API_AVAILABLE(ios(3.2));
+UIKIT_EXTERN void UIGraphicsBeginPDFPage(void) API_AVAILABLE(ios(3.2), watchos(2.0));
+UIKIT_EXTERN void UIGraphicsBeginPDFPageWithInfo(CGRect bounds, NSDictionary * __nullable pageInfo) API_AVAILABLE(ios(3.2), watchos(2.0));
-UIKIT_EXTERN CGRect UIGraphicsGetPDFContextBounds(void) API_AVAILABLE(ios(3.2));
+UIKIT_EXTERN CGRect UIGraphicsGetPDFContextBounds(void) API_AVAILABLE(ios(3.2), watchos(2.0));
-UIKIT_EXTERN void UIGraphicsSetPDFContextURLForRect(NSURL *url, CGRect rect) API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN void UIGraphicsAddPDFContextDestinationAtPoint(NSString *name, CGPoint point) API_AVAILABLE(ios(3.2));
-UIKIT_EXTERN void UIGraphicsSetPDFContextDestinationForRect(NSString *name, CGRect rect) API_AVAILABLE(ios(3.2));
+UIKIT_EXTERN void UIGraphicsSetPDFContextURLForRect(NSURL *url, CGRect rect) API_AVAILABLE(ios(3.2), watchos(2.0));
+UIKIT_EXTERN void UIGraphicsAddPDFContextDestinationAtPoint(NSString *name, CGPoint point) API_AVAILABLE(ios(3.2), watchos(2.0));
+UIKIT_EXTERN void UIGraphicsSetPDFContextDestinationForRect(NSString *name, CGRect rect) API_AVAILABLE(ios(3.2), watchos(2.0));
NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2024-04-26 07:47:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h 2024-05-31 08:16:54
@@ -44,7 +44,7 @@
UIImageOrientationDownMirrored, // horizontal flip
UIImageOrientationLeftMirrored, // vertical flip
UIImageOrientationRightMirrored, // vertical flip
-};
+} API_AVAILABLE(watchos(2.0));
/* UIImage will implement the resizing mode the fastest way possible while
retaining the desired visual appearance.
@@ -59,7 +59,7 @@
UIImageResizingModeStretch = 0,
UIImageResizingModeTile = 1,
#endif /* TARGET_ABI_USES_IOS_VALUES */
-};
+} API_AVAILABLE(watchos(2.0));
/* Images are created with UIImageRenderingModeAutomatic by default. An image with this mode is interpreted as a template image or an original image based on the context in which it is rendered. For example, navigation bars, tab bars, toolbars, and segmented controls automatically treat their foreground images as templates, while image views and web views treat their images as originals. You can use UIImageRenderingModeAlwaysTemplate to force your image to always be rendered as a template or UIImageRenderingModeAlwaysOriginal to force your image to always be rendered as an original.
*/
@@ -68,12 +68,12 @@
UIImageRenderingModeAlwaysOriginal, // Always draw the original image, without treating it as a template
UIImageRenderingModeAlwaysTemplate, // Always draw the image as a template image, ignoring its color information
-} API_AVAILABLE(ios(7.0));
+} API_AVAILABLE(ios(7.0), watchos(2.0));
@class UIImageConfiguration;
@class UIImageSymbolConfiguration;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) NS_SWIFT_SENDABLE
+UIKIT_EXTERN API_AVAILABLE(ios(2.0), watchos(2.0)) NS_SWIFT_SENDABLE
@interface UIImage : NSObject <NSSecureCoding>
/*
@@ -89,7 +89,7 @@
+ (nullable UIImage *)systemImageNamed:(NSString *)name API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
+ (nullable UIImage *)systemImageNamed:(NSString *)name withConfiguration:(nullable UIImageConfiguration *)configuration API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
#if __has_include(<UIKit/UITraitCollection.h>)
-+ (nullable UIImage *)systemImageNamed:(NSString *)name compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
++ (nullable UIImage *)systemImageNamed:(NSString *)name compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(13.0),tvos(13.0)) API_UNAVAILABLE(watchos);
#endif
/**
* Retrieve a system-provided image with the specified name and variable value (between 0 and 1).
@@ -104,7 +104,7 @@
+ (nullable UIImage *)imageNamed:(NSString *)name; // load from main bundle
+ (nullable UIImage *)imageNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle withConfiguration:(nullable UIImageConfiguration *)configuration API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
#if __has_include(<UIKit/UITraitCollection.h>)
-+ (nullable UIImage *)imageNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(8.0));
++ (nullable UIImage *)imageNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);
#endif
/**
* Retrieve a image with the specified name and variable value (between 0 and 1).
@@ -118,44 +118,44 @@
+ (nullable UIImage *)imageWithContentsOfFile:(NSString *)path;
+ (nullable UIImage *)imageWithData:(NSData *)data;
-+ (nullable UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale API_AVAILABLE(ios(6.0));
++ (nullable UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale API_AVAILABLE(ios(6.0), watchos(2.0));
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage;
-+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(4.0));
++ (UIImage *)imageWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(4.0), watchos(2.0));
#if __has_include(<CoreImage/CoreImage.h>)
-+ (UIImage *)imageWithCIImage:(CIImage *)ciImage API_AVAILABLE(ios(5.0));
-+ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(6.0));
++ (UIImage *)imageWithCIImage:(CIImage *)ciImage API_AVAILABLE(ios(5.0), watchos(2.0));
++ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(6.0), watchos(2.0));
#endif
- (nullable instancetype)initWithContentsOfFile:(NSString *)path;
- (nullable instancetype)initWithData:(NSData *)data;
-- (nullable instancetype)initWithData:(NSData *)data scale:(CGFloat)scale API_AVAILABLE(ios(6.0));
+- (nullable instancetype)initWithData:(NSData *)data scale:(CGFloat)scale API_AVAILABLE(ios(6.0), watchos(2.0));
- (instancetype)initWithCGImage:(CGImageRef)cgImage;
-- (instancetype)initWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(4.0));
+- (instancetype)initWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(4.0), watchos(2.0));
#if __has_include(<CoreImage/CoreImage.h>)
-- (instancetype)initWithCIImage:(CIImage *)ciImage API_AVAILABLE(ios(5.0));
-- (instancetype)initWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(6.0));
+- (instancetype)initWithCIImage:(CIImage *)ciImage API_AVAILABLE(ios(5.0), watchos(2.0));
+- (instancetype)initWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation API_AVAILABLE(ios(6.0), watchos(2.0));
#endif
@property(nonatomic,readonly) CGSize size; // reflects orientation setting. In iOS 4.0 and later, this is measured in points. In 3.x and earlier, measured in pixels
@property(nullable, nonatomic,readonly) CGImageRef CGImage; // returns underlying CGImageRef or nil if CIImage based
- (nullable CGImageRef)CGImage NS_RETURNS_INNER_POINTER CF_RETURNS_NOT_RETAINED;
#if __has_include(<CoreImage/CoreImage.h>)
-@property(nullable,nonatomic,readonly) CIImage *CIImage API_AVAILABLE(ios(5.0)); // returns underlying CIImage or nil if CGImageRef based
+@property(nullable,nonatomic,readonly) CIImage *CIImage API_AVAILABLE(ios(5.0), watchos(2.0)); // returns underlying CIImage or nil if CGImageRef based
#endif
@property(nonatomic,readonly) UIImageOrientation imageOrientation; // this will affect how the image is composited
-@property(nonatomic,readonly) CGFloat scale API_AVAILABLE(ios(4.0));
+@property(nonatomic,readonly) CGFloat scale API_AVAILABLE(ios(4.0), watchos(2.0));
@property(nonatomic,readonly,getter=isSymbolImage) BOOL symbolImage API_AVAILABLE(ios(13.0),tvos(13.0),watchos(6.0));
// animated images. When set as UIImageView.image, animation will play in an infinite loop until removed. Drawing will render the first image
-+ (nullable UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0)); // read sequence of files with suffix starting at 0 or 1
-+ (nullable UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0)); // sequence of files
-+ (nullable UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration API_AVAILABLE(ios(6.0));
-+ (nullable UIImage *)animatedImageWithImages:(NSArray<UIImage *> *)images duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0));
++ (nullable UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0), watchos(2.0)); // read sequence of files with suffix starting at 0 or 1
++ (nullable UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0), watchos(2.0)); // sequence of files
++ (nullable UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration API_AVAILABLE(ios(6.0), watchos(2.0));
++ (nullable UIImage *)animatedImageWithImages:(NSArray<UIImage *> *)images duration:(NSTimeInterval)duration API_AVAILABLE(ios(5.0), watchos(2.0));
-@property(nullable, nonatomic,readonly) NSArray<UIImage *> *images API_AVAILABLE(ios(5.0)); // default is nil for non-animated images
-@property(nonatomic,readonly) NSTimeInterval duration API_AVAILABLE(ios(5.0)); // total duration for all frames. default is 0 for non-animated images
+@property(nullable, nonatomic,readonly) NSArray<UIImage *> *images API_AVAILABLE(ios(5.0), watchos(2.0)); // default is nil for non-animated images
+@property(nonatomic,readonly) NSTimeInterval duration API_AVAILABLE(ios(5.0), watchos(2.0)); // total duration for all frames. default is 0 for non-animated images
// the these draw the image 'right side up' in the usual coordinate system with 'point' being the top-left.
@@ -166,41 +166,41 @@
- (void)drawAsPatternInRect:(CGRect)rect; // draws the image as a CGPattern
-- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets API_AVAILABLE(ios(5.0)); // create a resizable version of this image. the interior is tiled when drawn.
-- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode API_AVAILABLE(ios(6.0)); // the interior is resized according to the resizingMode
+- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets API_AVAILABLE(ios(5.0), watchos(2.0)); // create a resizable version of this image. the interior is tiled when drawn.
+- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode API_AVAILABLE(ios(6.0), watchos(2.0)); // the interior is resized according to the resizingMode
-@property(nonatomic,readonly) UIEdgeInsets capInsets API_AVAILABLE(ios(5.0)); // default is UIEdgeInsetsZero for non resizable images
-@property(nonatomic,readonly) UIImageResizingMode resizingMode API_AVAILABLE(ios(6.0)); // default is UIImageResizingModeTile
+@property(nonatomic,readonly) UIEdgeInsets capInsets API_AVAILABLE(ios(5.0), watchos(2.0)); // default is UIEdgeInsetsZero for non resizable images
+@property(nonatomic,readonly) UIImageResizingMode resizingMode API_AVAILABLE(ios(6.0), watchos(2.0)); // default is UIImageResizingModeTile
// Support for constraint-based layout (auto layout)
// The alignmentRectInsets of a UIImage are used by UIImageView and other UIView and UIControl
// subclasses that take custom images to determine the view's alignment rect insets for
// constraint-based layout.
// The default alignmentRectInsets are UIEdgeInsetsZero.
-- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets API_AVAILABLE(ios(6.0));
-@property(nonatomic,readonly) UIEdgeInsets alignmentRectInsets API_AVAILABLE(ios(6.0));
+- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets API_AVAILABLE(ios(6.0), watchos(2.0));
+@property(nonatomic,readonly) UIEdgeInsets alignmentRectInsets API_AVAILABLE(ios(6.0), watchos(2.0));
// Create a version of this image with the specified rendering mode. By default, images have a rendering mode of UIImageRenderingModeAutomatic.
-- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode API_AVAILABLE(ios(7.0));
-@property(nonatomic, readonly) UIImageRenderingMode renderingMode API_AVAILABLE(ios(7.0));
+- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode API_AVAILABLE(ios(7.0), watchos(2.0));
+@property(nonatomic, readonly) UIImageRenderingMode renderingMode API_AVAILABLE(ios(7.0), watchos(2.0));
#if __has_include(<UIKit/UIGraphicsImageRenderer.h>)
// Returns an optimal UIGraphicsImageRendererFormat instance for this image, maintaining pixel format and color space.
-@property (nonatomic, readonly) UIGraphicsImageRendererFormat *imageRendererFormat API_AVAILABLE(ios(10.0));
+@property (nonatomic, readonly) UIGraphicsImageRendererFormat *imageRendererFormat API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos);
#endif
#if __has_include(<UIKit/UITraitCollection.h>)
-@property (nonatomic, readonly, copy) UITraitCollection *traitCollection API_AVAILABLE(ios(8.0)); // describes the image in terms of its traits
-@property (nullable, nonatomic, readonly) UIImageAsset *imageAsset API_AVAILABLE(ios(8.0)); // The asset is not encoded along with the image. Returns nil if the image is not CGImage based.
+@property (nonatomic, readonly, copy) UITraitCollection *traitCollection API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos); // describes the image in terms of its traits
+@property (nullable, nonatomic, readonly) UIImageAsset *imageAsset API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos); // The asset is not encoded along with the image. Returns nil if the image is not CGImage based.
#endif
// Creates a version of this image that, when assigned to a UIImageView’s image property, draws its underlying image contents horizontally mirrored when running under a right-to-left language. Affects the flipsForRightToLeftLayoutDirection property; does not affect the imageOrientation property.
// This method cannot be used to create a left-to-right version of a right-to-left source image, and will be deprecated in a future release. New code should instead use -imageWithHorizontallyFlippedOrientation to construct a UIImageAsset.
-- (UIImage *)imageFlippedForRightToLeftLayoutDirection API_AVAILABLE(ios(9.0));
-@property (nonatomic, readonly) BOOL flipsForRightToLeftLayoutDirection API_AVAILABLE(ios(9.0));
+- (UIImage *)imageFlippedForRightToLeftLayoutDirection API_AVAILABLE(ios(9.0), watchos(2.0));
+@property (nonatomic, readonly) BOOL flipsForRightToLeftLayoutDirection API_AVAILABLE(ios(9.0), watchos(2.0));
// Creates a version of this image with an imageOrientation property that is horizontally mirrored from this image’s. Does not affect the flipsForRightToLeftLayoutDirection property.
-- (UIImage *)imageWithHorizontallyFlippedOrientation API_AVAILABLE(ios(10.0));
+- (UIImage *)imageWithHorizontallyFlippedOrientation API_AVAILABLE(ios(10.0), watchos(3.0));
/*
* The baseline offset is expressed in points from the bottom of the image (positive = up, negative = down).
@@ -293,7 +293,7 @@
/// @return A UIImage object that contains the prepared image.
///
/// @note The prepared UIImage is not related to the original image. If the properties of the screen (such as its resolution or color gamut) change, or if the image is displayed on a different screen that the one it was prepared for, it may not render correctly.
-- (nullable UIImage *)imageByPreparingForDisplay API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+- (nullable UIImage *)imageByPreparingForDisplay API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/// Asynchronously prepares this image for displaying on the specified screen.
///
@@ -302,11 +302,11 @@
/// @param completionHandler A block to invoke with the prepared image. If preparation failed (for example, beacuse the image data is corrupt), @c image will be nil.
///
/// @note The prepared UIImage is not related to the original image. If the properties of the screen (such as its resolution or color gamut) change, or if the image is displayed on a different screen that the one it was prepared for, it may not render correctly.
-- (void)prepareForDisplayWithCompletionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingForDisplay()) API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+- (void)prepareForDisplayWithCompletionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingForDisplay()) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-- (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+- (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
-- (void)prepareThumbnailOfSize:(CGSize)size completionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingThumbnail(ofSize:)) API_AVAILABLE(ios(15.0),tvos(15.0),watchos(8.0));
+- (void)prepareThumbnailOfSize:(CGSize)size completionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingThumbnail(ofSize:)) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
#endif
@@ -360,16 +360,16 @@
#if __has_include(<CoreImage/CoreImage.h>)
@interface CIImage(UIKitAdditions)
-- (nullable instancetype)initWithImage:(UIImage *)image API_AVAILABLE(ios(5.0));
-- (nullable instancetype)initWithImage:(UIImage *)image options:(nullable NSDictionary<CIImageOption, id> *)options API_AVAILABLE(ios(5.0));
+- (nullable instancetype)initWithImage:(UIImage *)image API_AVAILABLE(ios(5.0), watchos(2.0));
+- (nullable instancetype)initWithImage:(UIImage *)image options:(nullable NSDictionary<CIImageOption, id> *)options API_AVAILABLE(ios(5.0), watchos(2.0));
@end
#endif
/// return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format
-UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation(UIImage * __nonnull image) NS_SWIFT_NAME(UIImage.pngData(self:));
+UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation(UIImage * __nonnull image) NS_SWIFT_NAME(UIImage.pngData(self:)) API_AVAILABLE(watchos(2.0));
/// return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)
-UIKIT_EXTERN NSData * __nullable UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compressionQuality) NS_SWIFT_NAME(UIImage.jpegData(self:compressionQuality:));
+UIKIT_EXTERN NSData * __nullable UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compressionQuality) NS_SWIFT_NAME(UIImage.jpegData(self:compressionQuality:)) API_AVAILABLE(watchos(2.0));
/// Returns HEIC data representing the image, or nil if such a representation could not be generated. HEIC is recommended for efficiently storing all kinds of images, including those with high dynamic range content.
UIKIT_EXTERN NSData * __nullable UIImageHEICRepresentation(UIImage * __nonnull image) API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0)) NS_SWIFT_NAME(UIImage.heicData(self:));
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h 2024-04-18 08:18:48
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageConfiguration.h 2024-05-30 09:04:17
@@ -23,13 +23,13 @@
#if __has_include(<UIKit/UITraitCollection.h>)
// The configuration's trait collection.
-@property (nonatomic, nullable, readonly) UITraitCollection *traitCollection;
+@property (nonatomic, nullable, readonly) UITraitCollection *traitCollection API_UNAVAILABLE(watchos);
// inserts/applies the traitCollection to this configuration
-- (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection;
+- (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection API_UNAVAILABLE(watchos);
// Creates a new configuration object with the specified trait collection.
-+ (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(17.0), tvos(17.0), watchos(10.0));
++ (instancetype)configurationWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
#endif
// The configuration's locale. If nil/unspecified, the image will be looked up using the current locale.
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2024-04-18 07:19:17
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes 2024-05-30 15:32:14
@@ -1275,6 +1275,8 @@
SwiftPrivate: true
- Name: UIWindowSceneProminentPlacement
SwiftPrivate: true
+- Name: UIWindowScenePushPlacement
+ SwiftPrivate: true
- Name: UISheetPresentationControllerDetent
SwiftName: UISheetPresentationController.Detent
Methods:
@@ -1659,6 +1661,8 @@
SwiftPrivate: true
- Name: UICollectionLayoutListFooterMode
SwiftPrivate: true
+- Name: UICollectionLayoutListContentHuggingElements
+ SwiftPrivate: true
- Name: UIListSeparatorVisibility
SwiftPrivate: true
- Name: UICellConfigurationDragState
@@ -2065,6 +2069,10 @@
SwiftName: NSAttributedString.DocumentType
- Name: NSTextEffectStyle
SwiftName: NSAttributedString.TextEffectStyle
+- Name: NSTextHighlightStyle
+ SwiftName: NSAttributedString.TextHighlightStyle
+- Name: NSTextHighlightColorScheme
+ SwiftName: NSAttributedString.TextHighlightColorScheme
- Name: NSTextLayoutSectionKey
SwiftName: NSAttributedString.TextLayoutSectionKey
- Name: NSTextTabOptionKey
@@ -2243,6 +2251,8 @@
SwiftName: UIStackView.spacingUseDefault
- Name: UIStackViewSpacingUseSystem
SwiftName: UIStackView.spacingUseSystem
+- Name: NSAdaptiveImageGlyphAttributeName
+ SwiftName: adaptiveImageGlyph
- Name: NSFontAttributeName
SwiftName: font
- Name: NSParagraphStyleAttributeName
@@ -2269,6 +2279,10 @@
SwiftName: shadow
- Name: NSTextEffectAttributeName
SwiftName: textEffect
+- Name: NSTextHighlightColorSchemeAttributeName
+ SwiftName: textHighlightColorScheme
+- Name: NSTextHighlightStyleAttributeName
+ SwiftName: textHighlightStyle
- Name: NSAttachmentAttributeName
SwiftName: attachment
- Name: NSLinkAttributeName
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2024-04-18 08:18:36
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitCore.h 2024-05-30 09:04:05
@@ -29,7 +29,7 @@
#import <UIKit/NSStringDrawing.h>
#import <UIKit/NSText.h>
-#if !TARGET_OS_WATCH || __has_include(<QuartzCore/QuartzCore.h>)
+#if !TARGET_OS_WATCH || (__has_include(<QuartzCore/QuartzCore.h>) && __has_include(<UIKit/UIAccelerometer.h>))
#import <UIKit/UIAccelerometer.h>
#import <UIKit/UIAccessibility.h>
#import <UIKit/UIAccessibilityContentSizeCategoryImageAdjusting.h>
@@ -83,6 +83,7 @@
#import <UIKit/UIDevice.h>
#import <UIKit/UIDocument.h>
#import <UIKit/UIDocumentViewController.h>
+#import <UIKit/UIDocumentViewControllerLaunchOptions.h>
#import <UIKit/UIDocumentPickerViewController.h>
#import <UIKit/UIDocumentMenuViewController.h>
#import <UIKit/UIDocumentPickerExtensionViewController.h>
@@ -195,6 +196,7 @@
#import <UIKit/UITouch.h>
#import <UIKit/UITrait.h>
#import <UIKit/UITraitCollection.h>
+#import <UIKit/UITraitListEnvironment.h>
#import <UIKit/UIUserActivity.h>
#import <UIKit/UIVideoEditorController.h>
#import <UIKit/UIView.h>
@@ -312,6 +314,8 @@
#import <UIKit/UIWindowScenePlacement.h>
#import <UIKit/UIWindowSceneStandardPlacement.h>
#import <UIKit/UIWindowSceneProminentPlacement.h>
+#import <UIKit/UIWindowSceneReplacePlacement.h>
+#import <UIKit/UIWindowScenePushPlacement.h>
#import <UIKit/UIOpenURLContext.h>
#import <UIKit/UIStatusBarManager.h>
#import <UIKit/UIScreenshotService.h>
@@ -351,6 +355,7 @@
#import <UIKit/UICalendarSelection.h>
#import <UIKit/UICalendarSelectionSingleDate.h>
#import <UIKit/UICalendarSelectionMultiDate.h>
+#import <UIKit/UICalendarSelectionWeekOfYear.h>
#import <UIKit/UITextSearching.h>
#import <UIKit/UIFindSession.h>
#import <UIKit/UIFindInteraction.h>
@@ -361,4 +366,13 @@
#import <UIKit/UIContentUnavailableButtonProperties.h>
#import <UIKit/UIContentUnavailableConfigurationState.h>
#import <UIKit/UIContentUnavailableView.h>
+#import <UIKit/UIUpdateInfo.h>
+#import <UIKit/UIUpdateActionPhase.h>
+#import <UIKit/UIUpdateLink.h>
+#import <UIKit/UITab.h>
+#import <UIKit/UITabGroup.h>
+#import <UIKit/UISearchTab.h>
+#import <UIKit/UITabBarControllerSidebar.h>
+#import <UIKit/UITabSidebarItem.h>
+
#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2024-04-18 08:18:58
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h 2024-05-31 08:14:20
@@ -14,7 +14,7 @@
@class CLRegion;
// In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to schedule and present UILocalNotifications
-UIKIT_EXTERN API_DEPRECATED("Use UserNotifications Framework's UNNotificationRequest", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_DEPRECATED("Use UserNotifications Framework's UNNotificationRequest", ios(4.0, 10.0), watchos(2.0, 3.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos) NS_SWIFT_UI_ACTOR
@interface UILocalNotification : NSObject<NSCopying, NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -32,17 +32,17 @@
// location-based scheduling
// set a CLRegion object to trigger the notification when the user enters or leaves a geographic region, depending upon the properties set on the CLRegion object itself. registering multiple UILocalNotifications with different regions containing the same identifier will result in undefined behavior. the number of region-triggered UILocalNotifications that may be registered at any one time is internally limited. in order to use region-triggered notifications, applications must have "when-in-use" authorization through CoreLocation. see the CoreLocation documentation for more information.
-@property(nullable, nonatomic,copy) CLRegion *region API_AVAILABLE(ios(8.0));
+@property(nullable, nonatomic,copy) CLRegion *region API_AVAILABLE(ios(8.0), watchos(2.0));
// when YES, the notification will only fire one time. when NO, the notification will fire every time the region is entered or exited (depending upon the CLRegion object's configuration). default is YES.
-@property(nonatomic,assign) BOOL regionTriggersOnce API_AVAILABLE(ios(8.0));
+@property(nonatomic,assign) BOOL regionTriggersOnce API_AVAILABLE(ios(8.0), watchos(2.0));
// alerts
@property(nullable, nonatomic,copy) NSString *alertBody; // defaults to nil. pass a string or localized string key to show an alert
@property(nonatomic) BOOL hasAction; // defaults to YES. pass NO to hide launching button/slider
@property(nullable, nonatomic,copy) NSString *alertAction; // used in UIAlert button or 'slide to unlock...' slider in place of unlock
@property(nullable, nonatomic,copy) NSString *alertLaunchImage; // used as the launch image (UILaunchImageFile) when launch button is tapped
-@property(nullable, nonatomic,copy) NSString *alertTitle API_AVAILABLE(ios(8.2)); // defaults to nil. pass a string or localized string key
+@property(nullable, nonatomic,copy) NSString *alertTitle API_AVAILABLE(ios(8.2), watchos(2.0)); // defaults to nil. pass a string or localized string key
// sound
@property(nullable, nonatomic,copy) NSString *soundName; // name of resource in app's bundle to play or UILocalNotificationDefaultSoundName
@@ -54,12 +54,12 @@
@property(nullable, nonatomic,copy) NSDictionary *userInfo; // throws if contains non-property list types
// category identifier of the local notification, as set on a UIUserNotificationCategory and passed to +[UIUserNotificationSettings settingsForTypes:categories:]
-@property (nullable, nonatomic, copy) NSString *category API_AVAILABLE(ios(8.0));
+@property (nullable, nonatomic, copy) NSString *category API_AVAILABLE(ios(8.0), watchos(2.0));
@end
-UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName API_DEPRECATED("Use UserNotifications Framework's +[UNNotificationSound defaultSound]", ios(4.0, 10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
+UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName API_DEPRECATED("Use UserNotifications Framework's +[UNNotificationSound defaultSound]", ios(4.0, 10.0), watchos(2.0, 3.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos);
NS_HEADER_AUDIT_END(nullability, sendability)