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

[xcode16] Make Xcode 16 beta 1 work. #20774

Merged
merged 34 commits into from
Jul 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4b5e6c9
Xcode 16, here we come
rolfbjarne Jun 10, 2024
fe7a770
[UIKit] Remove NSTextAttachmentContainer from watchOS.
rolfbjarne Jun 10, 2024
c2845a5
[tools] Don't register any AssetsLibrary classes, the framework is de…
rolfbjarne Jun 10, 2024
fb42151
[tests] Update cecil-tests with known documentation failures.
rolfbjarne Jun 10, 2024
f52171c
[devops] Use the beta Xcode channel.
rolfbjarne Jun 17, 2024
7bc2ce8
Bump maccore to get ADR fix.
rolfbjarne Jun 17, 2024
1a14f34
Maybe not use sudo? Also a bit more logging output.
rolfbjarne Jun 25, 2024
89dd543
A bit more debug spew.
rolfbjarne Jun 25, 2024
1074e58
[siminstaller] Update to not require Xcode's Info.plist to have a DVT…
rolfbjarne Jun 25, 2024
dd6ac5a
[system-dependencies] Clean up processes a bit.
rolfbjarne Jun 25, 2024
dedeeba
[system-dependencies] Split simulator installation.
rolfbjarne Jun 25, 2024
bb1171f
[tests] Fix the GetMlaunchRunArguments test to not require an update …
rolfbjarne Jun 26, 2024
29ad609
[monotouch-test] Adjust MonoTouchFixtures.HealthKit.CdaDocumentSample…
rolfbjarne Jun 26, 2024
d1d7e74
[tests] Skip the linker warning about -ld_classic going away in legac…
rolfbjarne Jun 26, 2024
464c700
[tests] Ignore a watchOS test that makes clang crash.
rolfbjarne Jun 26, 2024
b7d3e54
[mtouch] Don't pass -fembed-bitcode[-marker] to the compiler on later…
rolfbjarne Jun 26, 2024
30201b3
[UIKit] The default UIDocViewController constructor is unusable, so p…
rolfbjarne Jun 26, 2024
3343269
[monotouch-test] Run AudioComponentTest.Validate in a background thread.
rolfbjarne Jun 26, 2024
093b310
[monotouch-test] Misc adjustment for Xcode 16 beta 1.
rolfbjarne Jun 26, 2024
e4bebf0
[tests] Implement Xcode 16 version check for TestRuntime.CheckXcodeVe…
rolfbjarne Jun 27, 2024
0384a29
[monotouch-test] Simplify CalendarTest to allow multiple values for E…
rolfbjarne Jun 27, 2024
88ebfde
[tests] Adjust ProtocolTest to ignore any '?' attributes.
rolfbjarne Jun 27, 2024
34a06c8
[msbuild] Fix computing target device for tvOS.
rolfbjarne Jun 27, 2024
d5106e5
[AuthenticationServices] Add new protocol conformances in Xcode 16 be…
rolfbjarne Jul 2, 2024
2340af0
[introspection] Update exceptions for Xcode 16 beta 1.
rolfbjarne Jul 2, 2024
46fb027
[CoreImage] Implement Xcode 16.0 beta 1 and beta 2 changes.
rolfbjarne Jun 26, 2024
c36628c
[introspection] Add ignore for UITextLoupeSession's ctor.
rolfbjarne Jul 4, 2024
9a92206
[devops] Provision older simulators for the tests.
rolfbjarne Jul 5, 2024
1f6eff4
[xtro] Bump Objective-Sharpie.
rolfbjarne Jul 9, 2024
6b42736
[xtro] Remove todos for deprecated APIs.
rolfbjarne Jul 4, 2024
7a26aae
Add Xcode 16 b1 todos.
rolfbjarne Jul 9, 2024
cbd00fd
[devops] Bump macOS requirement to Sonoma for remote testing.
rolfbjarne Apr 19, 2024
4c5d826
Update xtro.
rolfbjarne Jul 9, 2024
886d48d
Merge remote-tracking branch 'origin/xcode16' into dev/rolf/xcode16-rolf
rolfbjarne Jul 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
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