8000 [xcode26.0] Initial Xcode 26.0 support by dalexsoto · Pull Request #23013 · dotnet/macios · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[xcode26.0] Initial Xcode 26.0 support #23013

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

Open
wants to merge 3 commits into
base: xcode26.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,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=16.4
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_16.4.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_16.4.0.app/Contents/Developer
XCODE_VERSION=26.0
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_26_beta.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode_26.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
8 changes: 4 additions & 4 deletions Make.versions
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
# IMPORTANT: There must be *no* managed API differences unless the two first
# numbers (major.minor) changes.

IOS_NUGET_OS_VERSION=18.5
TVOS_NUGET_OS_VERSION=18.5
MACOS_NUGET_OS_VERSION=15.5
MACCATALYST_NUGET_OS_VERSION=18.5
IOS_NUGET_OS_VERSION=26.0
TVOS_NUGET_OS_VERSION=26.0
MACOS_NUGET_OS_VERSION=26.0
MACCATALYST_NUGET_OS_VERSION=26.0

# The following are the OS versions we first supported with the current .NET version.
# These versions must *not* change with minor .NET updates, only major .NET releases.
Expand Down
10 changes: 10 additions & 0 deletions builds/Versions-MacCatalyst.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -58,6 +59,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.0</string>
</array>
</dict>
<key>MacCatalystVersionMap</key>
Expand Down Expand Up @@ -106,6 +108,14 @@
<string>15.1</string>
<key>18.2</key>
<string>15.2</string>
<key>18.3</key>
<string>15.3</string>
<key>18.4</key>
<string>15.4</string>
<key>18.5</key>
<string>15.5</string>
<key>26.0</key>
<string>26.0</string>
</dict>
<key>RecommendedXcodeVersion</key>
<string>@XCODE_VERSION@</string>
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 @@ -41,6 +41,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -94,6 +95,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.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 @@ -26,6 +26,7 @@
<string>15.3</string>
<string>15.4</string>
<string>15.5</string>
<string>26.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -58,6 +59,7 @@
<string>15.3</string>
<string>15.4</string>
<string>15.5</string>
<string>26.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 @@ -36,6 +36,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.0</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -84,6 +85,7 @@
<string>18.3</string>
<string>18.4</string>
<string>18.5</string>
<string>26.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
2 changes: 1 addition & 1 deletion mk/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ macos_DEFINES=-DMONOMAC
# We can probably remove this flag once we require developers to use Xcode 14.
# Ref: https://github.com/dotnet/macios/issues/16223
OBJC_CFLAGS=-ObjC++ -std=c++14 -fno-exceptions -fno-objc-msgsend-selector-stubs -fobjc-abi-version=2 -fobjc-legacy-dispatch
CFLAGS= -Wall -fms-extensions -Werror -Wconversion -Wdeprecated -Wuninitialized -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -g -I.
CFLAGS= -Wall -fms-extensions -Werror -Wconversion -Wdeprecated -Wuninitialized -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -g -I. -Wno-objc-protocol-property-synthesis
SWIFTFLAGS=-g -emit-library

SWIFT_TOOLCHAIN_iossimulator=iphonesimulator
Expand Down
4 changes: 2 additions & 2 deletions mk/xamarin.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ifdef ENABLE_XAMARIN
NEEDED_ADR_VERSION := 3a7669a464234b044f14de348860a744ec2f3ebb
NEEDED_ADR_BRANCH := main
NEEDED_ADR_VERSION := 4eaa26dc8a9df5638ed133529224dd697a2f7755
NEEDED_ADR_BRANCH := xcode26

ADR_DIRECTORY := macios-adr
ADR_MODULE := https://devdiv@dev.azure.com/devdiv/DevDiv/_git/macios-adr
Expand Down
24 changes: 24 additions & 0 deletions src/ObjCRuntime/SystemVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,30 @@ internal static bool IsAtLeastXcode16_4 {
}
}
static bool? is_at_least_xcode_16_4;

[SupportedOSPlatformGuard ("ios26.0")]
[SupportedOSPlatformGuard ("maccatalyst26.0")]
[SupportedOSPlatformGuard ("macos26.0")]
[SupportedOSPlatformGuard ("tvos26.0")]
internal static bool IsAtLeastXcode26 {
get {
if (is_at_least_xcode_26 is null) {
#if __MACOS__
is_at_least_xcode_26 = OperatingSystem.IsMacOSVersionAtLeast (26, 0);
#elif __MACCATALYST__
is_at_least_xcode_26 = OperatingSystem.IsMacCatalystVersionAtLeast (26, 0);
#elif __IOS__
is_at_least_xcode_26 = OperatingSystem.IsIOSVersionAtLeast (26, 0);
#elif __TVOS__
is_at_least_xcode_26 = OperatingSystem.IsTvOSVersionAtLeast (26, 0);
#else
#error Unknown platform
#endif
}
return is_at_least_xcode_26.Value;
}
}
static bool? is_at_least_xcode_26;
}
}
#endif
15 changes: 15 additions & 0 deletions tests/common/TestRuntime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,21 @@ public static bool CheckExactXcodeVersion (int major, int minor, int beta = 0)
public static bool CheckXcodeVersion (int major, int minor, int build = 0)
{
switch (major) {
case 26:
switch (minor) {
case 0:
#if __TVOS__
return ChecktvOSSystemVersion (26, 0);
#elif __IOS__
return CheckiOSSystemVersion (26, 0);
#elif MONOMAC
return CheckMacSystemVersion (26, 0);
#else
throw new NotImplementedException ($"Missing platform case for Xcode {major}.{minor}");
#endif
default:
throw new NotImplementedException ($"Missing version logic for checking for Xcode {major}.{minor}");
}
case 16:
switch (minor) {
case 0:
Expand Down
26 changes: 13 additions & 13 deletions tools/common/SdkVersions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@

namespace Xamarin {
static class SdkVersions {
public const string Xcode = "16.4";
public const string OSX = "15.5";
public const string iOS = "18.5";
public const string TVOS = "18.5";
public const string MacCatalyst = "18.5";
public const string Xcode = "26.0";
public const string OSX = "26.0";
public const string iOS = "26.0";
public const string TVOS = "26.0";
public const string MacCatalyst = "26.0";

public const string MinOSX = "12.0";
public const string MiniOS = "12.2";
Expand All @@ -32,16 +32,16 @@ static class SdkVersions {
public const string MiniOSSimulator = "16.0";
public const string MinTVOSSimulator = "16.0";

public const string MaxiOSSimulator = "18.5";
public const string MaxTVOSSimulator = "18.5";
public const string MaxiOSSimulator = "26.0";
public const string MaxTVOSSimulator = "26.0";

public const string MaxiOSDeploymentTarget = "18.5";
public const string MaxTVOSDeploymentTarget = "18.5";
public const string MaxiOSDeploymentTarget = "26.0";
public const string MaxTVOSDeploymentTarget = "26.0";

public const string TargetPlatformVersionExecutableiOS = "18.5";
public const string TargetPlatformVersionExecutabletvOS = "18.5";
public const string TargetPlatformVersionExecutablemacOS = "15.5";
public const string TargetPlatformVersionExecutableMacCatalyst = "18.5";
public const string TargetPlatformVersionExecutableiOS = "26.0";
public const string TargetPlatformVersionExecutabletvOS = "26.0";
public const string TargetPlatformVersionExecutablemacOS = "26.0";
public const string TargetPlatformVersionExecutableMacCatalyst = "26.0";

public const string TargetPlatformVersionLibraryiOS = "18.0";
public const string TargetPlatformVersionLibrarytvOS = "18.0";
Expand Down
2 changes: 1 addition & 1 deletion tools/devops/automation/build-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ extends:
stages:
- template: templates/main-stage.yml
parameters:
xcodeChannel: Stable
xcodeChannel: Beta
macOSName: ${{ parameters.macOSName }}
isPR: false
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
2 changes: 1 addition & 1 deletion tools/devops/automation/build-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ extends:
stages:
- template: templates/main-stage.yml
parameters:
xcodeChannel: Stable
xcodeChannel: Beta
macOSName: ${{ parameters.macOSName }}
isPR: true
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
B93C
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ variables:
stages:
- template: ../api-diff-stage.yml
parameters:
xcodeChannel: Stable
xcodeChannel: Beta
macOSName: ${{ parameters.macOSName }}
isPR: ${{ parameters.isPR }}
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ variables:
stages:
- template: ../main-stage.yml
parameters:
xcodeChannel: Stable
xcodeChannel: Beta
macOSName: ${{ parameters.macOSName }}
isPR: ${{ parameters.isPR }}
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ variables:
stages:
- template: ../tests-stage.yml
parameters:
xcodeChannel: Stable
xcodeChannel: Beta
macOSName: ${{ parameters.macOSName }}
isPR: ${{ parameters.isPR }}
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
Loading
0