diff --git a/.github/workflows/build-samples-todoapp-uno.yml b/.github/workflows/build-samples-todoapp-uno.yml index 8d315617..abf68548 100644 --- a/.github/workflows/build-samples-todoapp-uno.yml +++ b/.github/workflows/build-samples-todoapp-uno.yml @@ -13,14 +13,13 @@ env: # Debug to avoid that overhead consistently, even where it isn't currently an issue. DOTNET_CONFIGURATION: 'Debug' # TodoApp.Uno.csproj is a single Uno.Sdk project with a multi-head TargetFrameworks list - # (net10.0-android;net10.0-ios;net10.0-maccatalyst;net10.0-windows10.0.26100; + # (net10.0-android;net10.0-ios;net10.0-windows10.0.26100; # net10.0-browserwasm;net10.0-desktop). No single runner can build every head (mobile heads # need Android/iOS workloads, the Windows head needs windows-latest, etc.), so each job below # restores/builds one head at a time, scoped via the MSBuild TargetFramework property. UnoProjectFile: 'samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj' AndroidTargetFramework: 'net10.0-android' iOSTargetFramework: 'net10.0-ios' - MacCatalystTargetFramework: 'net10.0-maccatalyst' WindowsTargetFramework: 'net10.0-windows10.0.26100' BrowserWasmTargetFramework: 'net10.0-browserwasm' DesktopTargetFramework: 'net10.0-desktop' @@ -56,8 +55,8 @@ jobs: --configuration ${{ env.DOTNET_CONFIGURATION }} --no-restore - ios-maccatalyst: - # iOS and Mac Catalyst builds both require Xcode, which is only available on macOS runners. + ios: + # The iOS build requires Xcode, which is only available on macOS runners. # Pinned to macos-26 (rather than macos-latest) so the Xcode toolchain doesn't change # underneath us when the macos-latest label moves. macos-26 replaced the previous # (older) macOS image because macOS arm64 jobs on that image repeatedly failed to acquire @@ -68,7 +67,7 @@ jobs: # RequiredXcodeVersion below). See https://github.com/CommunityToolkit/Datasync/issues/627. runs-on: macos-26 env: - # `dotnet workload install ios maccatalyst` with no `--version` resolves the newest published + # `dotnet workload install ios` with no `--version` resolves the newest published # workload set, which can move to an iOS SDK pack that needs an Xcode that isn't on the # runner image yet. As of workload set 10.0.115 that's Microsoft.iOS.Sdk.net10.0_27.2, which # requires Xcode 27.2 (macos-26 only has Xcode 26.x), and the build fails with @@ -100,8 +99,8 @@ jobs: with: dotnet-version: ${{ env.DOTNET_VERSION }} - - name: Install iOS and Mac Catalyst workloads - run: dotnet workload install ios maccatalyst --version ${{ env.WorkloadSetVersion }} + - name: Install iOS workload + run: dotnet workload install ios --version ${{ env.WorkloadSetVersion }} - name: Restore Uno project (iOS TFM only) run: dotnet restore ${{ env.UnoProjectFile }} -p:TargetFramework=${{ env.iOSTargetFramework }} @@ -113,16 +112,6 @@ jobs: --configuration ${{ env.DOTNET_CONFIGURATION }} --no-restore - - name: Restore Uno project (Mac Catalyst TFM only) - run: dotnet restore ${{ env.UnoProjectFile }} -p:TargetFramework=${{ env.MacCatalystTargetFramework }} - - - name: Build Uno project (Mac Catalyst TFM only) - run: > - dotnet build ${{ env.UnoProjectFile }} - -f ${{ env.MacCatalystTargetFramework }} - --configuration ${{ env.DOTNET_CONFIGURATION }} - --no-restore - windows: runs-on: windows-latest steps: diff --git a/AGENTS.md b/AGENTS.md index 84ba8c20..ca8db48f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,7 +33,7 @@ far more reliable than trying to reproduce that locally. **Timing:** a full `Build Samples` run across all sample projects takes approximately **6 minutes** end-to-end. Individual jobs (e.g. `todoapp-blazor-wasm`) typically finish in well under a minute, but slower -jobs (Windows, Uno iOS/maccatalyst) can take several minutes each, and they +jobs (Windows, Uno iOS) can take several minutes each, and they run in parallel. Plan polling/wait times accordingly — don't assume the run is stuck if it's still going after a minute or two; do check back in if it hasn't completed after ~6-8 minutes. diff --git a/docs/samples/todoapp/unoplatform.md b/docs/samples/todoapp/unoplatform.md index ae996481..3f82c51a 100644 --- a/docs/samples/todoapp/unoplatform.md +++ b/docs/samples/todoapp/unoplatform.md @@ -11,6 +11,7 @@ The Uno Platform sample uses an in-memory Sqlite store for storing its data. To * Open `samples/todoapp/TodoApp.Uno/TodoApp.Uno.sln` in Visual Studio. * Select a target (in the top bar), then press F5 to run the application. * For Windows, select **TodoApp.Uno (WinAppSDK Packaged)**. + * For macOS, Linux or Windows (Skia rendering), select the `net10.0-desktop` head. This is the supported way to run the sample on macOS. * For other platforms, select the correct emulator or simulator from the target selection drop-down. If you bump into issues at this point, ensure you can properly develop and run Uno Platform applications for the desktop outside of the datasync service. diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Assets/SharedAssets.md b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Assets/SharedAssets.md index 1b84a74a..602bc4f6 100644 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Assets/SharedAssets.md +++ b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Assets/SharedAssets.md @@ -22,7 +22,7 @@ See documentation about assets here: https://github.com/unoplatform/uno/blob/mas ### Table of scales -| Scale | WinUI | iOS/MacCatalyst | Android | +| Scale | WinUI | iOS | Android | |-------|:-----------:|:---------------:|:-------:| | `100` | scale-100 | @1x | mdpi | | `125` | scale-125 | N/A | N/A | diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Entitlements.plist b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Entitlements.plist deleted file mode 100644 index 24c31036..00000000 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Entitlements.plist +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Info.plist b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Info.plist deleted file mode 100644 index 1bb02ddc..00000000 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - UIDeviceFamily - - 2 - - LSApplicationCategoryType - public.app-category.utilities - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - XSAppIconAssets - Assets.xcassets/icon.appiconset - - - - diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Main.maccatalyst.cs b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Main.maccatalyst.cs deleted file mode 100644 index a2e34523..00000000 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Main.maccatalyst.cs +++ /dev/null @@ -1,13 +0,0 @@ -using UIKit; - -namespace TodoApp.Uno.MacCatalyst; -public class EntryPoint -{ - // This is the main entry point of the application. - public static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(App)); - } -} diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json deleted file mode 100644 index 69555e44..00000000 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "images": [ - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "640x960", - "idiom": "iphone" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "subtype": "retina4", - "scale": "2x", - "size": "640x1136", - "idiom": "iphone" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "1x", - "size": "768x1024", - "idiom": "ipad" - }, - { - "orientation": "landscape", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "1x", - "size": "1024x768", - "idiom": "ipad" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "1536x2048", - "idiom": "ipad" - }, - { - "orientation": "landscape", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "2048x1536", - "idiom": "ipad" - } - ], - "properties": {}, - "info": { - "version": 1, - "author": "" - } -} \ No newline at end of file diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj index 627e09b7..6cc518ea 100644 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj +++ b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj @@ -1,6 +1,6 @@ - net10.0-android;net10.0-ios;net10.0-maccatalyst;net10.0-windows10.0.26100;net10.0-browserwasm;net10.0-desktop + net10.0-android;net10.0-ios;net10.0-windows10.0.26100;net10.0-browserwasm;net10.0-desktop Exe true @@ -59,23 +59,19 @@ --> true - $(MSBuildWarningsAsMessages);MT7156 + $(MSBuildWarningsAsMessages);MT7156