AppKit macOS 11.3 to 12.0 API Differences

NSAccessibilityCustomRotor.h
Added NSAccessibilityCustomRotorTypeAudiograph
NSApplication.h
Added NSAppKitVersionNumber10_15_1
Added NSAppKitVersionNumber10_15_2
Added NSAppKitVersionNumber10_15_3
Added NSAppKitVersionNumber10_15_4
Added NSAppKitVersionNumber10_15_5
Added NSAppKitVersionNumber10_15_6
Added NSAppKitVersionNumber11_0
Added NSAppKitVersionNumber11_1
Added NSAppKitVersionNumber11_2
Added NSAppKitVersionNumber11_3
Added NSAppKitVersionNumber11_4
Added NSApplication.protectedDataAvailable
Added -[NSApplicationDelegate applicationSupportsSecureRestorableState:]
Added -[NSApplicationDelegate application:handlerForIntent:]
Added -[NSApplicationDelegate applicationShouldAutomaticallyLocalizeKeyEquivalents:]
Added -[NSApplicationDelegate applicationProtectedDataWillBecomeUnavailable:]
Added -[NSApplicationDelegate applicationProtectedDataDidBecomeAvailable:]
Added NSApplicationProtectedDataWillBecomeUnavailableNotification
Added NSApplicationProtectedDataDidBecomeAvailableNotification
NSBitmapImageRep.h
Added NSImageIPTCData
NSColor.h
Added NSColor.systemMintColor
Added NSColor.systemCyanColor
NSImage.h
Added NSImage.symbolConfiguration
Added +[NSImageSymbolConfiguration configurationWithHierarchicalColor:]
Added +[NSImageSymbolConfiguration configurationWithPaletteColors:]
Added +[NSImageSymbolConfiguration configurationPreferringMulticolor]
Added -[NSImageSymbolConfiguration configurationByApplyingConfiguration:]
Modified NSImageSymbolConfiguration
Protocols
FromNSCopying
ToNSCopying, NSSecureCoding

Modified +[NSImageSymbolConfiguration configurationWithPointSize:weight:scale:]
Declaration
From+ (NSImageSymbolConfiguration *)configurationWithPointSize:(CGFloat)pointSize weight:(NSFontWeight)weight scale:(NSImageSymbolScale)scale
To+ (instancetype)configurationWithPointSize:(CGFloat)pointSize weight:(NSFontWeight)weight scale:(NSImageSymbolScale)scale

Modified +[NSImageSymbolConfiguration configurationWithPointSize:weight:]
Declaration
From+ (NSImageSymbolConfiguration *)configurationWithPointSize:(CGFloat)pointSize weight:(NSFontWeight)weight
To+ (instancetype)configurationWithPointSize:(CGFloat)pointSize weight:(NSFontWeight)weight

Modified +[NSImageSymbolConfiguration configurationWithTextStyle:scale:]
Declaration
From+ (NSImageSymbolConfiguration *)configurationWithTextStyle:(NSFontTextStyle)style scale:(NSImageSymbolScale)scale
To+ (instancetype)configurationWithTextStyle:(NSFontTextStyle)style scale:(NSImageSymbolScale)scale

Modified +[NSImageSymbolConfiguration configurationWithTextStyle:]
Declaration
From+ (NSImageSymbolConfiguration *)configurationWithTextStyle:(NSFontTextStyle)style
To+ (instancetype)configurationWithTextStyle:(NSFontTextStyle)style

Modified +[NSImageSymbolConfiguration configurationWithScale:]
Declaration
From+ (NSImageSymbolConfiguration *)configurationWithScale:(NSImageSymbolScale)scale
To+ (instancetype)configurationWithScale:(NSImageSymbolScale)scale

NSMenuItem.h
Added NSMenuItem.allowsAutomaticKeyEquivalentLocalization
Added NSMenuItem.allowsAutomaticKeyEquivalentMirroring
NSParagraphStyle.h
Added NSParagraphStyle.usesDefaultHyphenation
Added NSMutableParagraphStyle.usesDefaultHyphenation
NSScreen.h
Added NSScreen.maximumFramesPerSecond
Added NSScreen.minimumRefreshInterval
Added NSScreen.maximumRefreshInterval
Added NSScreen.displayUpdateGranularity
Added NSScreen.lastDisplayUpdateTimestamp
NSTextAttachment.h
Added NSTextAttachmentLayout
Added -[NSTextAttachmentLayout imageForBounds:attributes:location:textContainer:]
Added -[NSTextAttachmentLayout attachmentBoundsForAttributes:location:textContainer:proposedLineFragment:position:]
Added -[NSTextAttachmentLayout viewProviderForParentView:location:textContainer:]
Added NSTextAttachment.lineLayoutPadding
Added +[NSTextAttachment textAttachmentViewProviderClassForFileType:]
Added +[NSTextAttachment registerTextAttachmentViewProviderClass:forFileType:]
Added NSTextAttachment.allowsTextAttachmentView
Added NSTextAttachment.usesTextAttachmentView
Added NSTextAttachmentViewProvider
Added -[NSTextAttachmentViewProvider initWithTextAttachment:parentView:textLayoutManager:location:]
Added NSTextAttachmentViewProvider.textAttachment
Added NSTextAttachmentViewProvider.textLayoutManager
Added NSTextAttachmentViewProvider.location
Added NSTextAttachmentViewProvider.view
Added -[NSTextAttachmentViewProvider loadView]
Added NSTextAttachmentViewProvider.tracksTextAttachmentViewBounds
Added -[NSTextAttachmentViewProvider attachmentBoundsForAttributes:location:textContainer:proposedLineFragment:position:]
Modified -[NSTextAttachmentContainer imageForBounds:textContainer:characterIndex:]
Declaration
From- (NSImage *)imageForBounds:(NSRect)imageBounds textContainer:(NSTextContainer *)textContainer characterIndex:(NSUInteger)charIndex
To- (NSImage *)imageForBounds:(CGRect)imageBounds textContainer:(NSTextContainer *)textContainer characterIndex:(NSUInteger)charIndex

Modified -[NSTextAttachmentContainer attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:]
Declaration
From- (NSRect)attachmentBoundsForTextContainer:(NSTextContainer *)textContainer proposedLineFragment:(NSRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex
To- (CGRect)attachmentBoundsForTextContainer:(NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex

Modified NSTextAttachment
Protocols
FromNSSecureCoding, NSTextAttachmentContainer
ToNSSecureCoding, NSTextAttachmentContainer, NSTextAttachmentLayout

Modified NSTextAttachment.bounds
Declaration
From@property NSRect bounds
To@property CGRect bounds

NSTextContainer.h
Added NSTextContainer.textLayoutManager
NSTextContentManager.h
Added NSTextContentManagerEnumerationOptions
Added NSTextContentManagerEnumerationOptionsNone
Added NSTextContentManagerEnumerationOptionsReverse
Added NSTextElementProvider
Added NSTextElementProvider.documentRange
Added -[NSTextElementProvider enumerateTextElementsFromLocation:options:usingBlock:]
Added -[NSTextElementProvider replaceContentsInRange:withTextElements:]
Added -[NSTextElementProvider synchronizeToBackingStore:]
Added -[NSTextElementProvider locationFromLocation:withOffset:]
Added -[NSTextElementProvider offsetFromLocation:toLocation:]
Added -[NSTextElementProvider adjustedRangeFromRange:forEditingTextSelection:]
Added NSTextContentManager
Added -[NSTextContentManager init]
Added -[NSTextContentManager initWithCoder:]
Added NSTextContentManager.delegate
Added NSTextContentManager.textLayoutManagers
Added -[NSTextContentManager addTextLayoutManager:]
Added -[NSTextContentManager removeTextLayoutManager:]
Added NSTextContentManager.primaryTextLayoutManager
Added -[NSTextContentManager synchronizeTextLayoutManagers:]
Added -[NSTextContentManager textElementsForRange:]
Added NSTextContentManager.hasEditingTransaction
Added -[NSTextContentManager performEditingTransactionUsingBlock:]
Added -[NSTextContentManager recordEditActionInRange:newTextRange:]
Added NSTextContentManager.automaticallySynchronizesTextLayoutManagers
Added NSTextContentManager.automaticallySynchronizesToBackingStore
Added NSTextContentManagerDelegate
Added -[NSTextContentManagerDelegate textContentManager:textElementAtLocation:]
Added -[NSTextContentManagerDelegate textContentManager:shouldEnumerateTextElement:options:]
Added NSTextContentStorageDelegate
Added -[NSTextContentStorageDelegate textContentStorage:textParagraphWithRange:]
Added NSTextContentStorage
Added NSTextContentStorage.delegate
Added NSTextContentStorage.attributedString
Added -[NSTextContentStorage attributedStringForTextElement:]
Added -[NSTextContentStorage textElementForAttributedString:]
Added -[NSTextContentStorage locationFromLocation:withOffset:]
Added -[NSTextContentStorage offsetFromLocation:toLocation:]
Added -[NSTextContentStorage adjustedRangeFromRange:forEditingTextSelection:]
Added NSTextContentStorageUnsupportedAttributeAddedNotification
NSTextElement.h
Added NSTextElement
Added -[NSTextElement initWithTextContentManager:]
Added NSTextElement.textContentManager
Added NSTextElement.elementRange
Added NSTextParagraph
Added -[NSTextParagraph initWithAttributedString:]
Added NSTextParagraph.attributedString
Added NSTextParagraph.paragraphContentRange
Added NSTextParagraph.paragraphSeparatorRange
NSTextLayoutFragment.h
Added NSTextLayoutFragmentEnumerationOptions
Added NSTextLayoutFragmentEnumerationOptionsNone
Added NSTextLayoutFragmentEnumerationOptionsReverse
Added NSTextLayoutFragmentEnumerationOptionsEstimatesSize
Added NSTextLayoutFragmentEnumerationOptionsEnsuresLayout
Added NSTextLayoutFragmentEnumerationOptionsEnsuresExtraLineFragment
Added NSTextLayoutFragmentState
Added NSTextLayoutFragmentStateNone
Added NSTextLayoutFragmentStateEstimatedUsageBounds
Added NSTextLayoutFragmentStateCalculatedUsageBounds
Added NSTextLayoutFragmentStateLayoutAvailable
Added NSTextLayoutFragment
Added -[NSTextLayoutFragment initWithTextElement:range:]
Added -[NSTextLayoutFragment initWithCoder:]
Added NSTextLayoutFragment.textLayoutManager
Added NSTextLayoutFragment.textElement
Added NSTextLayoutFragment.rangeInElement
Added NSTextLayoutFragment.textLineFragments
Added NSTextLayoutFragment.layoutQueue
Added NSTextLayoutFragment.state
Added -[NSTextLayoutFragment invalidateLayout]
Added NSTextLayoutFragment.layoutFragmentFrame
Added NSTextLayoutFragment.renderingSurfaceBounds
Added NSTextLayoutFragment.leadingPadding
Added NSTextLayoutFragment.trailingPadding
Added NSTextLayoutFragment.topMargin
Added NSTextLayoutFragment.bottomMargin
Added -[NSTextLayoutFragment drawAtPoint:inContext:]
Added NSTextLayoutFragment.textAttachmentViewProviders
Added -[NSTextLayoutFragment frameForTextAttachmentAtLocation:]
NSTextLayoutManager.h
Added NSTextLayoutManagerSegmentType
Added NSTextLayoutManagerSegmentTypeStandard
Added NSTextLayoutManagerSegmentTypeSelection
Added NSTextLayoutManagerSegmentTypeHighlight
Added NSTextLayoutManagerSegmentOptions
Added NSTextLayoutManagerSegmentOptionsNone
Added NSTextLayoutManagerSegmentOptionsRangeNotRequired
Added NSTextLayoutManagerSegmentOptionsMiddleFragmentsExcluded
Added NSTextLayoutManagerSegmentOptionsHeadSegmentExtended
Added NSTextLayoutManagerSegmentOptionsTailSegmentExtended
Added NSTextLayoutManagerSegmentOptionsUpstreamAffinity
Added NSTextLayoutManager
Added -[NSTextLayoutManager init]
Added -[NSTextLayoutManager initWithCoder:]
Added NSTextLayoutManager.delegate
Added NSTextLayoutManager.usesFontLeading
Added NSTextLayoutManager.limitsLayoutForSuspiciousContents
Added NSTextLayoutManager.usesHyphenation
Added NSTextLayoutManager.textContentManager
Added -[NSTextLayoutManager replaceTextContentManager:]
Added NSTextLayoutManager.textContainer
Added NSTextLayoutManager.usageBoundsForTextContainer
Added NSTextLayoutManager.textViewportLayoutController
Added NSTextLayoutManager.layoutQueue
Added -[NSTextLayoutManager ensureLayoutForRange:]
Added -[NSTextLayoutManager ensureLayoutForBounds:]
Added -[NSTextLayoutManager invalidateLayoutForRange:]
Added -[NSTextLayoutManager textLayoutFragmentForPosition:]
Added -[NSTextLayoutManager textLayoutFragmentForLocation:]
Added -[NSTextLayoutManager enumerateTextLayoutFragmentsFromLocation:options:usingBlock:]
Added NSTextLayoutManager.textSelections
Added NSTextLayoutManager.textSelectionNavigation
Added -[NSTextLayoutManager enumerateRenderingAttributesFromLocation:reverse:usingBlock:]
Added -[NSTextLayoutManager setRenderingAttributes:forTextRange:]
Added -[NSTextLayoutManager addRenderingAttribute:value:forTextRange:]
Added -[NSTextLayoutManager removeRenderingAttribute:forTextRange:]
Added -[NSTextLayoutManager invalidateRenderingAttributesForTextRange:]
Added NSTextLayoutManager.renderingAttributesValidator
Added NSTextLayoutManager.linkRenderingAttributes
Added -[NSTextLayoutManager renderingAttributesForLink:atLocation:]
Added -[NSTextLayoutManager enumerateTextSegmentsInRange:type:options:usingBlock:]
Added -[NSTextLayoutManager replaceContentsInRange:withTextElements:]
Added -[NSTextLayoutManager replaceContentsInRange:withAttributedString:]
Added NSTextLayoutManagerDelegate
Added -[NSTextLayoutManagerDelegate textLayoutManager:textLayoutFragmentForLocation:inTextElement:]
Added -[NSTextLayoutManagerDelegate textLayoutManager:shouldBreakLineBeforeLocation:hyphenating:]
Added -[NSTextLayoutManagerDelegate textLayoutManager:renderingAttributesForLink:atLocation:defaultAttributes:]
NSTextLineFragment.h
Added NSTextLineFragment
Added -[NSTextLineFragment initWithAttributedString:range:]
Added -[NSTextLineFragment initWithCoder:]
Added -[NSTextLineFragment initWithString:attributes:range:]
Added NSTextLineFragment.attributedString
Added NSTextLineFragment.characterRange
Added NSTextLineFragment.typographicBounds
Added NSTextLineFragment.glyphOrigin
Added -[NSTextLineFragment drawAtPoint:inContext:]
Added -[NSTextLineFragment locationForCharacterAtIndex:]
Added -[NSTextLineFragment characterIndexForPoint:]
Added -[NSTextLineFragment fractionOfDistanceThroughGlyphForPoint:]
NSTextRange.h
Added NSTextLocation
Added -[NSTextLocation compare:]
Added NSTextRange
Added -[NSTextRange initWithLocation:endLocation:]
Added -[NSTextRange initWithLocation:]
Added NSTextRange.empty
Added NSTextRange.location
Added NSTextRange.endLocation
Added -[NSTextRange isEqualToTextRange:]
Added -[NSTextRange containsLocation:]
Added -[NSTextRange containsRange:]
Added -[NSTextRange intersectsWithTextRange:]
Added -[NSTextRange textRangeByIntersectingWithTextRange:]
Added -[NSTextRange textRangeByFormingUnionWithTextRange:]
NSTextSelection.h
Added NSTextSelectionGranularity
Added NSTextSelectionGranularityCharacter
Added NSTextSelectionGranularityWord
Added NSTextSelectionGranularityParagraph
Added NSTextSelectionGranularityLine
Added NSTextSelectionGranularitySentence
Added NSTextSelectionAffinity
Added NSTextSelectionAffinityUpstream
Added NSTextSelectionAffinityDownstream
Added NSTextSelection
Added -[NSTextSelection initWithRanges:affinity:granularity:]
Added -[NSTextSelection initWithCoder:]
Added -[NSTextSelection initWithRange:affinity:granularity:]
Added -[NSTextSelection initWithLocation:affinity:]
Added NSTextSelection.textRanges
Added NSTextSelection.granularity
Added NSTextSelection.affinity
Added NSTextSelection.transient
Added NSTextSelection.anchorPositionOffset
Added NSTextSelection.logical
Added NSTextSelection.secondarySelectionLocation
Added NSTextSelection.typingAttributes
Added -[NSTextSelection textSelectionWithTextRanges:]
NSTextSelectionNavigation.h
Added NSTextSelectionNavigationDirection
Added NSTextSelectionNavigationDirectionForward
Added NSTextSelectionNavigationDirectionBackward
Added NSTextSelectionNavigationDirectionRight
Added NSTextSelectionNavigationDirectionLeft
Added NSTextSelectionNavigationDirectionUp
Added NSTextSelectionNavigationDirectionDown
Added NSTextSelectionNavigationDestination
Added NSTextSelectionNavigationDestinationCharacter
Added NSTextSelectionNavigationDestinationWord
Added NSTextSelectionNavigationDestinationLine
Added NSTextSelectionNavigationDestinationSentence
Added NSTextSelectionNavigationDestinationParagraph
Added NSTextSelectionNavigationDestinationContainer
Added NSTextSelectionNavigationDestinationDocument
Added NSTextSelectionNavigationModifier
Added NSTextSelectionNavigationModifierExtend
Added NSTextSelectionNavigationModifierVisual
Added NSTextSelectionNavigationModifierMultiple
Added NSTextSelectionNavigationWritingDirection
Added NSTextSelectionNavigationWritingDirectionLeftToRight
Added NSTextSelectionNavigationWritingDirectionRightToLeft
Added NSTextSelectionNavigationLayoutOrientation
Added NSTextSelectionNavigationLayoutOrientationHorizontal
Added NSTextSelectionNavigationLayoutOrientationVertical
Added NSTextSelectionNavigation
Added -[NSTextSelectionNavigation initWithDataSource:]
Added NSTextSelectionNavigation.textSelectionDataSource
Added NSTextSelectionNavigation.allowsNonContiguousRanges
Added NSTextSelectionNavigation.rotatesCoordinateSystemForLayoutOrientation
Added -[NSTextSelectionNavigation flushLayoutCache]
Added -[NSTextSelectionNavigation destinationSelectionForTextSelection:direction:destination:extending:confined:]
Added -[NSTextSelectionNavigation textSelectionsInteractingAtPoint:inContainerAtLocation:anchors:modifiers:selecting:bounds:]
Added -[NSTextSelectionNavigation textSelectionForSelectionGranularity:enclosingTextSelection:]
Added -[NSTextSelectionNavigation textSelectionForSelectionGranularity:enclosingPoint:inContainerAtLocation:]
Added -[NSTextSelectionNavigation resolvedInsertionLocationForTextSelection:writingDirection:]
Added -[NSTextSelectionNavigation deletionRangesForTextSelection:direction:destination:allowsDecomposition:]
Added NSTextSelectionDataSource
Added NSTextSelectionDataSource.documentRange
Added -[NSTextSelectionDataSource enumerateSubstringsFromLocation:options:usingBlock:]
Added -[NSTextSelectionDataSource textRangeForSelectionGranularity:enclosingLocation:]
Added -[NSTextSelectionDataSource locationFromLocation:withOffset:]
Added -[NSTextSelectionDataSource offsetFromLocation:toLocation:]
Added -[NSTextSelectionDataSource baseWritingDirectionAtLocation:]
Added -[NSTextSelectionDataSource enumerateCaretOffsetsInLineFragmentAtLocation:usingBlock:]
Added -[NSTextSelectionDataSource lineFragmentRangeForPoint:inContainerAtLocation:]
Added -[NSTextSelectionDataSource enumerateContainerBoundariesFromLocation:reverse:usingBlock:]
Added -[NSTextSelectionDataSource textLayoutOrientationAtLocation:]
NSTextStorage.h
Added NSTextStorage.textStorageObserver
Added NSTextStorageObserving
Added NSTextStorageObserving.textStorage
Added -[NSTextStorageObserving processEditingForTextStorage:edited:range:changeInLength:invalidatedRange:]
Added -[NSTextStorageObserving performEditingTransactionForTextStorage:usingBlock:]
NSTextView.h
Added NSTextView.textLayoutManager
Added NSTextView.textContentStorage
Added NSTextViewWillSwitchToNSLayoutManagerNotification
Added NSTextViewDidSwitchToNSLayoutManagerNotification
NSTextViewportLayoutController.h
Added NSTextViewportLayoutControllerDelegate
Added -[NSTextViewportLayoutControllerDelegate viewportBoundsForTextViewportLayoutController:]
Added -[NSTextViewportLayoutControllerDelegate textViewportLayoutController:configureRenderingSurfaceForTextLayoutFragment:]
Added -[NSTextViewportLayoutControllerDelegate textViewportLayoutControllerWillLayout:]
Added -[NSTextViewportLayoutControllerDelegate textViewportLayoutControllerDidLayout:]
Added NSTextViewportLayoutController
Added -[NSTextViewportLayoutController initWithTextLayoutManager:]
Added NSTextViewportLayoutController.delegate
Added NSTextViewportLayoutController.textLayoutManager
Added NSTextViewportLayoutController.viewportBounds
Added NSTextViewportLayoutController.viewportRange
Added -[NSTextViewportLayoutController layoutViewport]
Added -[NSTextViewportLayoutController relocateViewportToTextLocation:]
Added -[NSTextViewportLayoutController adjustViewportByVerticalOffset:]
NSWindow.h
Removed -[NSWindow keyDown:]
NSWindowRestoration.h
Added +[NSResponder allowedClassesForRestorableStateKeyPath:]
Added +[NSDocument allowedClassesForRestorableStateKeyPath:]
NSWorkspace.h
Added -[NSWorkspace URLsForApplicationsWithBundleIdentifier:]
Added -[NSWorkspace URLsForApplicationsToOpenURL:]
Added -[NSWorkspace setDefaultApplicationAtURL:toOpenContentTypeOfFileAtURL:completionHandler:]
Added -[NSWorkspace setDefaultApplicationAtURL:toOpenURLsWithScheme:completionHandler:]
Added -[NSWorkspace setDefaultApplicationAtURL:toOpenFileAtURL:completionHandler:]
Added -[NSWorkspace URLForApplicationToOpenContentType:]
Added -[NSWorkspace URLsForApplicationsToOpenContentType:]
Added -[NSWorkspace setDefaultApplicationAtURL:toOpenContentType:completionHandler:]