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
16 changes: 16 additions & 0 deletions docs/samples/todoapp/avalonia.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
18 changes: 18 additions & 0 deletions docs/samples/todoapp/maui.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
15 changes: 15 additions & 0 deletions docs/samples/todoapp/unoplatform.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0-android</TargetFramework>
<SupportedOSPlatformVersion>34</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>24</SupportedOSPlatformVersion>
<Nullable>enable</Nullable>
<ApplicationId>com.CompanyName.TodoApp.Avalonia</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>15.0</string>
<string>18.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
Expand All @@ -23,7 +23,7 @@
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0-ios</TargetFramework>
<SupportedOSPlatformVersion>15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>18.0</SupportedOSPlatformVersion>
<Nullable>enable</Nullable>

<!--
Expand Down
4 changes: 2 additions & 2 deletions samples/todoapp/TodoApp.MAUI/TodoApp.MAUI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
<WindowsPackageType>None</WindowsPackageType>

<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">18.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">24.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
Expand Down
11 changes: 11 additions & 0 deletions samples/todoapp/TodoApp.Uno/TodoApp.Uno/TodoApp.Uno.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>

<!--
Minimum OS versions. These are set explicitly (rather than relying on the Uno.Sdk defaults)
so the targets are visible here and stay aligned with the other mobile samples (MAUI and
Avalonia): iOS 18.0 and Android 7.0 (API 24). Mac Catalyst uses the iOS-equivalent version
number (18.0 = macOS 15). See https://github.com/CommunityToolkit/Datasync/issues/628.
-->
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">18.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">18.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">24.0</SupportedOSPlatformVersion>

<!-- Package Publisher -->
<ApplicationPublisher>Your.Name</ApplicationPublisher>
<!-- Package Description -->
Expand Down
Loading