Skip to content

Commit

Permalink
[xcode14.2] Bump bindings to Xcode 14.2 (#17030)
Browse files Browse the repository at this point in the history
Backport of #17010

Co-authored-by: Alex Soto <alex@alexsoto.me>
  • Loading branch information
1 parent d4e755c commit 1e59f89
Show file tree
Hide file tree
Showing 34 changed files with 14,161 additions and 13,868 deletions.
6 changes: 3 additions & 3 deletions Make.config
Expand Up @@ -205,9 +205,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.1
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_14.1.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_14.1.0.app/Contents/Developer
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_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
10 changes: 5 additions & 5 deletions Make.versions
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.2.0.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.1.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.1
IOS_NUGET_OS_VERSION=16.2
TVOS_NUGET_OS_VERSION=16.1
WATCHOS_NUGET_OS_VERSION=9.1
MACOS_NUGET_OS_VERSION=13.0
MACCATALYST_NUGET_OS_VERSION=16.1
MACOS_NUGET_OS_VERSION=13.1
MACCATALYST_NUGET_OS_VERSION=16.2


# 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
4 changes: 4 additions & 0 deletions Versions-ios.plist.in
Expand Up @@ -51,6 +51,7 @@
<string>15.4</string>
<string>16.0</string>
<string>16.1</string>
<string>16.2</string>
</array>
<key>tvOS</key>
<array>
Expand Down Expand Up @@ -130,6 +131,7 @@
<string>15.2</string>
<string>15.4</string>
<string>16.1</string>
<string>16.2</string>
</array>
</dict>
<key>MacCatalystVersionMap</key>
Expand Down Expand Up @@ -160,6 +162,8 @@
<string>12.3</string>
<key>16.1</key>
<string>13.0</string>
<key>16.2</key>
<string>13.1</string>
</dict>
<key>RecommendedXcodeVersion</key>
<string>@XCODE_VERSION@</string>
Expand Down
1 change: 1 addition & 0 deletions Versions-mac.plist.in
Expand Up @@ -26,6 +26,7 @@
<string>12.1</string>
<string>12.3</string>
<string>13.0</string>
<string>13.1</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 2 additions & 0 deletions src/BusinessChat/Enums.cs
Expand Up @@ -10,6 +10,8 @@ public enum BCChatButtonStyle : long {
Dark,
}

[Deprecated (PlatformName.MacOSX, 13, 1)]
[Deprecated (PlatformName.iOS, 16, 2)]
[Mac (10,13,4), iOS (11,3)]
public enum BCParameterName {

Expand Down
4 changes: 4 additions & 0 deletions src/businesschat.cs
Expand Up @@ -24,6 +24,8 @@

namespace BusinessChat {

[Deprecated (PlatformName.MacOSX, 13, 1)]
[Deprecated (PlatformName.iOS, 16, 2)]
[Mac (10,13,4), iOS (11,3)]
[BaseType (typeof(UIControl))]
[DisableDefaultCtor]
Expand All @@ -34,6 +36,8 @@ interface BCChatButton {
}


[Deprecated (PlatformName.MacOSX, 13, 1)]
[Deprecated (PlatformName.iOS, 16, 2)]
[Mac (10,13,4), iOS (11,3)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
Expand Down
8 changes: 8 additions & 0 deletions src/gamekit.cs
Expand Up @@ -1330,6 +1330,14 @@ interface GKMatchmaker {
[iOS (8,0), Mac (10,10)]
[Export ("startBrowsingForNearbyPlayersWithHandler:")]
void StartBrowsingForNearbyPlayers ([NullAllowed] Action<GKPlayer, bool> handler);

[Mac (13,1), iOS (16,2), NoTV]
[Export ("startGroupActivityWithPlayerHandler:")]
void StartGroupActivity (Action<GKPlayer> handler);

[Mac (13,1), iOS (16,2), NoTV]
[Export ("stopGroupActivity")]
void StopGroupActivity ();
}

[NoWatch]
Expand Down
115 changes: 115 additions & 0 deletions src/intents.cs
Expand Up @@ -2070,6 +2070,30 @@ public enum INStartCallCallRecordToCallBackUnsupportedReason : long {
NoMatchingCall = 1,
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Native]
public enum INAnswerCallIntentResponseCode : long {
Unspecified = 0,
Ready,
ContinueInApp,
InProgress,
Success,
Failure,
FailureRequiringAppLaunch,
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Native]
public enum INHangUpCallIntentResponseCode : long {
Unspecified = 0,
Ready,
InProgress,
Success,
Failure,
FailureRequiringAppLaunch,
FailureNoCallToHangUp,
}

[iOS (10, 0)]
[Mac (10, 12, 0)]
[Watch (3, 2)]
Expand Down Expand Up @@ -2194,6 +2218,14 @@ public enum INIntentIdentifier {
[MacCatalyst (14,0)]
[Field ("INStartCallIntentIdentifier")]
StartCall,

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Field ("INAnswerCallIntentIdentifier")]
AnswerCall,

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Field ("INHangUpCallIntentIdentifier")]
HangUpCall,
}

[iOS (10, 2)]
Expand Down Expand Up @@ -14436,6 +14468,89 @@ interface INCallGroup : NSCopying, NSSecureCoding {
string GroupId { get; }
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[BaseType (typeof (INIntent))]
interface INAnswerCallIntent {

[Export ("initWithAudioRoute:callIdentifier:")]
[DesignatedInitializer]
IntPtr Constructor (INCallAudioRoute audioRoute, [NullAllowed] string callIdentifier);

[NoTV, NoMac, NoiOS]
[Export ("audioRoute", ArgumentSemantic.Assign)]
INCallAudioRoute AudioRoute { get; }

[NoWatch, NoTV, NoMac, NoiOS]
[NullAllowed, Export ("callIdentifier")]
string CallIdentifier { get; }
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Protocol]
interface INAnswerCallIntentHandling {

[Abstract]
[Export ("handleAnswerCall:completion:")]
void HandleAnswerCall (INAnswerCallIntent intent, Action<INAnswerCallIntentResponse> completion);

[Export ("confirmAnswerCall:completion:")]
void ConfirmAnswerCall (INAnswerCallIntent intent, Action<INAnswerCallIntentResponse> completion);
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[BaseType (typeof (INIntentResponse))]
[DisableDefaultCtor]
interface INAnswerCallIntentResponse {

[Export ("initWithCode:userActivity:")]
[DesignatedInitializer]
IntPtr Constructor (INAnswerCallIntentResponseCode code, [NullAllowed] NSUserActivity userActivity);

[Export ("code")]
INAnswerCallIntentResponseCode Code { get; }

[NoMac]
[NullAllowed]
[Export ("callRecords", ArgumentSemantic.Copy)]
INCallRecord[] CallRecords { get; set; }
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[BaseType (typeof (INIntent))]
interface INHangUpCallIntent {

[NoWatch, Mac (13,1), iOS (16,2)]
[Export ("initWithCallIdentifier:")]
[DesignatedInitializer]
IntPtr Constructor ([NullAllowed] string callIdentifier);

[NoWatch, NoMac, NoiOS]
[NullAllowed, Export ("callIdentifier")]
string CallIdentifier { get; }
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[Protocol]
interface INHangUpCallIntentHandling {

[Abstract]
[Export ("handleHangUpCall:completion:")]
void HandleHangUpCall (INHangUpCallIntent intent, Action<INHangUpCallIntentResponse> completion);

[Export ("confirmHangUpCall:completion:")]
void ConfirmHangUpCall (INHangUpCallIntent intent, Action<INHangUpCallIntentResponse> completion);
}

[NoWatch, NoTV, Mac (13,1), iOS (16,2), MacCatalyst (16,2)]
[BaseType (typeof (INIntentResponse))]
[DisableDefaultCtor]
interface INHangUpCallIntentResponse {

[Export ("initWithCode:userActivity:")]
[DesignatedInitializer]
IntPtr Constructor (INHangUpCallIntentResponseCode code, [NullAllowed] NSUserActivity userActivity);

[Export ("code")]
INHangUpCallIntentResponseCode Code { get; }
}
}
8 changes: 8 additions & 0 deletions src/screencapturekit.cs
Expand Up @@ -86,6 +86,10 @@ interface SCStreamFrameInfoKeys {

[Field ("SCStreamFrameInfoDirtyRects")]
NSString DirtyRects { get; }

[Mac (13,1)]
[Field ("SCStreamFrameInfoScreenRect")]
NSString ScreenRect { get; }
}

[NoiOS, NoTV, NoWatch, Mac (12,3), NoMacCatalyst]
Expand Down Expand Up @@ -125,6 +129,10 @@ interface SCWindow {

[Export ("onScreen")]
bool OnScreen { [Bind ("isOnScreen")] get; }

[Mac (13, 1)]
[Export ("active")]
bool Active { [Bind ("isActive")] get; }
}


Expand Down
6 changes: 6 additions & 0 deletions src/sharedwithyou.cs
Expand Up @@ -28,6 +28,7 @@
#else
using UIKit;
using ICloudSharingControllerDelegate=UIKit.IUICloudSharingControllerDelegate;
using NSMenuItem = Foundation.NSObject;
#endif

#if !NET
Expand Down Expand Up @@ -300,6 +301,11 @@ interface SWCollaborationView
[Export ("headerImage", ArgumentSemantic.Strong)]
UIImage HeaderImage { get; set; }

[NoiOS, NoMacCatalyst]
[Mac (13,1)]
[Export ("menuFormRepresentation")]
NSMenuItem MenuFormRepresentation { get; }

[NoMac]
[Wrap ("WeakCloudSharingControllerDelegate")]
[NullAllowed]
Expand Down
4 changes: 4 additions & 0 deletions src/uikit.cs
Expand Up @@ -24772,6 +24772,10 @@ interface UICalendarViewDelegate
[Export ("calendarView:decorationForDateComponents:")]
[return: NullAllowed]
UICalendarViewDecoration GetDecoration (UICalendarView calendarView, NSDateComponents dateComponents);

[iOS (16,2), MacCatalyst (16,0)]
[Export ("calendarView:didChangeVisibleDateComponentsFrom:")]
void DidChangeVisibleDateComponents (UICalendarView calendarView, NSDateComponents previousDateComponents);
}

[NoWatch, NoTV, iOS (16,0), MacCatalyst (16,0)]
Expand Down

4 comments on commit 1e59f89

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ API diff for current PR / commit

Legacy Xamarin (No breaking changes)
.NET (No breaking changes)

❗ API diff vs stable (Breaking changes)

Legacy Xamarin (:heavy_exclamation_mark: Breaking changes :heavy_exclamation_mark:)
.NET (:heavy_exclamation_mark: Breaking changes :heavy_exclamation_mark:)
Legacy Xamarin (stable) vs .NET

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 1e59f89c9d74d88ded1c1968937034a820d514cc [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ [CI Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌

Failed tests are:

  • dontlink

Pipeline on Agent
Hash: 1e59f89c9d74d88ded1c1968937034a820d514cc [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📚 [CI Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMMINI-053.Monterey'
Hash: 1e59f89c9d74d88ded1c1968937034a820d514cc [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 [CI Build] Test results 🚀

Test results

✅ All tests passed on VSTS: simulator tests.

🎉 All 223 tests passed 🎉

Tests counts

✅ bcl: All 69 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests: All 1 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 7 tests passed. Html Report (VSDrops) Download
✅ framework: All 8 tests passed. Html Report (VSDrops) Download
✅ generator: All 2 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 7 tests passed. Html Report (VSDrops) Download
✅ install_source: All 1 tests passed. Html Report (VSDrops) Download
✅ introspection: All 8 tests passed. Html Report (VSDrops) Download
✅ linker: All 65 tests passed. Html Report (VSDrops) Download
✅ mac_binding_project: All 1 tests passed. Html Report (VSDrops) Download
✅ mmp: All 2 tests passed. Html Report (VSDrops) Download
✅ mononative: All 12 tests passed. Html Report (VSDrops) Download
✅ monotouch: All 23 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ mtouch: All 1 tests passed. Html Report (VSDrops) Download
✅ xammac: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 8 tests passed. Html Report (VSDrops) Download
✅ xtro: All 2 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: [CI build]

Please sign in to comment.