diff --git a/src/NET_9/EmbeddedAndroid/AndroidManifest.xml b/src/NET_9/EmbeddedAndroid/AndroidManifest.xml
new file mode 100644
index 0000000..eb57e54
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.csproj b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.csproj
new file mode 100644
index 0000000..b62005a
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.csproj
@@ -0,0 +1,38 @@
+
+
+ net9.0-android
+ Exe
+
+
+ enable
+ latest
+ enable
+ EmbeddedAndroid
+
+
+ true
+ true
+
+
+ com.companyname.embeddedandroid
+
+
+ 1
+ 1.0
+
+
+ 21
+
+
+
+
+ full
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.sln b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.sln
new file mode 100644
index 0000000..fe64afc
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.sln
@@ -0,0 +1,24 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmbeddedAndroid", "EmbeddedAndroid.csproj", "{6080BD5C-A536-4175-A64D-78FFC4642A41}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6080BD5C-A536-4175-A64D-78FFC4642A41}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.slnx b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.slnx
new file mode 100644
index 0000000..8c79a97
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/EmbeddedAndroid.slnx
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/MainActivity.cs b/src/NET_9/EmbeddedAndroid/MainActivity.cs
new file mode 100644
index 0000000..ea60322
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/MainActivity.cs
@@ -0,0 +1,31 @@
+// Note: There's a change in namespace.
+using Microsoft.Maui.Controls.Embedding;
+//using Microsoft.Maui.Embedding;
+using Microsoft.Maui.Platform;
+
+namespace EmbeddedAndroid
+{
+ [Activity(Label = "@string/app_name", MainLauncher = true)]
+ public class MainActivity : Activity
+ {
+ protected override void OnCreate(Bundle? savedInstanceState)
+ {
+ base.OnCreate(savedInstanceState);
+
+ // Set our view from the "main" layout resource
+ //SetContentView(Resource.Layout.activity_main);
+
+ var mauiApp = MauiApp.CreateBuilder()
+ .UseMauiEmbeddedApp() // Note: The method name too got updated.
+ .Build();
+
+ var mauiContext = new MauiContext(mauiApp.Services, this);
+
+ var mauiPage = new MauiPage();
+ // Platform-specific extension method
+ SetContentView(mauiPage.ToContainerView(mauiContext));
+ // Platform-neutral extension method
+ //SetContentView(mauiPage.ToPlatform(mauiContext));
+ }
+ }
+}
diff --git a/src/NET_9/EmbeddedAndroid/MauiPage.xaml b/src/NET_9/EmbeddedAndroid/MauiPage.xaml
new file mode 100644
index 0000000..72ccdcf
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/MauiPage.xaml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/MauiPage.xaml.cs b/src/NET_9/EmbeddedAndroid/MauiPage.xaml.cs
new file mode 100644
index 0000000..4b52264
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/MauiPage.xaml.cs
@@ -0,0 +1,6 @@
+namespace EmbeddedAndroid;
+
+public partial class MauiPage : ContentPage
+{
+ public MauiPage() => InitializeComponent();
+}
diff --git a/src/NET_9/EmbeddedAndroid/MyApp.xaml b/src/NET_9/EmbeddedAndroid/MyApp.xaml
new file mode 100644
index 0000000..4a57b05
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/MyApp.xaml
@@ -0,0 +1,17 @@
+
+
+
+ #512BD4
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/MyApp.xaml.cs b/src/NET_9/EmbeddedAndroid/MyApp.xaml.cs
new file mode 100644
index 0000000..3a49511
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/MyApp.xaml.cs
@@ -0,0 +1,6 @@
+namespace EmbeddedAndroid;
+
+public partial class MyApp : Microsoft.Maui.Controls.Application
+{
+ public MyApp() => InitializeComponent();
+}
diff --git a/src/NET_9/EmbeddedAndroid/Resources/AboutResources.txt b/src/NET_9/EmbeddedAndroid/Resources/AboutResources.txt
new file mode 100644
index 0000000..0fd3106
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/AboutResources.txt
@@ -0,0 +1,44 @@
+Images, layout descriptions, binary blobs and string dictionaries can be included
+in your application as resource files. Various Android APIs are designed to
+operate on the resource IDs instead of dealing with images, strings or binary blobs
+directly.
+
+For example, a sample Android app that contains a user interface layout (main.xml),
+an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
+would keep its resources in the "Resources" directory of the application:
+
+Resources/
+ drawable/
+ icon.png
+
+ layout/
+ main.xml
+
+ values/
+ strings.xml
+
+In order to get the build system to recognize Android resources, set the build action to
+"AndroidResource". The native Android APIs do not operate directly with filenames, but
+instead operate on resource IDs. When you compile an Android application that uses resources,
+the build system will package the resources for distribution and generate a class called "Resource"
+(this is an Android convention) that contains the tokens for each one of the resources
+included. For example, for the above Resources layout, this is what the Resource class would expose:
+
+public class Resource {
+ public class Drawable {
+ public const int icon = 0x123;
+ }
+
+ public class Layout {
+ public const int main = 0x456;
+ }
+
+ public class Strings {
+ public const int first_string = 0xabc;
+ public const int second_string = 0xbcd;
+ }
+}
+
+You would then use Resource.Drawable.icon to reference the drawable/icon.png file, or
+Resource.Layout.main to reference the layout/main.xml file, or Resource.Strings.first_string
+to reference the first string in the dictionary file values/strings.xml.
diff --git a/src/NET_9/EmbeddedAndroid/Resources/layout/activity_main.xml b/src/NET_9/EmbeddedAndroid/Resources/layout/activity_main.xml
new file mode 100644
index 0000000..293d824
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/layout/activity_main.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon.xml b/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon.xml
new file mode 100644
index 0000000..ae5a675
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml b/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml
new file mode 100644
index 0000000..ae5a675
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon.png
new file mode 100644
index 0000000..0abfc1b
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_background.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_background.png
new file mode 100644
index 0000000..513e69d
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_background.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_foreground.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_foreground.png
new file mode 100644
index 0000000..99d3a29
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-hdpi/appicon_foreground.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon.png
new file mode 100644
index 0000000..7b5a2e2
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_background.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_background.png
new file mode 100644
index 0000000..9e2d1e4
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_background.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_foreground.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_foreground.png
new file mode 100644
index 0000000..a28d342
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-mdpi/appicon_foreground.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon.png
new file mode 100644
index 0000000..b28b73c
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_background.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_background.png
new file mode 100644
index 0000000..658be3f
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_background.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_foreground.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_foreground.png
new file mode 100644
index 0000000..70a542a
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xhdpi/appicon_foreground.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon.png
new file mode 100644
index 0000000..f9af117
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_background.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_background.png
new file mode 100644
index 0000000..9171c3e
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_background.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png
new file mode 100644
index 0000000..cb63bfb
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon.png
new file mode 100644
index 0000000..1d948d6
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_background.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_background.png
new file mode 100644
index 0000000..1232d8c
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_background.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png
new file mode 100644
index 0000000..9f9c9e6
Binary files /dev/null and b/src/NET_9/EmbeddedAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png differ
diff --git a/src/NET_9/EmbeddedAndroid/Resources/values/ic_launcher_background.xml b/src/NET_9/EmbeddedAndroid/Resources/values/ic_launcher_background.xml
new file mode 100644
index 0000000..d27622a
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #2C3E50
+
diff --git a/src/NET_9/EmbeddedAndroid/Resources/values/strings.xml b/src/NET_9/EmbeddedAndroid/Resources/values/strings.xml
new file mode 100644
index 0000000..3afa132
--- /dev/null
+++ b/src/NET_9/EmbeddedAndroid/Resources/values/strings.xml
@@ -0,0 +1,4 @@
+
+ EmbeddedAndroid
+ Hello, Android!
+
diff --git a/src/NET_9/EmbeddediOS/AppDelegate.cs b/src/NET_9/EmbeddediOS/AppDelegate.cs
new file mode 100644
index 0000000..7351597
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/AppDelegate.cs
@@ -0,0 +1,41 @@
+// Note: There's a change in namespace.
+using Microsoft.Maui.Controls.Embedding;
+//using Microsoft.Maui.Embedding;
+using Microsoft.Maui.Platform;
+
+namespace EmbeddediOS;
+
+[Register(nameof(AppDelegate))]
+public class AppDelegate : UIApplicationDelegate
+{
+ public override UIWindow? Window { get; set; }
+
+ public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
+ {
+ var mauiApp = MauiApp.CreateBuilder()
+ .UseMauiEmbeddedApp() // Note: The method name too got updated.
+ .Build();
+
+ var mauiContext = new MauiContext(mauiApp.Services);
+ var mauiPage = new MauiPage();
+ // Platform-specific extension method
+ var viewController = mauiPage.ToUIViewController(mauiContext);
+
+ // Create a new window instance based on the screen size
+ Window = new UIWindow(UIScreen.MainScreen.Bounds)
+ {
+ RootViewController = viewController
+ };
+
+ // Here MauiView is a type defined using .NET MAUI construct
+ // Platform-neutral Windowless API
+ //var nativeView = new MauiView().ToPlatform(mauiContext);
+ // Window-aware API - platformWindow can be passed as a method parameter
+ //var nativeView = new MauiView().ToPlatformEmbedded(mauiContext);
+
+ // Make the window visible
+ Window.MakeKeyAndVisible();
+
+ return true;
+ }
+}
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..8db9066
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,117 @@
+{
+ "images": [
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "3x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon60.png"
+ },
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon58.png"
+ },
+ {
+ "scale": "3x",
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon87.png"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon80.png"
+ },
+ {
+ "scale": "3x",
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon120.png"
+ },
+ {
+ "scale": "2x",
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon120.png"
+ },
+ {
+ "scale": "3x",
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon180.png"
+ },
+ {
+ "scale": "1x",
+ "size": "20x20",
+ "idiom": "ipad",
+ "filename": "Icon20.png"
+ },
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "ipad",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "1x",
+ "size": "29x29",
+ "idiom": "ipad",
+ "filename": "Icon29.png"
+ },
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "ipad",
+ "filename": "Icon58.png"
+ },
+ {
+ "scale": "1x",
+ "size": "40x40",
+ "idiom": "ipad",
+ "filename": "Icon40.png"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "ipad",
+ "filename": "Icon80.png"
+ },
+ {
+ "scale": "1x",
+ "size": "76x76",
+ "idiom": "ipad",
+ "filename": "Icon76.png"
+ },
+ {
+ "scale": "2x",
+ "size": "76x76",
+ "idiom": "ipad",
+ "filename": "Icon152.png"
+ },
+ {
+ "scale": "2x",
+ "size": "83.5x83.5",
+ "idiom": "ipad",
+ "filename": "Icon167.png"
+ },
+ {
+ "scale": "1x",
+ "size": "1024x1024",
+ "idiom": "ios-marketing",
+ "filename": "Icon1024.png"
+ }
+ ],
+ "properties": {},
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png
new file mode 100644
index 0000000..b573205
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon120.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon120.png
new file mode 100644
index 0000000..0b74155
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon120.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon152.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon152.png
new file mode 100644
index 0000000..1c19313
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon152.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon167.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon167.png
new file mode 100644
index 0000000..4e3e8bd
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon167.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon180.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon180.png
new file mode 100644
index 0000000..40a7371
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon180.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon20.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon20.png
new file mode 100644
index 0000000..8bb1383
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon20.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon29.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon29.png
new file mode 100644
index 0000000..bdd130c
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon29.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon40.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon40.png
new file mode 100644
index 0000000..75d2789
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon40.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon58.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon58.png
new file mode 100644
index 0000000..06afa60
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon58.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon60.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon60.png
new file mode 100644
index 0000000..2e0db2a
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon60.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon76.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon76.png
new file mode 100644
index 0000000..755bc88
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon76.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon80.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon80.png
new file mode 100644
index 0000000..6559bb4
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon80.png differ
diff --git a/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon87.png b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon87.png
new file mode 100644
index 0000000..ca28c8d
Binary files /dev/null and b/src/NET_9/EmbeddediOS/Assets.xcassets/AppIcon.appiconset/Icon87.png differ
diff --git a/src/NET_9/EmbeddediOS/EmbeddediOS.csproj b/src/NET_9/EmbeddediOS/EmbeddediOS.csproj
new file mode 100644
index 0000000..4a99298
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/EmbeddediOS.csproj
@@ -0,0 +1,31 @@
+
+
+ net9.0-ios
+ Exe
+
+
+ enable
+ latest
+ enable
+ EmbeddediOS
+
+
+ true
+ true
+
+
+ 15.0
+
+
+
+
+ full
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/EmbeddediOS.sln b/src/NET_9/EmbeddediOS/EmbeddediOS.sln
new file mode 100644
index 0000000..484065f
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/EmbeddediOS.sln
@@ -0,0 +1,24 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmbeddediOS", "EmbeddediOS.csproj", "{DEB5C69A-CC84-491E-9E3D-72E222628EB2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DEB5C69A-CC84-491E-9E3D-72E222628EB2}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/NET_9/EmbeddediOS/EmbeddediOS.slnx b/src/NET_9/EmbeddediOS/EmbeddediOS.slnx
new file mode 100644
index 0000000..5060b9a
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/EmbeddediOS.slnx
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/Entitlements.plist b/src/NET_9/EmbeddediOS/Entitlements.plist
new file mode 100644
index 0000000..36a8706
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/Entitlements.plist
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/Info.plist b/src/NET_9/EmbeddediOS/Info.plist
new file mode 100644
index 0000000..bbe4860
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/Info.plist
@@ -0,0 +1,42 @@
+
+
+
+
+ CFBundleDisplayName
+ EmbeddediOS
+ CFBundleIdentifier
+ com.companyname.embeddedios
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1.0
+ LSRequiresIPhoneOS
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/AppIcon.appiconset
+
+
diff --git a/src/NET_9/EmbeddediOS/LaunchScreen.storyboard b/src/NET_9/EmbeddediOS/LaunchScreen.storyboard
new file mode 100644
index 0000000..780b7ed
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/LaunchScreen.storyboard
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/Main.cs b/src/NET_9/EmbeddediOS/Main.cs
new file mode 100644
index 0000000..12eb763
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/Main.cs
@@ -0,0 +1,6 @@
+using EmbeddediOS;
+
+// This is the main entry point of the application.
+// 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/src/NET_9/EmbeddediOS/MauiPage.xaml b/src/NET_9/EmbeddediOS/MauiPage.xaml
new file mode 100644
index 0000000..6f04825
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MauiPage.xaml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/MauiPage.xaml.cs b/src/NET_9/EmbeddediOS/MauiPage.xaml.cs
new file mode 100644
index 0000000..f96691a
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MauiPage.xaml.cs
@@ -0,0 +1,6 @@
+namespace EmbeddediOS;
+
+public partial class MauiPage : ContentPage
+{
+ public MauiPage() => InitializeComponent();
+}
diff --git a/src/NET_9/EmbeddediOS/MauiView.xaml b/src/NET_9/EmbeddediOS/MauiView.xaml
new file mode 100644
index 0000000..73fe478
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MauiView.xaml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/MauiView.xaml.cs b/src/NET_9/EmbeddediOS/MauiView.xaml.cs
new file mode 100644
index 0000000..daca025
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MauiView.xaml.cs
@@ -0,0 +1,6 @@
+namespace EmbeddediOS;
+
+public partial class MauiView : ContentView
+{
+ public MauiView() => InitializeComponent();
+}
diff --git a/src/NET_9/EmbeddediOS/MyApp.xaml b/src/NET_9/EmbeddediOS/MyApp.xaml
new file mode 100644
index 0000000..5ac40cf
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MyApp.xaml
@@ -0,0 +1,17 @@
+
+
+
+ #512BD4
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/MyApp.xaml.cs b/src/NET_9/EmbeddediOS/MyApp.xaml.cs
new file mode 100644
index 0000000..cd72630
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/MyApp.xaml.cs
@@ -0,0 +1,6 @@
+namespace EmbeddediOS;
+
+public partial class MyApp : Microsoft.Maui.Controls.Application
+{
+ public MyApp() => InitializeComponent();
+}
diff --git a/src/NET_9/EmbeddediOS/Resources/LaunchScreen.xib b/src/NET_9/EmbeddediOS/Resources/LaunchScreen.xib
new file mode 100644
index 0000000..8190201
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/Resources/LaunchScreen.xib
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/NET_9/EmbeddediOS/SceneDelegate.cs b/src/NET_9/EmbeddediOS/SceneDelegate.cs
new file mode 100644
index 0000000..efa31a8
--- /dev/null
+++ b/src/NET_9/EmbeddediOS/SceneDelegate.cs
@@ -0,0 +1,54 @@
+namespace EmbeddediOS;
+
+[Register(nameof(SceneDelegate))]
+public class SceneDelegate : UIResponder, IUIWindowSceneDelegate
+{
+ [Export("window")]
+ public UIWindow? Window { get; set; }
+
+ [Export("scene:willConnectToSession:options:")]
+ public void WillConnect(UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions)
+ {
+ // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
+ // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
+ // This delegate does not imply the connecting scene or session are new(see UIApplicationDelegate `GetConfiguration` instead).
+ }
+
+ [Export("sceneDidDisconnect:")]
+ public void DidDisconnect(UIScene scene)
+ {
+ // Called as the scene is being released by the system.
+ // This occurs shortly after the scene enters the background, or when its session is discarded.
+ // Release any resources associated with this scene that can be re-created the next time the scene connects.
+ // The scene may re-connect later, as its session was not neccessarily discarded(see UIApplicationDelegate `DidDiscardSceneSessions` instead).
+ }
+
+ [Export("sceneDidBecomeActive:")]
+ public void DidBecomeActive(UIScene scene)
+ {
+ // Called when the scene has moved from an inactive state to an active state.
+ // Use this method to restart any tasks that were paused(or not yet started) when the scene was inactive.
+ }
+
+ [Export("sceneWillResignActive:")]
+ public void WillResignActive(UIScene scene)
+ {
+ // Called when the scene will move from an active state to an inactive state.
+ // This may occur due to temporary interruptions(ex. an incoming phone call).
+ }
+
+ [Export("sceneWillEnterForeground:")]
+ public void WillEnterForeground(UIScene scene)
+ {
+ // Called as the scene transitions from the background to the foreground.
+ // Use this method to undo the changes made on entering the background.
+ }
+
+ [Export("sceneDidEnterBackground:")]
+ public void DidEnterBackground(UIScene scene)
+ {
+ // Called as the scene transitions from the foreground to the background.
+ // Use this method to save data, release shared resources, and store enough scene-specific state information
+ // to restore the scene back to its current state.
+ }
+}