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

[release/6.0.4xx-xcode14.3] Add Xcode 14.3 Support #17946

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
785a9ee
[WebKit] Merge WKWebKit into WebKit. (#17062)
rolfbjarne Dec 19, 2022
6a698fe
[xcode14.3] Update bindings to Xcode 14.3
dalexsoto Mar 27, 2023
bce4029
[authenticationservices] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
1cd5df4
[AppKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9c6cb83
[AVRouting] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
c5b245d
[BackgroundAssets] Update bindings to Xcode 13.3 Beta 2
dalexsoto Mar 27, 2023
b6a3a68
[CarPlay] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
ef27e82
[CoreFoundation] Cleanup xtro as nothing to be done here
dalexsoto Mar 27, 2023
15a5a11
[CoreLocation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
13520e7
[CoreML] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
29236d6
[CoreWLAN] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
26d01de
[FileProvider] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
277709e
[Foundation] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
39f0b6e
[GameKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
a33dd4d
[HealthKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
d662dc2
[HomeKit] [ImageIO] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
e5459da
[Intents] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
089de71
[JavaScriptCore] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
9371cd8
[MediaAccessibility] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
df2b018
[Network] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
abedd33
[NetworkExtension] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
1b4bcf0
[PassKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
304b8fd
[PencilKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
10a79c1
[SensorKit] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
47d553d
[ThreadNetwork] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
49b5760
[UIKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
d282577
[VideoSubscriberAccount] Bump bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
46eba0b
[WebKit] Update bindings to Xcode 14.3 Beta 2
dalexsoto Mar 27, 2023
e7e104a
Auto-format source code
Mar 27, 2023
8e45b4a
Apply suggestions from code review
dalexsoto Mar 27, 2023
29cf447
[tests] Add more accepted public symbols to the Xamarin.Tests.Misc.Ve…
rolfbjarne Mar 27, 2023
d69d091
Xcode 14.3 requires macOS 13.0+.
rolfbjarne Mar 27, 2023
1a58c42
[xcode14.3] Update bidnings to Xcode 14.3 RC and fix tests
dalexsoto Mar 27, 2023
7b513c9
[CI] Ignore provisioning when building as they are not needed
dalexsoto Mar 27, 2023
c852faa
[xcode14.3] Update to Xcode 14.3 Release Candidate 2
dalexsoto Mar 28, 2023
aea464d
[versions] Bump legacy versions to make room for stable
dalexsoto Mar 28, 2023
78ce887
[CI] Ignore simulators on build
dalexsoto Mar 28, 2023
2e0e49f
[tests] Update BuildWithObjcArcFlag test to cope with breaking change…
rolfbjarne Mar 29, 2023
9108f05
Don't try to figure out if we have the simulators we need or not.
rolfbjarne Mar 29, 2023
1822b43
Make this the release/6.0.4xx-xcode14.3 release branch.
rolfbjarne Mar 30, 2023
3ee4c21
Update xtro.
rolfbjarne 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
2 changes: 0 additions & 2 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,6 @@
/src/watchkit.cs @rolfbjarne
/src/WebKit
/src/webkit.cs
/src/WKWebKit
/src/wkwebkit.cs

/tests/xharness @rolfbjarne @mandel-macaque
/tests/xtro-sharpie
Expand Down
10 changes: 5 additions & 5 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ endif

## If this branch is a release branch, set NUGET_RELEASE_BRANCH to the exact branch name (so that any other branches won't become release branches just by branching off from a release branch).
## Example: release/6.0.3xx
NUGET_RELEASE_BRANCH=release/6.0.4xx-xcode14.2
NUGET_RELEASE_BRANCH=release/6.0.4xx-xcode14.3

## If this is a pre-release (alpha, beta, rc, xcode, etc.) branch, set NUGET_HARDCODED_PRERELASE_BRANCH to the exact branch name. Also set NUGET_HARDCODED_PRELEASE_IDENTIFIER to the prerelease identifier to use.
## Example:
Expand Down Expand Up @@ -214,9 +214,9 @@ MACCATALYST_MSI_VERSION_REV=$(shell expr 45662 + $(MACCATALYST_NUGET_COMMIT_DIST
MACCATALYST_MSI_VERSION=127.251.$(MACCATALYST_MSI_VERSION_REV)

# 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 @@ -251,7 +251,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.1.1.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.0.0.$(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 @@ -66,11 +66,11 @@ MAC_PACKAGE_VERSION=9.0.0.$(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)
# When bumping the major macOS version in MACOS_NUGET_VERSION also update the macOS version where we execute on bots in jenkins/Jenkinsfile (in the 'node' element)

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
4 changes: 2 additions & 2 deletions mk/xamarin.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ MONO_BRANCH := $(shell cd $(MONO_PATH) 2> /dev/null && git symbolic-ref --sho
endif

ifdef ENABLE_XAMARIN
NEEDED_MACCORE_VERSION := 0837e7caffb2e42efcd183cb1d71998fb6022e2c
NEEDED_MACCORE_BRANCH := xcode14
NEEDED_MACCORE_VERSION := 52cb0860321f80c36ae2e1733c377b889ec8736b
NEEDED_MACCORE_BRANCH := main

MACCORE_DIRECTORY := maccore
MACCORE_MODULE := git@github.com:xamarin/maccore.git
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 @@ -123,6 +123,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 @@ -527,6 +527,12 @@ public enum HKFhirResourceType {
[iOS (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 @@ -549,6 +555,10 @@ public enum HKClinicalTypeIdentifier {
[Watch (7, 0), iOS (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 @@ -315,4 +315,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 @@ -291,5 +291,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 @@ -2605,6 +2605,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
1 change: 0 additions & 1 deletion src/WebKit/.gitignore

This file was deleted.

2 changes: 1 addition & 1 deletion src/WKWebKit/Defs.cs → src/WebKit/Defs.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// WKWebKit/Defs.cs
// WebKit/Defs.cs
//
// Authors:
// Aaron Bockover (abock@xamarin.com)
Expand Down
4 changes: 4 additions & 0 deletions src/WebKit/DomCssRuleList.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#if __MACOS__

#nullable enable

namespace WebKit {
Expand All @@ -10,3 +12,5 @@ public DomCssRule this [int index] {
}
}
}

#endif // __MACOS__
4 changes: 4 additions & 0 deletions src/WebKit/DomHelpers.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#if __MACOS__

#nullable enable

using System;
Expand All @@ -14,3 +16,5 @@ public partial class DomHtmlOptionsCollection {
public DomNode this [uint index] { get { return this.GetItem(index); } }
}
}

#endif // __MACOS__
4 changes: 4 additions & 0 deletions src/WebKit/DomNode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

#if __MACOS__

#nullable enable

using System;
Expand Down Expand Up @@ -100,3 +102,5 @@ public DomEventListener AddEventListener (string type, Action<DomEvent> callback
}
}
}

#endif // __MACOS__
4 changes: 4 additions & 0 deletions src/WebKit/Enumerators.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#if __MACOS__

#nullable enable

using System;
Expand Down Expand Up @@ -120,3 +122,5 @@ IEnumerator IEnumerable.GetEnumerator () {
}
}
}

#endif // __MACOS__
Loading