Skip to content

Commit

Permalink
[xcode16] Make Xcode 16 beta 1 work. (#20774)
Browse files Browse the repository at this point in the history
  • Loading branch information
rolfbjarne committed Jul 9, 2024
2 parents 6ac0fe1 + 886d48d commit f69a6d5
Show file tree
Hide file tree
Showing 555 changed files with 33,576 additions and 2,663 deletions.
26 changes: 13 additions & 13 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,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=15.2
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_15.2.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_15.2.0.app/Contents/Developer
XCODE_VERSION=16.0
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_16-beta.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_16.0.0-beta.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)

# We define stable Xcode as the Xcode app being named like "Xcode_#.#[.#].app"
Expand Down Expand Up @@ -258,9 +258,9 @@ MIN_CMAKE_URL=https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.dmg
MIN_CMAKE_VERSION=2.8.8

# ObjectiveSharpie min/max versions
MIN_SHARPIE_VERSION=3.5.76
MAX_SHARPIE_VERSION=3.5.99
MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/87c92e02-3d02-45de-bdd5-41721ed5bfc9/60cd0050e247aa99da79a52ef3228f32/objectivesharpie-3.5.76.pkg
MIN_SHARPIE_VERSION=3.5.113
MAX_SHARPIE_VERSION=3.5.999
MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/79528d65-b59e-43c7-9db9-060cffe87e07/1938e9ae657b5341c0ec2cddf10ac0d4/objectivesharpie-3.5.113.pkg

# Minimum OSX versions for building XI/XM
MIN_OSX_BUILD_VERSION=13.0
Expand Down Expand Up @@ -300,13 +300,13 @@ DOTNET_MIN_MACCATALYST_SDK_VERSION=13.1
DOTNET_MIN_MACOS_SDK_VERSION=10.15

# The min simulator version available in the Xcode we're using
MIN_IOS_SIMULATOR_VERSION=14.3
MIN_WATCHOS_SIMULATOR_VERSION=7.1
MIN_IOS_SIMULATOR_VERSION=15.0
MIN_WATCHOS_SIMULATOR_VERSION=8.0
# This is the iOS version that matches the watchOS version (i.e same Xcode)
MIN_WATCHOS_COMPANION_SIMULATOR_VERSION=14.5
MIN_TVOS_SIMULATOR_VERSION=14.0
MIN_WATCHOS_COMPANION_SIMULATOR_VERSION=15.0
MIN_TVOS_SIMULATOR_VERSION=15.0
# These are the simulator package ids for the versions above
EXTRA_SIMULATORS=com.apple.pkg.iPhoneSimulatorSDK14_3 com.apple.pkg.AppleTVSimulatorSDK14_0 com.apple.pkg.iPhoneSimulatorSDK14_5 com.apple.pkg.WatchSimulatorSDK7_1
EXTRA_SIMULATORS=com.apple.pkg.AppleTVSimulatorSDK15_0 com.apple.pkg.iPhoneSimulatorSDK15_0 com.apple.pkg.WatchSimulatorSDK8_0

INCLUDE_IOS=1
INCLUDE_MAC=1
Expand Down Expand Up @@ -476,8 +476,8 @@ SIMULATORWATCH_OBJC_CFLAGS = $(SIMULATORWATCH_CFLAGS) $(COMMON_SIMULATOR_OBJC_
SIMULATORWATCH64_OBJC_CFLAGS = $(SIMULATORWATCH64_CFLAGS) $(COMMON_SIMULATOR_OBJC_CFLAGS)

DEVICEWATCH_SDK = $(XCODE_DEVELOPER_ROOT)/Platforms/WatchOS.platform/Developer/SDKs/WatchOS$(WATCH_SDK_VERSION).sdk
DEVICEWATCH_CFLAGS = -arch armv7k -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES)
DEVICEWATCH64_32_CFLAGS = -arch arm64_32 -mwatchos-version-min=$(MIN_WATCHOS64_32_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES)
DEVICEWATCH_CFLAGS = -arch armv7k -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) $(IOS_COMMON_DEFINES)
DEVICEWATCH64_32_CFLAGS = -arch arm64_32 -mwatchos-version-min=$(MIN_WATCHOS64_32_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) $(IOS_COMMON_DEFINES)
DEVICEWATCH_OBJC_CFLAGS = $(DEVICEWATCH_CFLAGS) $(DEVICE_OBJC_CFLAGS)
DEVICEWATCH64_32_OBJC_CFLAGS = $(DEVICEWATCH64_32_CFLAGS) $(DEVICE_OBJC_CFLAGS)

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=17.3.0.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.3.0.$(MAC_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION=17.99.0.$(IOS_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=9.99.0.$(MAC_COMMIT_DISTANCE)

#
# ** NuGet package version numbers **
Expand All @@ -65,11 +65,11 @@ MAC_PACKAGE_VERSION=9.3.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)

IOS_NUGET_OS_VERSION=17.2
TVOS_NUGET_OS_VERSION=17.2
WATCHOS_NUGET_OS_VERSION=10.2
MACOS_NUGET_OS_VERSION=14.2
MACCATALYST_NUGET_OS_VERSION=17.2
IOS_NUGET_OS_VERSION=18.0
TVOS_NUGET_OS_VERSION=18.0
WATCHOS_NUGET_OS_VERSION=11.0
MACOS_NUGET_OS_VERSION=15.0
MACCATALYST_NUGET_OS_VERSION=18.0


# In theory we should define 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
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
<key>tvOS</key>
<array>
Expand Down Expand Up @@ -70,6 +71,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
<key>watchOS</key>
<array>
Expand All @@ -96,6 +98,7 @@
<string>9.4</string>
<string>10.0</string>
<string>10.2</string>
<string>11.0</string>
</array>
<key>MacCatalyst</key>
<array>
Expand All @@ -116,6 +119,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>MacCatalystVersionMap</key>
Expand Down
1 change: 1 addition & 0 deletions Versions-mac.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<string>13.3</string>
<string>14.0</string>
<string>14.2</string>
<string>15.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 2 additions & 0 deletions builds/Versions-MacCatalyst.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand All @@ -51,6 +52,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>MacCatalystVersionMap</key>
Expand Down
2 changes: 2 additions & 0 deletions builds/Versions-iOS.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -85,6 +86,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 2 additions & 0 deletions builds/Versions-macOS.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<string>13.3</string>
<string>14.0</string>
<string>14.2</string>
<string>15.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand All @@ -48,6 +49,7 @@
<string>13.3</string>
<string>14.0</string>
<string>14.2</string>
<string>15.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 2 additions & 0 deletions builds/Versions-tvOS.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -75,6 +76,7 @@
<string>16.4</string>
<string>17.0</string>
<string>17.2</string>
<string>18.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6211" systemVersion="14A298i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="9046" systemVersion="14F27" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6204"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9035" />
</dependencies>
<scenes/>
</document>
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 := 05609a34411fc8a0bc5224dabd2e6897e65167cf
NEEDED_MACCORE_VERSION := be56c3f82e4071b5df0f7fbcdde22f164c915234
NEEDED_MACCORE_BRANCH := main

MACCORE_DIRECTORY := maccore
Expand Down
3 changes: 3 additions & 0 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/XcodeCompilerToolTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ IEnumerable<string> GetTargetDevices (IPhoneDeviceType devices, bool watch, bool
if (watch)
yield return "watch";

if ((devices & IPhoneDeviceType.TV) != 0)
yield return "tv";

yield break;
}

Expand Down
6 changes: 6 additions & 0 deletions src/CoreImage/CIFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -714,6 +714,12 @@ internal static CIFilter FromName (string? filterName, IntPtr handle)
return new CIBlendWithBlueMask (handle);
case "CIBlendWithRedMask":
return new CIBlendWithRedMask (handle);
case "CIMaximumScaleTransform":
return new CIMaximumScaleTransform (handle);
case "CIToneMapHeadroom":
return new CIToneMapHeadroom (handle);
case "CIAreaBoundsRed":
return new CIAreaBoundsRed (handle);
default:
throw new NotImplementedException (String.Format ("Unknown filter type returned: `{0}', returning a default CIFilter", filterName));
}
Expand Down
17 changes: 17 additions & 0 deletions src/UIKit/Compat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
//

using System;
using System.ComponentModel;

using CoreGraphics;
using Foundation;
using ObjCRuntime;
Expand Down Expand Up @@ -207,4 +209,19 @@ public virtual void TextContainerChangedTextView (NSTextContainer container)
}
}
#endif

#if !XAMCORE_5_0 && IOS
public partial class UIDocViewController {
[Obsolete ("Do not use; this constructor doesn't work.")]
[EditorBrowsable (EditorBrowsableState.Never)]
public UIDocViewController ()
: base (ThrowInvalidOperationException ())
{
}
static NSObjectFlag ThrowInvalidOperationException ()
{
throw new InvalidOperationException ("Do not call this constructor, it may crash the app.");
}
}
#endif
}
59 changes: 59 additions & 0 deletions src/UIKit/NSTextAttachmentContainer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#if __WATCHOS__

using System;
using System.Drawing;
using System.Diagnostics;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Diagnostics.CodeAnalysis;
using UIKit;
using CoreML;
using Network;
using SceneKit;
using CoreVideo;
using CoreMedia;
using SpriteKit;
using Foundation;
using ObjCRuntime;
using MediaPlayer;
using CoreGraphics;
using CoreLocation;
using AVFoundation;
using CoreFoundation;

#nullable enable

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

namespace UIKit {
[EditorBrowsable (EditorBrowsableState.Never)]
[Obsolete ("This type is not available on this platform.")]
public partial interface INSTextAttachmentContainer : INativeObject, IDisposable
{
}

[EditorBrowsable (EditorBrowsableState.Never)]
[Obsolete ("This type is not available on this platform.")]
public class NSTextAttachmentContainer : NSObject, INSTextAttachmentContainer {
public NSTextAttachmentContainer () : base (NSObjectFlag.Empty)
{
throw new PlatformNotSupportedException (Constants.UnavailableOnWatchOS);
}

protected NSTextAttachmentContainer (NSObjectFlag t) : base (t)
{
throw new PlatformNotSupportedException (Constants.UnavailableOnWatchOS);
}

protected internal NSTextAttachmentContainer (IntPtr handle) : base (handle)
{
throw new PlatformNotSupportedException (Constants.UnavailableOnWatchOS);
}

}
}

#endif // __WATCHOS__
2 changes: 1 addition & 1 deletion src/authenticationservices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2260,7 +2260,7 @@ interface ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput {

[NoWatch, NoTV, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)]
[BaseType (typeof (NSObject))]
interface ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput {
interface ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput : NSCopying, NSSecureCoding {
[Export ("isSupported")]
bool IsSupported { get; }
}
Expand Down
Loading

3 comments on commit f69a6d5

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

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

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Detect API changes'

Pipeline on Agent
Hash: f69a6d5e36422ce3ed225dcd51d39e344d8233d0 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

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

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Build packages'

Pipeline on Agent
Hash: f69a6d5e36422ce3ed225dcd51d39e344d8233d0 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

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

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Build macOS tests'

Pipeline on Agent
Hash: f69a6d5e36422ce3ed225dcd51d39e344d8233d0 [CI build]

Please sign in to comment.