Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[main] Add Xcode 14.3 Support #17810

Merged
merged 39 commits into from
Mar 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
46eaabc
[xcode14.3] Update bindings to Xcode 14.3
dalexsoto Mar 27, 2023
3aad6f0
[authenticationservices] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
8b6f1c6
[AppKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
85b2e8c
[AVRouting] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
80dcea3
[BackgroundAssets] Update bindings to Xcode 13.3 Beta 2
dalexsoto Mar 27, 2023
c3daeaf
[CarPlay] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
968c73e
[CoreFoundation] Cleanup xtro as nothing to be done here
dalexsoto Mar 27, 2023
7bb36f8
[CoreLocation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
283c2dc
[CoreML] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
6f9113f
[CoreWLAN] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9f03095
[FileProvider] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
6a21f91
[Foundation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
6c36c1a
[GameKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
542f8cd
[HealthKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
4eda394
[HomeKit] [ImageIO] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
f21f9a6
[Intents] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
d824a93
[JavaScriptCore] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
c525187
[MediaAccessibility] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
466efd1
[Network] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
81034eb
[NetworkExtension] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
dd8007b
[PassKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
c016950
[PencilKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
db24230
[SensorKit] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
cdf9be3
[ThreadNetwork] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
3936403
[UIKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
014eb10
[VideoSubscriberAccount] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
67ee103
[WebKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
83226e6
Auto-format source code
Mar 27, 2023
6583462
Apply suggestions from code review
dalexsoto Mar 27, 2023
6513761
[tests] Add more accepted public symbols to the Xamarin.Tests.Misc.Ve…
rolfbjarne Mar 27, 2023
37fef7a
Xcode 14.3 requires macOS 13.0+.
rolfbjarne Mar 27, 2023
f793719
[xcode14.3] Update bidnings to Xcode 14.3 RC and fix tests
dalexsoto Mar 27, 2023
a939e00
[CI] Ignore provisioning when building as they are not needed
dalexsoto Mar 27, 2023
88dff7b
[xcode14.3] Update to Xcode 14.3 Release Candidate 2
dalexsoto Mar 28, 2023
23b8c24
[versions] Bump legacy versions to make room for stable
dalexsoto Mar 28, 2023
9bae150
[CI] Ignore simulators on build
dalexsoto Mar 28, 2023
b24323f
[tests] Update BuildWithObjcArcFlag test to cope with breaking change…
rolfbjarne Mar 29, 2023
e05ec5d
Don't try to figure out if we have the simulators we need or not.
rolfbjarne Mar 29, 2023
4d98f09
[tests] Add two more know issues to the BlittablePInvokes.CheckForNon…
dalexsoto Mar 30, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -198,9 +198,9 @@ MACCATALYST_NUGET_VERSION_NO_METADATA=$(MACCATALYST_NUGET_VERSION)$(NUGET_PREREL
MACCATALYST_NUGET_VERSION_FULL=$(MACCATALYST_NUGET_VERSION_NO_METADATA)+$(NUGET_BUILD_METADATA)

# Xcode version should have both a major and a minor version (even if the minor version is 0)
XCODE_VERSION=14.2
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_14.2.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_14.2.0.app/Contents/Developer
XCODE_VERSION=14.3
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_14.3_Release_Candidate_2.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_14.3.0-rc.2.app/Contents/Developer
XCODE_PRODUCT_BUILD_VERSION:=$(shell /usr/libexec/PlistBuddy -c 'Print :ProductBuildVersion' $(XCODE_DEVELOPER_ROOT)/../version.plist 2>/dev/null || echo " $(shell tput setaf 1 2>/dev/null)The required Xcode ($(XCODE_VERSION)) is not installed in $(basename $(basename $(XCODE_DEVELOPER_ROOT)))$(shell tput sgr0 2>/dev/null)" >&2)

# Tell both Xcode and our build logic which Xcode we're using.
Expand Down Expand Up @@ -235,7 +235,7 @@ MAX_SHARPIE_VERSION=3.5.99
MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/7336f72c-57aa-4e46-9936-cce4d1975ba9/b33be8b36a22c2cfbcbe5680f14e0901/objectivesharpie-3.5.61.pkg

# Minimum OSX versions for building XI/XM
MIN_OSX_BUILD_VERSION=12.5
MIN_OSX_BUILD_VERSION=13.0
# Minimum OSX version for executing XI/XM tooling.
MIN_OSX_VERSION_FOR_IOS=10.11
MIN_OSX_VERSION_FOR_MAC=10.11
Expand Down
14 changes: 7 additions & 7 deletions Make.versions
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
# line changed in git).
#

IOS_PACKAGE_VERSION=16.2.1.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.1.1.$(MAC_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION=16.5.0.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.4.0.$(MAC_COMMIT_DISTANCE)

#
# ** NuGet package version numbers **
Expand All @@ -65,11 +65,11 @@ MAC_PACKAGE_VERSION=9.1.1.$(MAC_COMMIT_DISTANCE)

# WARNING: Do **not** use versions higher than the available Xcode SDK or else we will have issues with mtouch (See https://github.com/xamarin/xamarin-macios/issues/7705)

IOS_NUGET_OS_VERSION=16.2
TVOS_NUGET_OS_VERSION=16.1
WATCHOS_NUGET_OS_VERSION=9.1
MACOS_NUGET_OS_VERSION=13.1
MACCATALYST_NUGET_OS_VERSION=16.2
IOS_NUGET_OS_VERSION=16.4
TVOS_NUGET_OS_VERSION=16.4
WATCHOS_NUGET_OS_VERSION=9.4
MACOS_NUGET_OS_VERSION=13.3
MACCATALYST_NUGET_OS_VERSION=16.4


# Defines the default platform version if it's not specified in the TFM. The default should not change for a given .NET version:
Expand Down
7 changes: 6 additions & 1 deletion Versions-ios.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
<string>16.0</string>
<string>16.1</string>
<string>16.2</string>
<string>16.4</string>
</array>
<key>tvOS</key>
<array>
Expand Down Expand Up @@ -85,6 +86,7 @@
<string>15.4</string>
<string>16.0</string>
<string>16.1</string>
<string>16.4</string>
</array>
<key>watchOS</key>
<array>
Expand Down Expand Up @@ -114,7 +116,7 @@
<string>8.3</string>
<string>8.5</string>
<string>9.0</string>
<string>9.1</string>
<string>9.4</string>
</array>
<key>MacCatalyst</key>
<array>
Expand All @@ -132,6 +134,7 @@
<string>15.4</string>
<string>16.1</string>
<string>16.2</string>
<string>16.4</string>
</array>
</dict>
<key>MacCatalystVersionMap</key>
Expand Down Expand Up @@ -164,6 +167,8 @@
<string>13.0</string>
<key>16.2</key>
<string>13.1</string>
<key>16.4</key>
<string>13.3</string>
</dict>
<key>RecommendedXcodeVersion</key>
<string>@XCODE_VERSION@</string>
Expand Down
1 change: 1 addition & 0 deletions Versions-mac.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<string>12.3</string>
<string>13.0</string>
<string>13.1</string>
<string>13.3</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 1 addition & 1 deletion mk/xamarin.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ MONO_BRANCH := $(shell cd $(MONO_PATH) 2> /dev/null && git symbolic-ref --sho
endif

ifdef ENABLE_XAMARIN
NEEDED_MACCORE_VERSION := 893e01ae00872bcf0458ca094a9beb3f6fda3709
NEEDED_MACCORE_VERSION := 52cb0860321f80c36ae2e1733c377b889ec8736b
NEEDED_MACCORE_BRANCH := main

MACCORE_DIRECTORY := maccore
Expand Down
42 changes: 42 additions & 0 deletions src/AuthenticationServices/ASCompat.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
//
// ASCompat.cs
//
// Authors:
// Alex Soto <alexsoto@microsoft.com>
//
// Copyright 2023 Microsoft Corporation
//
#if !XAMCORE_5_0

#nullable enable

using Foundation;
using ObjCRuntime;
using System;
using System.Threading.Tasks;

#if !NET
using NativeHandle = System.IntPtr;
#endif

namespace AuthenticationServices {
#if MONOMAC
public partial class ASAuthorizationProviderExtensionRegistrationHandler {
public override NativeHandle ClassHandle => throw new InvalidOperationException (Constants.BrokenBinding);
#if !NET
public Task<ASAuthorizationProviderExtensionRegistrationResult> BeginDeviceRegistrationAsync (ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
public Task<ASAuthorizationProviderExtensionRegistrationResult> BeginUserRegistrationAsync (ASAuthorizationProviderExtensionLoginManager loginManager, string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
#else
public virtual Task<ASAuthorizationProviderExtensionRegistrationResult> BeginDeviceRegistrationAsync (ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
public virtual Task<ASAuthorizationProviderExtensionRegistrationResult> BeginUserRegistrationAsync (ASAuthorizationProviderExtensionLoginManager loginManager, string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
#endif // !NET
}

public static partial class ASAuthorizationProviderExtensionRegistrationHandler_Extensions {
public static Task<ASAuthorizationProviderExtensionRegistrationResult> BeginDeviceRegistrationAsync (this IASAuthorizationProviderExtensionRegistrationHandler This, ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
public static Task<ASAuthorizationProviderExtensionRegistrationResult> BeginUserRegistrationAsync (this IASAuthorizationProviderExtensionRegistrationHandler This, ASAuthorizationProviderExtensionLoginManager loginManager, string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options) => throw new InvalidOperationException (Constants.BrokenBinding);
}

#endif // MONOMAC
}
#endif // !XAMCORE_5_0
1 change: 1 addition & 0 deletions src/CoreWlan/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ public enum CWChannelBand : ulong {
Unknown = 0,
TwoGHz = 1,
FiveGHz = 2,
SixGHz = 3,
}

[NoMacCatalyst]
Expand Down
10 changes: 10 additions & 0 deletions src/HealthKit/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,12 @@ public enum HKFhirResourceType {
[MacCatalyst (14, 0)]
[Field ("HKFHIRResourceTypeCoverage")]
Coverage,
[iOS (16, 4), MacCatalyst (16, 4), Mac (13, 3)]
[Field ("HKFHIRResourceTypeDiagnosticReport")]
DiagnosticReport,
[iOS (16, 4), MacCatalyst (16, 4), Mac (13, 3)]
[Field ("HKFHIRResourceTypeDocumentReference")]
DocumentReference,
}

[Watch (5, 0), iOS (12, 0), Mac (13, 0)]
Expand All @@ -611,6 +617,10 @@ public enum HKClinicalTypeIdentifier {
[MacCatalyst (14, 0)]
[Field ("HKClinicalTypeIdentifierCoverageRecord")]
CoverageRecord,
[Watch (9, 4), iOS (16, 4), Mac (13, 3)]
[MacCatalyst (16, 4)]
[Field ("HKClinicalTypeIdentifierClinicalNoteRecord")]
ClinicalNoteRecord,
}

[Watch (5, 0), iOS (12, 0), Mac (13, 0)]
Expand Down
29 changes: 29 additions & 0 deletions src/MediaAccessibility/MediaAccessibility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -314,4 +314,33 @@ static partial class MAAudibleMedia {
return result;
}
}

#if NET
[SupportedOSPlatform ("ios16.4")]
[SupportedOSPlatform ("maccatalyst16.4")]
[SupportedOSPlatform ("macos13.3")]
[SupportedOSPlatform ("tvos16.4")]
#endif
public static partial class MAVideoAccommodations {
#if NET
[SupportedOSPlatform ("ios16.4")]
[SupportedOSPlatform ("maccatalyst16.4")]
[SupportedOSPlatform ("macos13.3")]
[SupportedOSPlatform ("tvos16.4")]
#else
[Mac (13, 3), TV (16, 4), iOS (16, 4)]
#endif
[DllImport (Constants.MediaAccessibilityLibrary)]
static extern byte MADimFlashingLightsEnabled ();

#if NET
[SupportedOSPlatform ("ios16.4")]
[SupportedOSPlatform ("maccatalyst16.4")]
[SupportedOSPlatform ("macos13.3")]
[SupportedOSPlatform ("tvos16.4")]
#else
[Mac (13, 3), TV (16, 4), iOS (16, 4)]
#endif
public static bool IsDimFlashingLightsEnabled () => MADimFlashingLightsEnabled () != 0;
}
}
2 changes: 2 additions & 0 deletions src/Network/NWEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -317,5 +317,7 @@ public enum NWQuicStreamType {
Unknown = 0,
Bidirectional = 1,
Unidirectional = 2,
[Watch (9, 4), TV (16, 4), Mac (13, 3), iOS (16, 4), MacCatalyst (16, 4)]
Datagram = 3,
}
}
3 changes: 3 additions & 0 deletions src/UIKit/UIEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2903,6 +2903,9 @@ public enum UIWindowSceneDismissalAnimation : long {
public enum UIActivityItemsConfigurationInteraction {
[Field ("UIActivityItemsConfigurationInteractionShare")]
Share,
[iOS (16, 4), MacCatalyst (16, 4)]
[Field ("UIActivityItemsConfigurationInteractionCopy")]
Copy,
}

[NoWatch, NoTV, iOS (13, 0)]
Expand Down
25 changes: 25 additions & 0 deletions src/appkit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6157,6 +6157,11 @@ partial interface NSDocument : NSUserActivityRestoring {
[Mac (10, 13)]
[Export ("prepareSharingServicePicker:")]
void Prepare (NSSharingServicePicker sharingServicePicker);

[Mac (13, 2)]
[NullAllowed]
[Export ("previewRepresentableActivityItems", ArgumentSemantic.Copy)]
INSPreviewRepresentableActivityItem [] PreviewRepresentableActivityItems { get; set; }
}

delegate void OpenDocumentCompletionHandler (NSDocument document, bool documentWasAlreadyOpen, NSError error);
Expand Down Expand Up @@ -21879,6 +21884,11 @@ interface NSWindowController : NSCoding, NSSeguePerforming {
[Export ("shouldCascadeWindows")]
bool ShouldCascadeWindows { get; set; }

[Mac (13, 2)]
[NullAllowed]
[Export ("previewRepresentableActivityItems", ArgumentSemantic.Copy)]
INSPreviewRepresentableActivityItem [] PreviewRepresentableActivityItems { get; set; }

[Export ("document")]
[NullAllowed]
NSDocument Document { get; set; }
Expand Down Expand Up @@ -22060,6 +22070,12 @@ interface NSWindowDelegate {
[Export ("window:didDecodeRestorableState:"), EventArgs ("NSWindowCoder")]
void DidDecodeRestorableState (NSWindow window, NSCoder coder);

[Mac (13, 2)]
[Export ("previewRepresentableActivityItemsForWindow:")]
[return: NullAllowed]
[IgnoredInDelegate]
INSPreviewRepresentableActivityItem [] GetPreviewRepresentableActivityItems (NSWindow window);

[Export ("window:willResizeForVersionBrowserWithMaxPreferredSize:maxAllowedSize:"), DelegateName ("NSWindowSizeSize"), DefaultValueFromArgument ("maxPreferredSize")]
CGSize WillResizeForVersionBrowser (NSWindow window, CGSize maxPreferredSize, CGSize maxAllowedSize);

Expand Down Expand Up @@ -23536,6 +23552,15 @@ partial interface NSWindow {
[MacCatalyst (13, 1)]
[NullAllowed, Export ("tabGroup", ArgumentSemantic.Weak)]
NSWindowTabGroup TabGroup { get; }

[Mac (13, 3), MacCatalyst (16, 4)]
[Async]
[Export ("transferWindowSharingToWindow:completionHandler:")]
void TransferWindowSharing (NSWindow window, Action<NSError> completionHandler);

[Mac (13, 3), MacCatalyst (16, 4)]
[Export ("hasActiveWindowSharingSession")]
bool HasActiveWindowSharingSession { get; }
}

partial interface NSPrintOperation {
Expand Down
Loading