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

[xcode14.3] Add Xcode 14.3 Support #17942

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
821e971
[xcode14.3] Update bindings to Xcode 14.3
dalexsoto Mar 27, 2023
fca1c4e
[authenticationservices] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
ed37a30
[AppKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
248dddc
[AVRouting] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
4478c8e
[BackgroundAssets] Update bindings to Xcode 13.3 Beta 2
dalexsoto Mar 27, 2023
17ca049
[CarPlay] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
6cfef5f
[CoreFoundation] Cleanup xtro as nothing to be done here
dalexsoto Mar 27, 2023
7ef5e9a
[CoreLocation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
2e5d612
[CoreML] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
0419a30
[CoreWLAN] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
6f34ae8
[FileProvider] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
7d23309
[Foundation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
b431423
[GameKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
1b8988c
[HealthKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
0b41cf4
[HomeKit] [ImageIO] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
ddd1796
[Intents] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9f8b0fd
[JavaScriptCore] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
555dd6f
[MediaAccessibility] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
88d4f35
[Network] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
55c8c15
[NetworkExtension] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
40d7032
[PassKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
85f9038
[PencilKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9d7bbfb
[SensorKit] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
fb672f1
[ThreadNetwork] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
c6a6cf0
[UIKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9fcbfa6
[VideoSubscriberAccount] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
b2f5911
[WebKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
a69d791
Auto-format source code
Mar 27, 2023
788f38d
Apply suggestions from code review
dalexsoto Mar 27, 2023
0a82148
[tests] Add more accepted public symbols to the Xamarin.Tests.Misc.Ve…
rolfbjarne Mar 27, 2023
18a8aed
Xcode 14.3 requires macOS 13.0+.
rolfbjarne Mar 27, 2023
782318c
[xcode14.3] Update bidnings to Xcode 14.3 RC and fix tests
dalexsoto Mar 27, 2023
f39f6c9
[CI] Ignore provisioning when building as they are not needed
dalexsoto Mar 27, 2023
30079fa
[xcode14.3] Update to Xcode 14.3 Release Candidate 2
dalexsoto Mar 28, 2023
8cb5701
[versions] Bump legacy versions to make room for stable
dalexsoto Mar 28, 2023
523b2a5
[CI] Ignore simulators on build
dalexsoto Mar 28, 2023
25ca6d0
[tests] Update BuildWithObjcArcFlag test to cope with breaking change…
rolfbjarne Mar 29, 2023
3c681bc
Don't try to figure out if we have the simulators we need or not.
rolfbjarne Mar 29, 2023
b119b77
[tests] Add two more know issues to the BlittablePInvokes.CheckForNon…
dalexsoto Mar 30, 2023
6c3d588
[xcode4.3] Use stable versions and disable .NET build
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
10 changes: 5 additions & 5 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 Expand Up @@ -290,7 +290,7 @@ INCLUDE_DOTNET_WATCHOS=
INCLUDE_XAMARIN_LEGACY=1
INCLUDE_HOTRESTART=1

ENABLE_DOTNET=1
ENABLE_DOTNET=

# disable source code install by default (it's enabled for CI builds)
ENABLE_INSTALL_SOURCE=
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.4.0.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.3.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