Skip to content
Merged
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
22 changes: 21 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,11 @@ jobs:

build-macos:
name: Build macOS Package And Sample
runs-on: macos-latest
# macos-26 image ships with Xcode 26.x, required by the .NET 10 macOS workload
# (Xamarin.Shared.Sdk targets refuse to build/link with older Xcode). The
# macos-latest label is still pinned to macOS 15 (Xcode 16.x), which causes
# "This version of .NET for macOS requires Xcode 26.0" build errors.
runs-on: macos-26

steps:
- name: Checkout
Expand All @@ -95,6 +99,22 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Select Xcode 26.0
# The .NET 10 macOS workload (Microsoft.macOS.Sdk.net10.0_26.0 26.0.11017)
# pins Xcode to 26.0 exactly. The macos-26 image defaults to a newer Xcode
# (e.g. 26.2), which causes "requires Xcode 26.0" build errors. Switch to
# the Xcode 26.0.x installed on the image. Use the canonical 26.0.1 path
# rather than the /Applications/Xcode_26.0.app symlink — xcrun/xcodebuild
# otherwise fail to resolve the MacOSX SDK ("SDK ... cannot be located",
Comment on lines +102 to +108
# "install_name_tool exited with code 72"). Also run -runFirstLaunch so
# the SDK / command-line components are registered for the new selection.
shell: bash
run: |
sudo xcode-select -s /Applications/Xcode_26.0.1.app
sudo xcodebuild -runFirstLaunch
xcodebuild -version
xcrun --sdk macosx --show-sdk-path

- name: Install macOS workload
shell: bash
run: dotnet workload install macos --skip-manifest-update
Expand Down
32 changes: 30 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ jobs:

pack-nuget-macos:
name: Pack And Publish macOS NuGet
runs-on: macos-latest
# macos-26 ships with Xcode 26.x as required by the .NET 10 macOS workload.
runs-on: macos-26
needs: pack-nuget

steps:
Expand All @@ -147,6 +148,19 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Select Xcode 26.0
# The .NET 10 macOS workload pins Xcode to 26.0 exactly; the macos-26
# image defaults to a newer Xcode that the Xamarin SDK rejects. Use the
# canonical Xcode_26.0.1.app path (not the /Applications/Xcode_26.0.app
# symlink), and run -runFirstLaunch so the MacOSX SDK / command-line
# components are properly registered for the new selection.
shell: bash
run: |
sudo xcode-select -s /Applications/Xcode_26.0.1.app
sudo xcodebuild -runFirstLaunch
xcodebuild -version
xcrun --sdk macosx --show-sdk-path
Comment on lines +151 to +162

- name: Install macOS workload
shell: bash
run: dotnet workload install macos --skip-manifest-update
Expand Down Expand Up @@ -349,7 +363,8 @@ jobs:

publish-samples-macos:
name: Publish macOS Samples
runs-on: macos-latest
# macos-26 ships with Xcode 26.x as required by the .NET 10 macOS workload.
runs-on: macos-26
needs: pack-nuget

steps:
Expand All @@ -361,6 +376,19 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Select Xcode 26.0
# The .NET 10 macOS workload pins Xcode to 26.0 exactly; the macos-26
# image defaults to a newer Xcode that the Xamarin SDK rejects. Use the
# canonical Xcode_26.0.1.app path (not the /Applications/Xcode_26.0.app
# symlink), and run -runFirstLaunch so the MacOSX SDK / command-line
# components are properly registered for the new selection.
shell: bash
run: |
sudo xcode-select -s /Applications/Xcode_26.0.1.app
sudo xcodebuild -runFirstLaunch
xcodebuild -version
xcrun --sdk macosx --show-sdk-path

- name: Install macOS workload
shell: bash
run: dotnet workload install macos --skip-manifest-update
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
<RootNamespace>NativeWebHost.Sample.Mac</RootNamespace>
<AssemblyName>NativeWebHost.Sample.Mac</AssemblyName>
<Version>0.1.0-preview.3</Version>
<ApplicationId>com.iotsharp.nativewebhost.sample.mac</ApplicationId>
<ApplicationTitle>NativeWebHost.Sample.Mac</ApplicationTitle>
<SupportedOSPlatformVersion>$(NativeWebHostMacOSMinimumVersion)</SupportedOSPlatformVersion>
</PropertyGroup>

Expand Down
Loading