Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created October 23, 2023 22:50
Show Gist options
  • Save vs-mobiletools-engineering-service2/9d06ddd503212c47f8411dc3486dbaa8 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/9d06ddd503212c47f8411dc3486dbaa8 to your computer and use it in GitHub Desktop.
previous-api-comparison/mac-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.Mac SDK API diff
List of API changes for Xamarin.Mac.
spouliot
sepoulio
10/23/2023
article
f833f3cb-eea7-c1b8-a706-dfbb597746ea
xamarin

Xamarin.Mac SDK API diff

Namespace AppKit

Type Changed: AppKit.NSAccessibilityElement

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Type Changed: AppKit.NSAccessibility_Extensions

Added methods:

public static Foundation.NSAttributedString[] GetAccessibilityAttributedUserInputLabels (this INSAccessibility This);
public static string[] GetAccessibilityUserInputLabels (this INSAccessibility This);
public static void SetAccessibilityAttributedUserInputLabels (this INSAccessibility This, Foundation.NSAttributedString[] value);
public static void SetAccessibilityUserInputLabels (this INSAccessibility This, string[] value);

Type Changed: AppKit.NSApplication

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Added methods:

public virtual void Activate ();
public virtual void YieldActivation (NSRunningApplication toApplication);
public virtual void YieldActivation (string toApplicationWithBundleIdentifier);

Type Changed: AppKit.NSBezelStyle

Added value:

Automatic = 0,

Type Changed: AppKit.NSBezierPath

Added property:

public virtual CoreGraphics.CGPath CGPath { get; set; }

Added methods:

public virtual void CurveTo (CoreGraphics.CGPoint endPoint, CoreGraphics.CGPoint controlPoint);
public static NSBezierPath FromCGPath (CoreGraphics.CGPath cgPath);
public virtual void RelativeCurveTo (CoreGraphics.CGPoint endPoint, CoreGraphics.CGPoint controlPoint);

Type Changed: AppKit.NSBezierPathElement

Added value:

QuadraticCurveTo = 4,

Type Changed: AppKit.NSCell

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Type Changed: AppKit.NSColor

Added interface:

INSAccessibilityColor

Added properties:

public virtual string AccessibilityName { get; }
public static NSColor QuaternarySystemFill { get; }
public static NSColor QuinaryLabel { get; }
public static NSColor QuinarySystemFill { get; }
public static NSColor SecondarySystemFill { get; }
public static NSColor SystemFill { get; }
public static NSColor TertiarySystemFill { get; }
public static NSColor TextInsertionPoint { get; }

Type Changed: AppKit.NSColorWell

Added property:

public virtual bool SupportsAlpha { get; set; }

Added method:

public static NSColorWell Create (NSColorWellStyle style);

Type Changed: AppKit.NSCursor

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSDrawer

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Type Changed: AppKit.NSImage

Added property:

public virtual Foundation.NSLocale Locale { get; }

Added methods:

public virtual NSImage GetImage (Foundation.NSLocale locale);
public static NSImage GetImage (string symbolName, Foundation.NSBundle bundle, double variableValue);

Type Changed: AppKit.NSImageView

Added properties:

public static NSImageDynamicRange DefaultPreferredImageDynamicRange { get; set; }
public virtual NSImageDynamicRange ImageDynamicRange { get; }
public virtual NSImageDynamicRange PreferredImageDynamicRange { get; set; }

Added methods:

public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveAllSymbolEffects ();
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options);
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void SetSymbolImage (NSImage symbolImage, Symbols.NSSymbolContentTransition contentTransition);
public virtual void SetSymbolImage (NSImage symbolImage, Symbols.NSSymbolContentTransition contentTransition, Symbols.NSSymbolEffectOptions options);

Type Changed: AppKit.NSMenu

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public virtual NSMenuPresentationStyle PresentationStyle { get; set; }
public virtual NSMenuItem[] SelectedItems { get; set; }
public virtual NSMenuSelectionMode SelectionMode { get; set; }

Added methods:

public static NSMenu CreatePaletteMenu (NSColor[] colors, string[] itemTitles, System.Action<NSMenu> onSelectionChange);
public static NSMenu CreatePaletteMenu (NSColor[] colors, string[] itemTitles, NSImage image, System.Action<NSMenu> onSelectionChange);

Type Changed: AppKit.NSMenuItem

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public virtual NSMenuItemBadge Badge { get; set; }
public virtual bool IsSectionHeader { get; }

Added method:

public static NSMenuItem CreateSectionHeader (string title);

Type Changed: AppKit.NSOutlineViewDelegate

Added methods:

public virtual bool UserCanChangeVisibility (NSOutlineView outlineView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSOutlineView outlineView, NSTableColumn[] columns);

Type Changed: AppKit.NSOutlineViewDelegate_Extensions

Added methods:

public static bool UserCanChangeVisibility (this INSOutlineViewDelegate This, NSOutlineView outlineView, NSTableColumn column);
public static void UserDidChangeVisibility (this INSOutlineViewDelegate This, NSOutlineView outlineView, NSTableColumn[] columns);

Type Changed: AppKit.NSPageLayout

Added methods:

public virtual void BeginSheet (NSPrintInfo printInfo, NSWindow parentWindow, System.Action<NSPageLayoutResult> handler);
public virtual System.Threading.Tasks.Task<NSPageLayoutResult> BeginSheetAsync (NSPrintInfo printInfo, NSWindow parentWindow);

Type Changed: AppKit.NSPopover

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public virtual bool HasFullSizeContent { get; set; }

Added method:

public virtual void ShowRelative (NSToolbarItem toToolbarItem);

Type Changed: AppKit.NSPrintPanel

Added methods:

public virtual void BeginSheet (NSPrintInfo printInfo, NSWindow parentWindow, System.Action<NSPrintPanelResult> handler);
public virtual System.Threading.Tasks.Task<NSPrintPanelResult> BeginSheetAsync (NSPrintInfo printInfo, NSWindow parentWindow);

Type Changed: AppKit.NSProgressIndicator

Added property:

public virtual Foundation.NSProgress ObservedProgress { get; set; }

Type Changed: AppKit.NSRunningApplication

Added method:

public virtual bool Activate (NSRunningApplication application, NSApplicationActivationOptions options);

Type Changed: AppKit.NSSavePanel

Added property:

public virtual string Identifier { get; set; }

Type Changed: AppKit.NSScreen

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

Type Changed: AppKit.NSSliderAccessory

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Type Changed: AppKit.NSSpellChecker

Added properties:

public static Foundation.NSString DidChangeAutomaticInlinePredictionNotification { get; }
public static bool IsAutomaticInlinePredictionEnabled { get; }
public static Foundation.NSString TextCheckingGenerateInlinePredictionsKey { get; }

Added method:

public virtual void ShowInlinePrediction (Foundation.NSTextCheckingResult[] candidates, INSTextInputClient client);

Type Changed: AppKit.NSSpellChecker.Notifications

Added methods:

public static Foundation.NSObject ObserveDidChangeAutomaticInlinePrediction (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveDidChangeAutomaticInlinePrediction (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);

Type Changed: AppKit.NSSplitViewController

Added method:

public virtual void ToggleInspector (Foundation.NSObject sender);

Type Changed: AppKit.NSSplitViewItem

Added property:

public virtual bool CanCollapseFromWindowResize { get; set; }

Added method:

public static NSSplitViewItem CreateInspector (NSViewController viewController);

Type Changed: AppKit.NSSplitViewItemBehavior

Added value:

Inspector = 3,

Type Changed: AppKit.NSTableView

Added property:

public NSTableViewUserCanChangeColumnVisibility UserCanChangeVisibility { get; set; }

Added event:

public event System.EventHandler<NSTableViewUserCanChangeColumnsVisibilityEventArgs> UserDidChangeVisibility;

Type Changed: AppKit.NSTableViewDelegate

Added methods:

public virtual bool UserCanChangeVisibility (NSTableView tableView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSTableView tableView, NSTableColumn[] columns);

Type Changed: AppKit.NSTableViewDelegate_Extensions

Added methods:

public static bool UserCanChangeVisibility (this INSTableViewDelegate This, NSTableView tableView, NSTableColumn column);
public static void UserDidChangeVisibility (this INSTableViewDelegate This, NSTableView tableView, NSTableColumn[] columns);

Type Changed: AppKit.NSTextContentType

Added values:

AddressCity = 3,
AddressCityAndState = 4,
AddressLine2 = 39,
AddressState = 5,
Birthdate = 6,
BirthdateDay = 7,
BirthdateMonth = 8,
BirthdateYear = 9,
CountryName = 10,
CreditCardExpiration = 11,
CreditCardExpirationMonth = 12,
CreditCardExpirationYear = 13,
CreditCardFamilyName = 14,
CreditCardGivenName = 15,
CreditCardMiddleName = 16,
CreditCardName = 17,
CreditCardNumber = 18,
CreditCardSecurityCode = 19,
CreditCardType = 20,
DateTime = 21,
EmailAddress = 22,
FamilyName = 23,
FlightNumber = 24,
FullStreetAddress = 25,
GivenName = 26,
JobTitle = 27,
Location = 28,
MiddleName = 29,
Name = 30,
NamePrefix = 31,
NameSuffix = 32,
NewPassword = 33,
Nickname = 34,
OrganizationName = 35,
PostalCode = 36,
ShipmentTrackingNumber = 37,
StreetAddressLine1 = 38,
Sublocality = 40,
TelephoneNumber = 41,
Url = 42,

Type Changed: AppKit.NSTextInputClient

Added properties:

public virtual CoreGraphics.CGRect DocumentVisibleRect { get; }
public virtual NSTextCursorAccessoryPlacement PreferredTextAccessoryPlacement { get; }
public virtual CoreGraphics.CGRect UnionRectInVisibleSelectedRange { get; }

Type Changed: AppKit.NSTextInputClient_Extensions

Added methods:

public static CoreGraphics.CGRect GetDocumentVisibleRect (this INSTextInputClient This);
public static NSTextCursorAccessoryPlacement GetPreferredTextAccessoryPlacement (this INSTextInputClient This);
public static CoreGraphics.CGRect GetUnionRectInVisibleSelectedRange (this INSTextInputClient This);

Type Changed: AppKit.NSTextInputContext

Added methods:

public virtual void TextInputClientDidEndScrollingOrZooming ();
public virtual void TextInputClientWillStartScrollingOrZooming ();

Type Changed: AppKit.NSTextInputTraits_Extensions

Added methods:

public static NSTextInputTraitType GetInlinePredictionType (this INSTextInputTraits This);
public static void SetInlinePredictionType (this INSTextInputTraits This, NSTextInputTraitType value);

Type Changed: AppKit.NSTextLayoutFragment

Added methods:

public virtual NSTextLineFragment GetTextLineFragment (INSTextLocation textLocation, bool isUpstreamAffinity);
public virtual NSTextLineFragment GetTextLineFragment (nfloat verticalOffset, bool requiresExactMatch);

Type Changed: AppKit.NSTextView

Added properties:

public virtual CoreGraphics.CGRect DocumentVisibleRect { get; }
public virtual NSTextInputTraitType InlinePredictionType { get; set; }
public virtual NSTextCursorAccessoryPlacement PreferredTextAccessoryPlacement { get; }
public virtual CoreGraphics.CGRect UnionRectInVisibleSelectedRange { get; }

Type Changed: AppKit.NSToolbar

Added properties:

public static Foundation.NSString NSToolbarInspectorTrackingSeparatorItemIdentifier { get; }
public static Foundation.NSString NSToolbarToggleInspectorItemIdentifier { get; }

Type Changed: AppKit.NSToolbarItem

Added property:

public virtual bool Visible { get; }

Type Changed: AppKit.NSView

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

Type Changed: AppKit.NSViewController

Added property:

public virtual NSView ViewIfLoaded { get; }

Added methods:

public virtual void LoadViewIfNeeded ();
public virtual void Present (NSViewController viewController, CoreGraphics.CGRect positioningRect, NSView positioningView, NSRectEdge preferredEdge, NSPopoverBehavior behavior, byte hasFullSizeContent);

Type Changed: AppKit.NSWindow

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

New Type: AppKit.INSAccessibilityColor

public interface INSAccessibilityColor : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string AccessibilityName { get; }
}

New Type: AppKit.NSImageDynamicRange

[Serializable]
public enum NSImageDynamicRange {
	ConstrainedHigh = 1,
	High = 2,
	Standard = 0,
	Unspecified = -1,
}

New Type: AppKit.NSMenuItemBadge

public class NSMenuItemBadge : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected NSMenuItemBadge (Foundation.NSObjectFlag t);
	protected NSMenuItemBadge (IntPtr handle);
	public NSMenuItemBadge (string string);
	public NSMenuItemBadge (nint itemCount);
	public NSMenuItemBadge (nint itemCount, NSMenuItemBadgeType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint ItemCount { get; }
	public virtual string StringValue { get; }
	public virtual NSMenuItemBadgeType Type { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static NSMenuItemBadge CreateAlerts (nint itemCount);
	public static NSMenuItemBadge CreateNewItems (nint itemCount);
	public static NSMenuItemBadge CreateUpdates (nint itemCount);
}

New Type: AppKit.NSMenuItemBadgeType

[Serializable]
public enum NSMenuItemBadgeType {
	Alerts = 3,
	NewItems = 2,
	None = 0,
	Updates = 1,
}

New Type: AppKit.NSMenuPresentationStyle

[Serializable]
public enum NSMenuPresentationStyle {
	Palette = 1,
	Regular = 0,
}

New Type: AppKit.NSMenuSelectionMode

[Serializable]
public enum NSMenuSelectionMode {
	Automatic = 0,
	SelectAny = 2,
	SelectOne = 1,
}

New Type: AppKit.NSNibConnector

public class NSNibConnector : Foundation.NSObject, Foundation.INSCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSNibConnector ();
	public NSNibConnector (Foundation.NSCoder coder);
	protected NSNibConnector (Foundation.NSObjectFlag t);
	protected NSNibConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Destination { get; set; }
	public virtual string Label { get; set; }
	public virtual Foundation.NSObject Source { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual void EstablishConnection ();
	public virtual void Replace (Foundation.NSObject oldObject, Foundation.NSObject newObject);
}

New Type: AppKit.NSNibControlConnector

public class NSNibControlConnector : AppKit.NSNibConnector {
	// constructors
	public NSNibControlConnector ();
	public NSNibControlConnector (Foundation.NSCoder coder);
	protected NSNibControlConnector (Foundation.NSObjectFlag t);
	protected NSNibControlConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EstablishConnection ();
}

New Type: AppKit.NSNibOutletConnector

public class NSNibOutletConnector : AppKit.NSNibConnector {
	// constructors
	public NSNibOutletConnector ();
	public NSNibOutletConnector (Foundation.NSCoder coder);
	protected NSNibOutletConnector (Foundation.NSObjectFlag t);
	protected NSNibOutletConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EstablishConnection ();
}

New Type: AppKit.NSPageLayoutResult

[Serializable]
public enum NSPageLayoutResult {
	Cancelled = 0,
	Changed = 1,
}

New Type: AppKit.NSPrintPanelResult

[Serializable]
public enum NSPrintPanelResult {
	Cancelled = 0,
	Printed = 1,
}

New Type: AppKit.NSTableViewUserCanChangeColumnVisibility

public sealed delegate NSTableViewUserCanChangeColumnVisibility : System.MulticastDelegate {
	// constructors
	public NSTableViewUserCanChangeColumnVisibility (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSTableView tableView, NSTableColumn column, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSTableView tableView, NSTableColumn column);
}

New Type: AppKit.NSTableViewUserCanChangeColumnsVisibilityEventArgs

public class NSTableViewUserCanChangeColumnsVisibilityEventArgs : System.EventArgs {
	// constructors
	public NSTableViewUserCanChangeColumnsVisibilityEventArgs (NSTableColumn[] columns);
	// properties
	public NSTableColumn[] Columns { get; set; }
}

New Type: AppKit.NSTextCursorAccessoryPlacement

[Serializable]
public enum NSTextCursorAccessoryPlacement {
	Backward = 1,
	Center = 4,
	Forward = 2,
	Invisible = 3,
	OffscreenBottom = 8,
	OffscreenLeft = 5,
	OffscreenRight = 7,
	OffscreenTop = 6,
	Unspecified = 0,
}

New Type: AppKit.NSTextInsertionIndicator

public class NSTextInsertionIndicator : AppKit.NSView {
	// constructors
	public NSTextInsertionIndicator ();
	public NSTextInsertionIndicator (CoreGraphics.CGRect frameRect);
	public NSTextInsertionIndicator (Foundation.NSCoder coder);
	protected NSTextInsertionIndicator (Foundation.NSObjectFlag t);
	protected NSTextInsertionIndicator (IntPtr handle);
	// properties
	public virtual NSTextInsertionIndicatorAutomaticModeOptions AutomaticModeOptions { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSColor Color { get; set; }
	public virtual NSTextInsertionIndicatorDisplayMode DisplayMode { get; set; }
	public virtual System.Action<NSView> EffectsViewInserter { get; set; }
}

New Type: AppKit.NSTextInsertionIndicatorAutomaticModeOptions

[Serializable]
[Flags]
public enum NSTextInsertionIndicatorAutomaticModeOptions {
	EffectsView = 1,
	WhileTracking = 2,
}

New Type: AppKit.NSTextInsertionIndicatorDisplayMode

[Serializable]
public enum NSTextInsertionIndicatorDisplayMode {
	Automatic = 0,
	Hidden = 1,
	Visible = 2,
}

Namespace CoreAnimation

New Type: CoreAnimation.CADisplayLink

public class CADisplayLink : Foundation.NSObject {
	// constructors
	public CADisplayLink ();
	protected CADisplayLink (Foundation.NSObjectFlag t);
	protected CADisplayLink (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Duration { get; }
	public virtual bool Paused { get; set; }
	public virtual CAFrameRateRange PreferredFrameRateRange { get; set; }
	public virtual double TargetTimestamp { get; }
	public virtual double Timestamp { get; }
	// methods
	public void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
	public virtual void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSString mode);
	public static CADisplayLink Create (Foundation.NSObject target, ObjCRuntime.Selector sel);
	public virtual void Invalidate ();
	public void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
	public virtual void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSString mode);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment