diff --git a/Avalonia.sln b/Avalonia.sln
index 25753461a9..8d40171b28 100644
--- a/Avalonia.sln
+++ b/Avalonia.sln
@@ -212,7 +212,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.DesignerSupport.Te
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DevGenerators", "src\tools\DevGenerators\DevGenerators.csproj", "{1BBFAD42-B99E-47E0-B00A-A4BC6B6BB4BB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MobileSandbox", "samples\MobileSandbox\MobileSandbox.csproj", "{3B8519C1-2F51-4F12-A348-120AB91D4532}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SingleProjectSandbox", "samples\SingleProjectSandbox\SingleProjectSandbox.csproj", "{3B8519C1-2F51-4F12-A348-120AB91D4532}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Browser", "src\Browser\Avalonia.Browser\Avalonia.Browser.csproj", "{4A39637C-9338-4925-A4DB-D072E292EC78}"
EndProject
diff --git a/build/TargetFrameworks.props b/build/TargetFrameworks.props
index 2da37e612f..8c88b4cf4b 100644
--- a/build/TargetFrameworks.props
+++ b/build/TargetFrameworks.props
@@ -2,9 +2,10 @@
net8.0
$(AvsCurrentTargetFramework)-windows
- $(AvsCurrentTargetFramework)-android34
+ $(AvsCurrentTargetFramework)-macos
+ $(AvsCurrentTargetFramework)-android34.0
$(AvsCurrentTargetFramework)-ios17.0
- $(AvsCurrentTargetFramework)-tvos17
+ $(AvsCurrentTargetFramework)-tvos17.0
$(AvsCurrentTargetFramework)-browser
$(AvsCurrentTargetFramework)-tizen
@@ -12,4 +13,17 @@
net6.0
net6.0-windows
+
+
+
+
+ 13.0
+ 13.0
+ 13.1
+ 6.5
+ 21.0
+
+
+ 10.15
+
diff --git a/dirs.proj b/dirs.proj
index 0f6594f37f..5403847fab 100644
--- a/dirs.proj
+++ b/dirs.proj
@@ -14,7 +14,7 @@
-
+
diff --git a/packages/Avalonia/AvaloniaSingleProject.targets b/packages/Avalonia/AvaloniaSingleProject.targets
index fc6080154a..793f0e36eb 100644
--- a/packages/Avalonia/AvaloniaSingleProject.targets
+++ b/packages/Avalonia/AvaloniaSingleProject.targets
@@ -25,9 +25,6 @@
AND (('$(AvaloniaSingleProjectTreatSharedAsDesktop)' == 'true' AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == '')
OR ('$(AvaloniaSingleProjectTreatWindowsAsShared)' == 'true' AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'))">
<_AvaloniaDesktopTarget>true
- <_AvaloniaWindowsTarget>true
- <_AvaloniaMacOSTarget>true
- <_AvaloniaLinuxTarget>true
@@ -95,6 +92,16 @@
+
+
+ 13.0
+ 13.0
+ 10.15
+ 13.1
+ 21.0
+ 6.5
+
+
$(AndroidProjectFolder)AndroidManifest.xml
$(AndroidProjectFolder)Resources
diff --git a/samples/ControlCatalog.Android/ControlCatalog.Android.csproj b/samples/ControlCatalog.Android/ControlCatalog.Android.csproj
index 113f473631..958725eed5 100644
--- a/samples/ControlCatalog.Android/ControlCatalog.Android.csproj
+++ b/samples/ControlCatalog.Android/ControlCatalog.Android.csproj
@@ -1,7 +1,7 @@
$(AvsCurrentAndroidTargetFramework)
- 21
+ $(AvsMinSupportedAndroidVersion)
Exe
enable
com.Avalonia.ControlCatalog
diff --git a/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj b/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj
index 14b246c18b..75c244711b 100644
--- a/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj
+++ b/samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj
@@ -4,7 +4,7 @@
manual
$(AvsCurrentIOSTargetFramework)
- 13.0
+ $(AvsMinSupportedIOSVersion)
diff --git a/samples/ControlCatalog.iOS/Info.plist b/samples/ControlCatalog.iOS/Info.plist
index d97c088652..b4c7c07eb6 100644
--- a/samples/ControlCatalog.iOS/Info.plist
+++ b/samples/ControlCatalog.iOS/Info.plist
@@ -12,8 +12,6 @@
1.0
LSRequiresIPhoneOS
- MinimumOSVersion
- 13.0
UIDeviceFamily
1
diff --git a/samples/MobileSandbox/Platforms/Android/MainActivity.cs b/samples/MobileSandbox/Platforms/Android/MainActivity.cs
deleted file mode 100644
index 8aa6193ab0..0000000000
--- a/samples/MobileSandbox/Platforms/Android/MainActivity.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using Android.App;
-using Android.Content.PM;
-using Android.OS;
-using Avalonia;
-using Avalonia.Android;
-
-namespace MobileSandbox;
-
-[Activity(Label = "MobileSandbox.Android", Theme = "@style/Theme.AppCompat.NoActionBar", MainLauncher = true, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]
-public class MainActivity : AvaloniaMainActivity
-{
-}
diff --git a/samples/MobileSandbox/Platforms/Desktop/Program.cs b/samples/MobileSandbox/Platforms/Desktop/Program.cs
deleted file mode 100644
index 4d49a65994..0000000000
--- a/samples/MobileSandbox/Platforms/Desktop/Program.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using Avalonia;
-
-namespace MobileSandbox.Desktop
-{
- static class Program
- {
- [STAThread]
- static int Main(string[] args) =>
- BuildAvaloniaApp()
- .StartWithClassicDesktopLifetime(args);
-
- ///
- /// This method is needed for IDE previewer infrastructure
- ///
- public static AppBuilder BuildAvaloniaApp()
- => AppBuilder.Configure()
- .UsePlatformDetect()
- .LogToTrace();
- }
-}
diff --git a/samples/MobileSandbox/Platforms/Tizen/Main.cs b/samples/MobileSandbox/Platforms/Tizen/Main.cs
deleted file mode 100644
index 75c7c8941d..0000000000
--- a/samples/MobileSandbox/Platforms/Tizen/Main.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using Avalonia;
-using Avalonia.Tizen;
-using ElmSharp;
-using SkiaSharp;
-using Tizen.Applications;
-
-namespace MobileSandbox;
-
-class Program : NuiTizenApplication
-{
- protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) =>
- base.CustomizeAppBuilder(builder);
-
- static void Main(string[] args)
- {
- var app = new Program();
- app.Run(args);
- }
-}
diff --git a/samples/MobileSandbox/Platforms/iOS/AppDelegate.cs b/samples/MobileSandbox/Platforms/iOS/AppDelegate.cs
deleted file mode 100644
index 739d25e5f1..0000000000
--- a/samples/MobileSandbox/Platforms/iOS/AppDelegate.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Foundation;
-using UIKit;
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.iOS;
-
-namespace MobileSandbox
-{
- // The UIApplicationDelegate for the application. This class is responsible for launching the
- // User Interface of the application, as well as listening (and optionally responding) to
- // application events from iOS.
- [Register("AppDelegate")]
- public partial class AppDelegate : AvaloniaAppDelegate
- {
- }
-}
diff --git a/samples/MobileSandbox/Platforms/iOS/Main.cs b/samples/MobileSandbox/Platforms/iOS/Main.cs
deleted file mode 100644
index fdd78bbb11..0000000000
--- a/samples/MobileSandbox/Platforms/iOS/Main.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using UIKit;
-
-namespace MobileSandbox.iOS
-{
- public class Application
- {
- // This is the main entry point of the application.
- 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(AppDelegate));
- }
- }
-}
diff --git a/samples/MobileSandbox/msbuild.binlog b/samples/MobileSandbox/msbuild.binlog
deleted file mode 100644
index 4a7ac71302..0000000000
Binary files a/samples/MobileSandbox/msbuild.binlog and /dev/null differ
diff --git a/samples/SafeAreaDemo.Android/SafeAreaDemo.Android.csproj b/samples/SafeAreaDemo.Android/SafeAreaDemo.Android.csproj
index 62a3ebfeda..413bb8333e 100644
--- a/samples/SafeAreaDemo.Android/SafeAreaDemo.Android.csproj
+++ b/samples/SafeAreaDemo.Android/SafeAreaDemo.Android.csproj
@@ -2,7 +2,7 @@
Exe
$(AvsCurrentAndroidTargetFramework)
- 21
+ $(AvsMinSupportedAndroidVersion)
enable
com.avalonia.safeareademo
1
diff --git a/samples/SafeAreaDemo.iOS/Info.plist b/samples/SafeAreaDemo.iOS/Info.plist
index 7c9973184e..a123d3b19f 100644
--- a/samples/SafeAreaDemo.iOS/Info.plist
+++ b/samples/SafeAreaDemo.iOS/Info.plist
@@ -12,8 +12,6 @@
1.0
LSRequiresIPhoneOS
- MinimumOSVersion
- 13.0
UIDeviceFamily
1
diff --git a/samples/SafeAreaDemo.iOS/SafeAreaDemo.iOS.csproj b/samples/SafeAreaDemo.iOS/SafeAreaDemo.iOS.csproj
index aedda9cc18..2f16e335de 100644
--- a/samples/SafeAreaDemo.iOS/SafeAreaDemo.iOS.csproj
+++ b/samples/SafeAreaDemo.iOS/SafeAreaDemo.iOS.csproj
@@ -2,7 +2,7 @@
Exe
$(AvsCurrentIOSTargetFramework)
- 13.0
+ $(AvsMinSupportedIOSVersion)
manual
enable
diff --git a/samples/MobileSandbox/App.axaml b/samples/SingleProjectSandbox/App.axaml
similarity index 68%
rename from samples/MobileSandbox/App.axaml
rename to samples/SingleProjectSandbox/App.axaml
index 25fefee516..ec266fd6c6 100644
--- a/samples/MobileSandbox/App.axaml
+++ b/samples/SingleProjectSandbox/App.axaml
@@ -1,7 +1,7 @@
+ Name="Single Project Sandbox"
+ x:Class="SingleProjectSandbox.App">
diff --git a/samples/MobileSandbox/App.axaml.cs b/samples/SingleProjectSandbox/App.axaml.cs
similarity index 82%
rename from samples/MobileSandbox/App.axaml.cs
rename to samples/SingleProjectSandbox/App.axaml.cs
index 88da7b80c1..0c26e3ab0b 100644
--- a/samples/MobileSandbox/App.axaml.cs
+++ b/samples/SingleProjectSandbox/App.axaml.cs
@@ -2,10 +2,14 @@ using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
-namespace MobileSandbox;
+namespace SingleProjectSandbox;
public class App : Application
{
+ public static AppBuilder BuildAvaloniaApp()
+ => AppBuilder.Configure()
+ .LogToTrace();
+
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
diff --git a/samples/MobileSandbox/MainView.axaml b/samples/SingleProjectSandbox/MainView.axaml
similarity index 83%
rename from samples/MobileSandbox/MainView.axaml
rename to samples/SingleProjectSandbox/MainView.axaml
index ccdfb090d2..e1764b0795 100644
--- a/samples/MobileSandbox/MainView.axaml
+++ b/samples/SingleProjectSandbox/MainView.axaml
@@ -1,8 +1,8 @@
-
+ xmlns:local="using:SingleProjectSandbox"
+ x:DataType="local:MainView">
diff --git a/samples/MobileSandbox/MainView.axaml.cs b/samples/SingleProjectSandbox/MainView.axaml.cs
similarity index 90%
rename from samples/MobileSandbox/MainView.axaml.cs
rename to samples/SingleProjectSandbox/MainView.axaml.cs
index 2ea1e8f1a9..32f519e398 100644
--- a/samples/MobileSandbox/MainView.axaml.cs
+++ b/samples/SingleProjectSandbox/MainView.axaml.cs
@@ -3,7 +3,7 @@ using System.Windows.Input;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
-namespace MobileSandbox;
+namespace SingleProjectSandbox;
public partial class MainView : UserControl
{
diff --git a/samples/MobileSandbox/MainWindow.axaml b/samples/SingleProjectSandbox/MainWindow.axaml
similarity index 60%
rename from samples/MobileSandbox/MainWindow.axaml
rename to samples/SingleProjectSandbox/MainWindow.axaml
index 4e349bea2d..659da647c6 100644
--- a/samples/MobileSandbox/MainWindow.axaml
+++ b/samples/SingleProjectSandbox/MainWindow.axaml
@@ -1,11 +1,10 @@
+ x:Class="SingleProjectSandbox.MainWindow">
diff --git a/samples/MobileSandbox/MainWindow.axaml.cs b/samples/SingleProjectSandbox/MainWindow.axaml.cs
similarity index 83%
rename from samples/MobileSandbox/MainWindow.axaml.cs
rename to samples/SingleProjectSandbox/MainWindow.axaml.cs
index 42b62e88e2..f683fa7324 100644
--- a/samples/MobileSandbox/MainWindow.axaml.cs
+++ b/samples/SingleProjectSandbox/MainWindow.axaml.cs
@@ -1,7 +1,7 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
-namespace MobileSandbox;
+namespace SingleProjectSandbox;
public partial class MainWindow : Window
{
diff --git a/samples/MobileSandbox/Platforms/Android/AndroidManifest.xml b/samples/SingleProjectSandbox/Platforms/Android/AndroidManifest.xml
similarity index 75%
rename from samples/MobileSandbox/Platforms/Android/AndroidManifest.xml
rename to samples/SingleProjectSandbox/Platforms/Android/AndroidManifest.xml
index 1c02fda6c6..449734f268 100644
--- a/samples/MobileSandbox/Platforms/Android/AndroidManifest.xml
+++ b/samples/SingleProjectSandbox/Platforms/Android/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/samples/SingleProjectSandbox/Platforms/Android/MainActivity.cs b/samples/SingleProjectSandbox/Platforms/Android/MainActivity.cs
new file mode 100644
index 0000000000..a075f90ee7
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/Android/MainActivity.cs
@@ -0,0 +1,15 @@
+using Android.App;
+using Android.Content.PM;
+using Avalonia;
+using Avalonia.Android;
+
+namespace SingleProjectSandbox;
+
+[Activity(Label = "SingleProjectSandbox.Android", Theme = "@style/Theme.AppCompat.NoActionBar", MainLauncher = true, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]
+public class MainActivity : AvaloniaMainActivity
+{
+ protected override AppBuilder CreateAppBuilder()
+ {
+ return App.BuildAvaloniaApp().UseAndroid();
+ }
+}
diff --git a/samples/MobileSandbox/Platforms/Browser/Program.cs b/samples/SingleProjectSandbox/Platforms/Browser/Program.cs
similarity index 54%
rename from samples/MobileSandbox/Platforms/Browser/Program.cs
rename to samples/SingleProjectSandbox/Platforms/Browser/Program.cs
index cdd986d6e8..48b64790cc 100644
--- a/samples/MobileSandbox/Platforms/Browser/Program.cs
+++ b/samples/SingleProjectSandbox/Platforms/Browser/Program.cs
@@ -1,19 +1,15 @@
using System.Runtime.Versioning;
using System.Threading.Tasks;
-using Avalonia;
using Avalonia.Browser;
-using MobileSandbox;
+using SingleProjectSandbox;
[assembly:SupportedOSPlatform("browser")]
-internal partial class Program
+internal static class Program
{
public static async Task Main(string[] args)
{
- await BuildAvaloniaApp()
+ await App.BuildAvaloniaApp()
.StartBrowserAppAsync("out");
}
-
- public static AppBuilder BuildAvaloniaApp()
- => AppBuilder.Configure();
}
diff --git a/samples/MobileSandbox/Platforms/Browser/wwwroot/Logo.svg b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/Logo.svg
similarity index 100%
rename from samples/MobileSandbox/Platforms/Browser/wwwroot/Logo.svg
rename to samples/SingleProjectSandbox/Platforms/Browser/wwwroot/Logo.svg
diff --git a/samples/MobileSandbox/Platforms/Browser/wwwroot/app.css b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/app.css
similarity index 100%
rename from samples/MobileSandbox/Platforms/Browser/wwwroot/app.css
rename to samples/SingleProjectSandbox/Platforms/Browser/wwwroot/app.css
diff --git a/samples/MobileSandbox/Platforms/Browser/wwwroot/favicon.ico b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/favicon.ico
similarity index 100%
rename from samples/MobileSandbox/Platforms/Browser/wwwroot/favicon.ico
rename to samples/SingleProjectSandbox/Platforms/Browser/wwwroot/favicon.ico
diff --git a/samples/MobileSandbox/Platforms/Browser/wwwroot/index.html b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/index.html
similarity index 94%
rename from samples/MobileSandbox/Platforms/Browser/wwwroot/index.html
rename to samples/SingleProjectSandbox/Platforms/Browser/wwwroot/index.html
index 6508e499b6..5971018b2c 100644
--- a/samples/MobileSandbox/Platforms/Browser/wwwroot/index.html
+++ b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/index.html
@@ -2,7 +2,7 @@
- MobileSandbox.Browser
+ SingleProjectSandbox.Browser
diff --git a/samples/MobileSandbox/Platforms/Browser/wwwroot/main.js b/samples/SingleProjectSandbox/Platforms/Browser/wwwroot/main.js
similarity index 100%
rename from samples/MobileSandbox/Platforms/Browser/wwwroot/main.js
rename to samples/SingleProjectSandbox/Platforms/Browser/wwwroot/main.js
diff --git a/samples/SingleProjectSandbox/Platforms/Desktop/Program.cs b/samples/SingleProjectSandbox/Platforms/Desktop/Program.cs
new file mode 100644
index 0000000000..ae8a7a2526
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/Desktop/Program.cs
@@ -0,0 +1,18 @@
+using System;
+using Avalonia;
+
+namespace SingleProjectSandbox;
+
+internal static class Program
+{
+ [STAThread]
+ static int Main(string[] args) =>
+ BuildAvaloniaApp()
+ .StartWithClassicDesktopLifetime(args);
+
+ ///
+ /// This method is needed for IDE previewer infrastructure
+ ///
+ public static AppBuilder BuildAvaloniaApp()
+ => App.BuildAvaloniaApp().UsePlatformDetect();
+}
diff --git a/samples/MobileSandbox/Platforms/Desktop/app.manifest b/samples/SingleProjectSandbox/Platforms/Desktop/app.manifest
similarity index 100%
rename from samples/MobileSandbox/Platforms/Desktop/app.manifest
rename to samples/SingleProjectSandbox/Platforms/Desktop/app.manifest
diff --git a/samples/SingleProjectSandbox/Platforms/Tizen/Main.cs b/samples/SingleProjectSandbox/Platforms/Tizen/Main.cs
new file mode 100644
index 0000000000..94e621ec25
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/Tizen/Main.cs
@@ -0,0 +1,16 @@
+using Avalonia;
+using Avalonia.Tizen;
+
+namespace SingleProjectSandbox;
+
+internal class Program : NuiTizenApplication
+{
+ protected override AppBuilder CreateAppBuilder() =>
+ App.BuildAvaloniaApp().UseTizen();
+
+ internal static void Main(string[] args)
+ {
+ var app = new Program();
+ app.Run(args);
+ }
+}
diff --git a/samples/MobileSandbox/Platforms/Tizen/shared/res/Avalonia.png b/samples/SingleProjectSandbox/Platforms/Tizen/shared/res/Avalonia.png
similarity index 100%
rename from samples/MobileSandbox/Platforms/Tizen/shared/res/Avalonia.png
rename to samples/SingleProjectSandbox/Platforms/Tizen/shared/res/Avalonia.png
diff --git a/samples/MobileSandbox/Platforms/Tizen/tizen-manifest.xml b/samples/SingleProjectSandbox/Platforms/Tizen/tizen-manifest.xml
similarity index 84%
rename from samples/MobileSandbox/Platforms/Tizen/tizen-manifest.xml
rename to samples/SingleProjectSandbox/Platforms/Tizen/tizen-manifest.xml
index 14aefec5e3..3ba13e8946 100644
--- a/samples/MobileSandbox/Platforms/Tizen/tizen-manifest.xml
+++ b/samples/SingleProjectSandbox/Platforms/Tizen/tizen-manifest.xml
@@ -1,7 +1,7 @@
-
+
Avalonia.png
diff --git a/samples/SingleProjectSandbox/Platforms/iOS/AppDelegate.cs b/samples/SingleProjectSandbox/Platforms/iOS/AppDelegate.cs
new file mode 100644
index 0000000000..ea6cd1e2e7
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/iOS/AppDelegate.cs
@@ -0,0 +1,24 @@
+using Foundation;
+using Avalonia;
+using Avalonia.iOS;
+using UIKit;
+
+namespace SingleProjectSandbox;
+
+// The UIApplicationDelegate for the application. This class is responsible for launching the
+// User Interface of the application, as well as listening (and optionally responding) to
+// application events from iOS.
+[Register("AppDelegate")]
+public class AppDelegate : AvaloniaAppDelegate
+{
+ protected override AppBuilder CreateAppBuilder() =>
+ App.BuildAvaloniaApp().UseiOS();
+
+ // This is the main entry point of the application.
+ internal 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(AppDelegate));
+ }
+}
diff --git a/samples/MobileSandbox/Platforms/iOS/Entitlements.plist b/samples/SingleProjectSandbox/Platforms/iOS/Entitlements.plist
similarity index 100%
rename from samples/MobileSandbox/Platforms/iOS/Entitlements.plist
rename to samples/SingleProjectSandbox/Platforms/iOS/Entitlements.plist
diff --git a/samples/MobileSandbox/Platforms/iOS/Info.plist b/samples/SingleProjectSandbox/Platforms/iOS/Info.plist
similarity index 96%
rename from samples/MobileSandbox/Platforms/iOS/Info.plist
rename to samples/SingleProjectSandbox/Platforms/iOS/Info.plist
index ff939d5592..c8869ec2f4 100644
--- a/samples/MobileSandbox/Platforms/iOS/Info.plist
+++ b/samples/SingleProjectSandbox/Platforms/iOS/Info.plist
@@ -12,8 +12,6 @@
1.0
LSRequiresIPhoneOS
- MinimumOSVersion
- 13.0
UIDeviceFamily
1
diff --git a/samples/MobileSandbox/Platforms/iOS/Resources/LaunchScreen.xib b/samples/SingleProjectSandbox/Platforms/iOS/Resources/LaunchScreen.xib
similarity index 100%
rename from samples/MobileSandbox/Platforms/iOS/Resources/LaunchScreen.xib
rename to samples/SingleProjectSandbox/Platforms/iOS/Resources/LaunchScreen.xib
diff --git a/samples/SingleProjectSandbox/Platforms/macOS/Entitlements.plist b/samples/SingleProjectSandbox/Platforms/macOS/Entitlements.plist
new file mode 100644
index 0000000000..9ae599370b
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/macOS/Entitlements.plist
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/samples/SingleProjectSandbox/Platforms/macOS/Info.plist b/samples/SingleProjectSandbox/Platforms/macOS/Info.plist
new file mode 100644
index 0000000000..e04ff37c74
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/macOS/Info.plist
@@ -0,0 +1,18 @@
+
+
+
+
+ CFBundleShortVersionString
+ 1.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ APPL
+ CFBundleSignature
+ ????
+ NSPrincipalClass
+ NSApplication
+
+
diff --git a/samples/SingleProjectSandbox/Platforms/macOS/Program.cs b/samples/SingleProjectSandbox/Platforms/macOS/Program.cs
new file mode 100644
index 0000000000..c13f799a38
--- /dev/null
+++ b/samples/SingleProjectSandbox/Platforms/macOS/Program.cs
@@ -0,0 +1,13 @@
+using Avalonia;
+
+namespace SingleProjectSandbox;
+
+internal static class Program
+{
+ internal static int Main(string[] args) =>
+ App.BuildAvaloniaApp()
+ .UseAvaloniaNative()
+ .UseSkia()
+ .StartWithClassicDesktopLifetime(args);
+}
+
diff --git a/samples/MobileSandbox/MobileSandbox.csproj b/samples/SingleProjectSandbox/SingleProjectSandbox.csproj
similarity index 64%
rename from samples/MobileSandbox/MobileSandbox.csproj
rename to samples/SingleProjectSandbox/SingleProjectSandbox.csproj
index e745f4b6da..dd3b9f170b 100644
--- a/samples/MobileSandbox/MobileSandbox.csproj
+++ b/samples/SingleProjectSandbox/SingleProjectSandbox.csproj
@@ -1,16 +1,19 @@
- net8.0;net8.0-android;net8.0-browser;net8.0-ios
+ $(AvsCurrentTargetFramework);$(AvsCurrentAndroidTargetFramework);$(AvsCurrentBrowserTargetFramework)
+ $(TargetFrameworks);$(AvsCurrentIOSTargetFramework)
+ $(TargetFrameworks);$(AvsCurrentMacOSTargetFramework)
+ $(TargetFrameworks);$(AvsCurrentTizenTargetFramework)
Exe
true
enable
true
-
+
true
- Mobile Sandbox
- Avalonia.MobileSandbox
+ Single Project Sandbox
+ Avalonia.SingleProjectSandbox
diff --git a/samples/MobileSandbox/runtimeconfig.template.json b/samples/SingleProjectSandbox/runtimeconfig.template.json
similarity index 100%
rename from samples/MobileSandbox/runtimeconfig.template.json
rename to samples/SingleProjectSandbox/runtimeconfig.template.json
diff --git a/src/Android/Avalonia.Android/Avalonia.Android.csproj b/src/Android/Avalonia.Android/Avalonia.Android.csproj
index c0d2168201..86862b5614 100644
--- a/src/Android/Avalonia.Android/Avalonia.Android.csproj
+++ b/src/Android/Avalonia.Android/Avalonia.Android.csproj
@@ -1,7 +1,7 @@
$(AvsCurrentAndroidTargetFramework)
- 21
+ $(AvsMinSupportedAndroidVersion)
true
portable
Avalonia.Android.Internal
diff --git a/src/Tizen/Avalonia.Tizen/Avalonia.Tizen.csproj b/src/Tizen/Avalonia.Tizen/Avalonia.Tizen.csproj
index 67e03b441c..bf83050d3c 100644
--- a/src/Tizen/Avalonia.Tizen/Avalonia.Tizen.csproj
+++ b/src/Tizen/Avalonia.Tizen/Avalonia.Tizen.csproj
@@ -2,8 +2,8 @@
$(AvsCurrentTizenTargetFramework)
+ $(AvsMinSupportedTizenVersion)
enable
- enable
@@ -13,4 +13,5 @@
+
diff --git a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj
index 9b95ff1dbf..071c6c5b9a 100644
--- a/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj
+++ b/src/iOS/Avalonia.iOS/Avalonia.iOS.csproj
@@ -1,10 +1,10 @@
$(AvsCurrentIOSTargetFramework);$(AvsCurrentTvOSTargetFramework)
- 13.0
- 13.0
+ $(AvsMinSupportedIOSVersion)
+ $(AvsMinSupportedTvOSVersion)
- 13.1
+ $(AvsMinSupportedMacCatalystVersion)
true