diff --git a/docs/samples/todoapp/avalonia.md b/docs/samples/todoapp/avalonia.md index cfa653fc..68038d15 100644 --- a/docs/samples/todoapp/avalonia.md +++ b/docs/samples/todoapp/avalonia.md @@ -17,6 +17,22 @@ If you bump into issues at this point, ensure you can properly develop and run A !!! info Tested platforms The TodoApp.Avalonia sample is known to work on Android and Desktop. We have not tested on other platforms. +### Minimum OS versions and tooling + +The mobile heads set the minimum OS version they run on (`SupportedOSPlatformVersion`) in their project files: + +| Platform | Minimum version | Where it is set | +|----------|-----------------|-----------------| +| iOS | 18.0 | `TodoApp.Avalonia.iOS.csproj` and `MinimumOSVersion` in `Info.plist` (keep the two in step) | +| Android | 7.0 (API 24) | `TodoApp.Avalonia.Android.csproj` | + +These match the MAUI and Uno samples. Avalonia 12 tests iOS 26 (Tier 1) and iOS 18.x (Tier 2) and treats iOS 17 and earlier as Tier 3. See the [Avalonia supported platforms](https://docs.avaloniaui.net/docs/supported-platforms) page for current details. + +The minimum OS version is separate from the SDK you build with. To build the mobile heads you need: + +* **iOS**: a Mac with Xcode 26.6 and the `ios` workload (the iOS SDK 26.5 workload set, 10.0.112). This is the combination used by the sample build in CI. +* **Android**: the `android` workload, JDK 21, and the Android SDK (installed with Android Studio or Visual Studio) including the Android 16 (API 36) SDK platform, which is the default target of `net10.0-android`. + ## Deploy a datasync server to Azure Before you begin adjusting the application for offline usage, you must [deploy a datasync service](./server.md). Make a note of the URI of the service before continuing. diff --git a/docs/samples/todoapp/maui.md b/docs/samples/todoapp/maui.md index 97a383a7..d114b5d1 100644 --- a/docs/samples/todoapp/maui.md +++ b/docs/samples/todoapp/maui.md @@ -16,6 +16,24 @@ The application should run on Android, iOS, and Windows. Each platform needs sl !!! info Tested platforms The TodoApp.MAUI sample is known to work on Android and Desktop. We have not tested on other platforms. +### Minimum OS versions and tooling + +The sample sets the minimum OS version it runs on (`SupportedOSPlatformVersion`) in `TodoApp.MAUI.csproj`: + +| Platform | Minimum version | Notes | +|----------|-----------------|-------| +| iOS | 18.0 | The same value is used by the Avalonia and Uno samples. .NET MAUI itself supports iOS 12.2 and later. | +| Android | 7.0 (API 24) | The same value is used by the Avalonia and Uno samples. .NET 11 raises the .NET MAUI minimum to API 24. | +| Windows | 10.0.17763.0 (Windows 10 1809) | The Windows App SDK minimum. | + +The minimum OS version is separate from the SDK you build with. To build the sample you need: + +* **iOS**: a Mac with Xcode 26.6 and the `maui-ios` workload (the iOS SDK 26.5 workload set, 10.0.112). This is the combination used by the sample build in CI. +* **Android**: the `maui-android` workload, JDK 21, and the Android SDK (installed with Android Studio or Visual Studio) including the Android 16 (API 36) SDK platform, which is the default target of `net10.0-android`. + +!!! tip + The minimum OS version is a sample choice. If your application needs to support older devices, lower the values in the project file (down to the .NET MAUI minimums). + ## Deploy a datasync server to Azure Before you begin adjusting the application for offline usage, you must [deploy a datasync service](./server.md). Make a note of the URI of the service before continuing. diff --git a/docs/samples/todoapp/unoplatform.md b/docs/samples/todoapp/unoplatform.md index e39e485f..ae996481 100644 --- a/docs/samples/todoapp/unoplatform.md +++ b/docs/samples/todoapp/unoplatform.md @@ -18,6 +18,21 @@ If you bump into issues at this point, ensure you can properly develop and run U !!! info Tested platforms The TodoApp.Uno sample is known to work on Android and Desktop. We have not tested on other platforms. +### Minimum OS versions and tooling + +The sample sets the minimum OS version it runs on (`SupportedOSPlatformVersion`) explicitly in `TodoApp.Uno.csproj`, rather than relying on the Uno SDK defaults: + +| Platform | Minimum version | Notes | +|----------|-----------------|-------| +| iOS | 18.0 | The same value is used by the MAUI and Avalonia samples. The Uno SDK 6.x default is iOS 14.2. | +| Mac Catalyst | 18.0 (macOS 15) | Mac Catalyst uses the iOS-equivalent version number. | +| Android | 7.0 (API 24) | The same value is used by the MAUI and Avalonia samples. | + +The minimum OS version is separate from the SDK you build with. To build the mobile heads you need: + +* **iOS and Mac Catalyst**: a Mac with Xcode 26.6 and the `ios` and `maccatalyst` workloads (the iOS SDK 26.5 workload set, 10.0.112). This is the combination used by the sample build in CI. +* **Android**: the `android` workload, JDK 21, and the Android SDK (installed with Android Studio or Visual Studio) including the Android 16 (API 36) SDK platform, which is the default target of `net10.0-android`. + !!! info WASM0001 warning on the browserwasm head When building the `browserwasm` head, you may see a `WASM0001` warning about native varargs functions (`sqlite3_config`/`sqlite3_db_config`) in the bundled SQLite provider. This is diff --git a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj index 41f42f7f..7fdc9aec 100644 --- a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj +++ b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj @@ -2,7 +2,7 @@ Exe net10.0-android - 34 + 24 enable com.CompanyName.TodoApp.Avalonia 1 diff --git a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/Info.plist b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/Info.plist index 643284ca..326ef9ec 100644 --- a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/Info.plist +++ b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/Info.plist @@ -13,7 +13,7 @@ LSRequiresIPhoneOS MinimumOSVersion - 15.0 + 18.0 UIDeviceFamily 1 @@ -23,7 +23,7 @@ LaunchScreen UIRequiredDeviceCapabilities - armv7 + arm64 UISupportedInterfaceOrientations diff --git a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj index 94f5ae7d..ad413125 100644 --- a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj +++ b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj @@ -2,7 +2,7 @@ Exe net10.0-ios - 15.0 + 18.0 enable None - 15.0 - 21.0 + 18.0 + 24.0 10.0.17763.0 10.0.17763.0 diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/iOS/Info.plist b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/iOS/Info.plist index ea3dcb4b..7b1a1954 100644 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/iOS/Info.plist +++ b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/Platforms/iOS/Info.plist @@ -11,7 +11,6 @@ UIRequiredDeviceCapabilities - armv7 arm64 UISupportedInterfaceOrientations diff --git a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj index 4719f195..627e09b7 100644 --- a/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj +++ b/samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj @@ -12,6 +12,17 @@ 1.0 1 + + + 18.0 + 18.0 + 24.0 + Your.Name