diff --git a/src/Templates/src/templates/maui-multiproject/.template.config/dotnetcli.host.json b/src/Templates/src/templates/maui-multiproject/.template.config/dotnetcli.host.json new file mode 100644 index 000000000..8d12aaf0f --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/.template.config/dotnetcli.host.json @@ -0,0 +1,25 @@ +{ + "$schema": "http://json.schemastore.org/dotnetcli.host", + "symbolInfo": { + "Framework": { + "longName": "framework" + }, + "android": { + "shortName": "" + }, + "ios": { + "shortName": "" + }, + "maccatalyst": { + "longName": "macos", + "shortName": "" + }, + "winui": { + "longName": "windows", + "shortName": "" + } + }, + "usageExamples": [ + "--framework DOTNET_TFM_VALUE --android --ios" + ] +} \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/.template.config/ide.host.json b/src/Templates/src/templates/maui-multiproject/.template.config/ide.host.json new file mode 100644 index 000000000..4f94bb878 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/.template.config/ide.host.json @@ -0,0 +1,44 @@ +{ + "$schema": "http://json.schemastore.org/ide.host", + "icon": "ide/icon.ico", + "unsupportedHosts": [ + { + "id": "vs", + "version": "(,17.3)" + } + ], + "requiredComponents": [ + { + "id": "Microsoft.VisualStudio.ComponentGroup.Maui.All", + "hostId": "vs", + "componentType": "SetupComponent" + } + ], + "symbolInfo": [ + { + "id": "Framework", + "persistenceScope": "shared", + "persistenceScopeName": "maui" + }, + { + "id": "android", + "isVisible": true, + "defaultValue": "true" + }, + { + "id": "ios", + "isVisible": true, + "defaultValue": "true" + }, + { + "id": "maccatalyst", + "isVisible": true, + "defaultValue": "true" + }, + { + "id": "winui", + "isVisible": true, + "defaultValue": "true" + } + ] +} \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/.template.config/ide/icon.ico b/src/Templates/src/templates/maui-multiproject/.template.config/ide/icon.ico new file mode 100644 index 000000000..20aa62a59 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/.template.config/ide/icon.ico differ diff --git a/src/Templates/src/templates/maui-multiproject/.template.config/template.json b/src/Templates/src/templates/maui-multiproject/.template.config/template.json new file mode 100644 index 000000000..e7e4afe62 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/.template.config/template.json @@ -0,0 +1,195 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Microsoft", + "classifications": [ "MAUI", "Android", "iOS", "macOS", "Mac Catalyst", "Windows", "Mobile" ], + "identity": "Microsoft.Maui.MultiProjectApp.CSharp.DOTNET_TFM_VERSION_VALUE", + "groupIdentity": "Microsoft.Maui.MultiProjectApp", + "precedence": "DOTNET_TFM_VERSION_MAJOR_VALUE", + "name": ".NET MAUI Multi-Project App", + "description": "A project for creating a .NET MAUI application for iOS, Android, Mac Catalyst and WinUI with multiple, separate app projects.", + "shortName": "maui-multiproject", + "tags": { + "language": "C#", + "type": "project" + }, + "sourceName": "MauiApp.1", + "primaryOutputs": [ + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "path": "MauiApp.1/MainPage.xaml.cs" + }, + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "path": "MauiApp.1/MainPage.xaml" + } + ], + "postActions": [ + { + "id": "openInEditor", + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\" && HostIdentifier != \"vs\")", + "description": "Opens MainPage.xaml in the editor.", + "manualInstructions": [], + "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6", + "args": { + "files": "0;1" + }, + "continueOnError": true + } + ], + "sources": [ + { + "source": "./", + "target": "./", + "copyOnly": [ "**/*.svg", "**/*.ttf" ], + "modifiers": [ + { + "condition": "(!android && !AllPlatforms)", + "exclude": [ + "MauiApp.1.Droid/**/*" + ] + }, + { + "condition": "(!ios && !AllPlatforms)", + "exclude": [ + "MauiApp.1.iOS/**/*" + ] + }, + { + "condition": "(!maccatalyst && !AllPlatforms)", + "exclude": [ + "MauiApp.1.Mac/**/*" + ] + }, + { + "condition": "(!winui && !AllPlatforms)", + "exclude": [ + "MauiApp.1.WinUI/**/*" + ] + } + ] + } + ], + "preferNameDirectory": true, + "guids": [ + "87919f9c-abb8-48e5-bae7-eb1b4140f6a8" + ], + "symbols": { + "applicationId": { + "type": "parameter", + "description": "Overrides the $(ApplicationId) in the project", + "datatype": "string" + }, + "msExtensionsLoggingDebugVersion": { + "type": "parameter", + "dataType": "string", + "replaces": "MS_EXT_LOG_DEBUG_VERSION", + "defaultValue": "MS_EXT_LOG_DEBUG_VERSION_VALUE" + }, + "Framework": { + "type": "parameter", + "description": "The target framework for the project.", + "datatype": "choice", + "choices": [ + { + "choice": "DOTNET_TFM_VALUE", + "description": "Target DOTNET_TFM_VALUE" + } + ], + "replaces": "DOTNET_TFM", + "defaultValue": "DOTNET_TFM_VALUE" + }, + "android": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "defaultIfOptionWithoutValue": "true", + "displayName": "Android", + "description": "Include the Android app head project" + }, + "ios": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "defaultIfOptionWithoutValue": "true", + "displayName": "iOS", + "description": "Include the iOS app head project" + }, + "maccatalyst": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "defaultIfOptionWithoutValue": "true", + "displayName": "macOS using Mac Catalyst", + "description": "Include the macOS app head project (using Mac Catalyst)" + }, + "winui": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "defaultIfOptionWithoutValue": "true", + "displayName": "Windows using WinUI 3", + "description": "Include the Windows app head project (using WinUI 3)" + }, + "AllPlatforms": { + "type": "computed", + "value": "(!android && !ios && !maccatalyst && !winui)" + }, + "HostIdentifier": { + "type": "bind", + "binding": "HostIdentifier" + }, + "PhoneProductId": { + "type": "generated", + "generator": "guid", + "replaces": "$guid9$" + }, + "nameToLower":{ + "type": "generated", + "generator": "casing", + "parameters": { + "source" : "name", + "toLower": true + } + }, + "nameToAppId": { + "type": "generated", + "generator": "regex", + "dataType": "string", + "parameters": { + "source": "nameToLower", + "steps": [ + { + "regex": "[^a-z0-9_\\.]", + "replacement": "" + } + ] + } + }, + "defaultAppId":{ + "type": "generated", + "generator": "join", + "parameters": { + "symbols": [ + { + "type": "const", + "value": "com.companyname." + }, + { + "type": "ref", + "value": "nameToAppId" + } + ] + } + }, + "finalAppId":{ + "type":"generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "applicationId", + "fallbackVariableName": "defaultAppId" + }, + "replaces": "com.companyname.mauiapp" + } + }, + "defaultName": "MauiApp1" +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/AndroidManifest.xml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/AndroidManifest.xml new file mode 100644 index 000000000..b84d05364 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Assets/AboutAndroidAssets.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Assets/AboutAndroidAssets.txt new file mode 100644 index 000000000..072563f8f --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Assets/AboutAndroidAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with your package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainActivity.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainActivity.cs new file mode 100644 index 000000000..fda96bb10 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainActivity.cs @@ -0,0 +1,10 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace MauiApp._1.Droid; + +[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] +public class MainActivity : MauiAppCompatActivity +{ +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainApplication.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainApplication.cs new file mode 100644 index 000000000..ea905cda2 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MainApplication.cs @@ -0,0 +1,15 @@ +using Android.App; +using Android.Runtime; + +namespace MauiApp._1.Droid; + +[Application] +public class MainApplication : MauiApplication +{ + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiApp.1.Droid.csproj b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiApp.1.Droid.csproj new file mode 100644 index 000000000..b339f16b9 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiApp.1.Droid.csproj @@ -0,0 +1,22 @@ + + + + DOTNET_TFM-android + 21.0 + Exe + enable + enable + true + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiProgram.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiProgram.cs new file mode 100644 index 000000000..0833c3f67 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/MauiProgram.cs @@ -0,0 +1,14 @@ +namespace MauiApp._1.Droid; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + + builder + .UseSharedMauiApp(); + + return builder.Build(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/AboutAndroidResources.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/AboutAndroidResources.txt new file mode 100644 index 000000000..219f42544 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/AboutAndroidResources.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. \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-hdpi/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-hdpi/dotnet_bot_devices.png new file mode 100644 index 000000000..55eb32f74 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-hdpi/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-mdpi/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-mdpi/dotnet_bot_devices.png new file mode 100644 index 000000000..ddfdfcf0d Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-mdpi/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xhdpi/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xhdpi/dotnet_bot_devices.png new file mode 100644 index 000000000..bd3952f54 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xhdpi/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxhdpi/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxhdpi/dotnet_bot_devices.png new file mode 100644 index 000000000..b61c64df3 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxhdpi/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxxhdpi/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxxhdpi/dotnet_bot_devices.png new file mode 100644 index 000000000..969ac3165 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/drawable-xxxhdpi/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon.xml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon.xml new file mode 100644 index 000000000..7751f6951 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon_round.xml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon_round.xml new file mode 100644 index 000000000..7751f6951 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-anydpi-v26/appicon_round.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon.png new file mode 100644 index 000000000..0abfc1b58 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_background.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_background.png new file mode 100644 index 000000000..513e69d84 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_background.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_foreground.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_foreground.png new file mode 100644 index 000000000..99d3a291b Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-hdpi/appicon_foreground.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon.png new file mode 100644 index 000000000..7b5a2e2bf Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_background.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_background.png new file mode 100644 index 000000000..9e2d1e4d8 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_background.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_foreground.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_foreground.png new file mode 100644 index 000000000..a28d342c1 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-mdpi/appicon_foreground.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon.png new file mode 100644 index 000000000..b28b73c65 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_background.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_background.png new file mode 100644 index 000000000..658be3fb6 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_background.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_foreground.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_foreground.png new file mode 100644 index 000000000..70a542ac0 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xhdpi/appicon_foreground.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon.png new file mode 100644 index 000000000..f9af1173e Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_background.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_background.png new file mode 100644 index 000000000..9171c3e40 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_background.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_foreground.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_foreground.png new file mode 100644 index 000000000..cb63bfb9f Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxhdpi/appicon_foreground.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon.png new file mode 100644 index 000000000..1d948d6b5 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_background.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_background.png new file mode 100644 index 000000000..1232d8c8d Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_background.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_foreground.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_foreground.png new file mode 100644 index 000000000..9f9c9e6d9 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/mipmap-xxxhdpi/appicon_foreground.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/colors.xml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/colors.xml new file mode 100644 index 000000000..c04d7492a --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/strings.xml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/strings.xml new file mode 100644 index 000000000..62fc6797d --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Droid/Resources/values/strings.xml @@ -0,0 +1,3 @@ + + MauiApp.1 + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/AppDelegate.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/AppDelegate.cs new file mode 100644 index 000000000..b223f6312 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/AppDelegate.cs @@ -0,0 +1,9 @@ +using Foundation; + +namespace MauiApp._1.Mac; + +[Register(nameof(AppDelegate))] +public class AppDelegate : MauiUIApplicationDelegate +{ + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..2242b9aac --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images": [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16", + "filename": "Icon16.png" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16", + "filename": "Icon32.png" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32", + "filename": "Icon32.png" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32", + "filename": "Icon64.png" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128", + "filename": "Icon128.png" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128", + "filename": "Icon256.png" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256", + "filename": "Icon256.png" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256", + "filename": "Icon512.png" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512", + "filename": "Icon512.png" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512", + "filename": "Icon1024.png" + } + ], + "info": { + "version": 1, + "author": "xcode" + }, +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon1024.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon1024.png new file mode 100644 index 000000000..d76627d49 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon1024.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon128.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon128.png new file mode 100644 index 000000000..0f75ad9c6 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon128.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon16.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon16.png new file mode 100644 index 000000000..fbbb18701 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon16.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon256.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon256.png new file mode 100644 index 000000000..5233b44b5 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon256.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon32.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon32.png new file mode 100644 index 000000000..5ac181616 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon32.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon512.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon512.png new file mode 100644 index 000000000..b152227c7 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon512.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon64.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon64.png new file mode 100644 index 000000000..5c497ade8 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Assets.xcassets/AppIcon.appiconset/Icon64.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Entitlements.plist b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Entitlements.plist new file mode 100644 index 000000000..099388e90 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Entitlements.plist @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Info.plist b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Info.plist new file mode 100644 index 000000000..bfc560a2d --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDisplayName + MauiApp.1 + CFBundleIdentifier + com.companyname.mauiapp + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + + + + + + + + + UIDeviceFamily + + 2 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Main.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Main.cs new file mode 100644 index 000000000..52b8c6738 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Main.cs @@ -0,0 +1,15 @@ +using ObjCRuntime; +using UIKit; + +namespace MauiApp._1.Mac; + +public class Program +{ + // 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/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiApp.1.Mac.csproj b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiApp.1.Mac.csproj new file mode 100644 index 000000000..f94db875e --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiApp.1.Mac.csproj @@ -0,0 +1,22 @@ + + + + DOTNET_TFM-maccatalyst + 13.1 + Exe + enable + enable + true + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiProgram.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiProgram.cs new file mode 100644 index 000000000..636413324 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/MauiProgram.cs @@ -0,0 +1,14 @@ +namespace MauiApp._1.Mac; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + + builder + .UseSharedMauiApp(); + + return builder.Build(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/AboutMacCatalystResources.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/AboutMacCatalystResources.txt new file mode 100644 index 000000000..08e8a109a --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/AboutMacCatalystResources.txt @@ -0,0 +1 @@ +This folder can contain all the Mac Catalyst-specific resources that your app may use. diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/LaunchScreen.xib b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/LaunchScreen.xib new file mode 100644 index 000000000..819020174 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/LaunchScreen.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices.png new file mode 100644 index 000000000..ddfdfcf0d Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@2x.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@2x.png new file mode 100644 index 000000000..bd3952f54 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@2x.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@3x.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@3x.png new file mode 100644 index 000000000..b61c64df3 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.Mac/Resources/dotnet_bot_devices@3x.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml new file mode 100644 index 000000000..843bd268c --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml.cs new file mode 100644 index 000000000..fd28c9d60 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace MauiApp._1.WinUI; + +/// +/// Provides application-specific behavior to supplement the default Application class. +/// +public partial class App : MauiWinUIApplication +{ + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/AboutWinUIAssets.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/AboutWinUIAssets.txt new file mode 100644 index 000000000..8873ebcdf --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/AboutWinUIAssets.txt @@ -0,0 +1,21 @@ +This folder can contain all the Windows-specific assets that your app may use. + +Accessing items here can be done using the `ms-appx` uri sceme; + +For example, if there is a file: + + \Assets\my_image.png + +This can be accessed with the uri: + + ms-appx:///Assets/my_image.png + +The files in the root ofthe Assets folder are meant to only be accessible from +the Windows-specific files - such as the Package.appxmanifest. When using an +asset for the manifest, you would refer to it with the `Asset\` prefix. + +For images that are meant to be accessed from cross-platform code, like XAML +files, images should be placed into the `Assets\Images` folder as those are +packaged differently to ensure the path matches that for the other platforms. + +For more information, see the Assets\ImagesAboutWinUIImages.txt file. diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/AboutWinUIImages.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/AboutWinUIImages.txt new file mode 100644 index 000000000..487652f73 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/AboutWinUIImages.txt @@ -0,0 +1,13 @@ +This folder can contain all the Windows-specific images that your app may use. + +The images in the `Images` sub folder are easily accessible in cross-platform +code because they are packaged in the root of the application making them +have a similar path to the other platforms. + +For example, if there is a file: + + /Assets/Images/my_image.png + +This can be accessed with the same code as the other platforms in shared code: + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-100.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-100.png new file mode 100644 index 000000000..ddfdfcf0d Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-100.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-125.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-125.png new file mode 100644 index 000000000..db96ebee0 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-125.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-150.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-150.png new file mode 100644 index 000000000..55eb32f74 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-150.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-200.png new file mode 100644 index 000000000..bd3952f54 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-400.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-400.png new file mode 100644 index 000000000..969ac3165 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Images/dotnet_bot_devices.scale-400.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/LockScreenLogo.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 000000000..7440f0d4b Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/LockScreenLogo.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/SplashScreen.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/SplashScreen.scale-200.png new file mode 100644 index 000000000..32f486a86 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/SplashScreen.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square150x150Logo.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 000000000..53ee3777e Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square150x150Logo.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 000000000..f713bba67 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 000000000..dc9f5bea0 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/StoreLogo.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/StoreLogo.png new file mode 100644 index 000000000..a4586f26b Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/StoreLogo.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Wide310x150Logo.scale-200.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 000000000..8b4a5d0dd Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Assets/Wide310x150Logo.scale-200.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiApp.1.WinUI.csproj b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiApp.1.WinUI.csproj new file mode 100644 index 000000000..e1b51eab1 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiApp.1.WinUI.csproj @@ -0,0 +1,58 @@ + + + + WinExe + DOTNET_TFM-windows10.0.19041.0 + 10.0.17763.0 + MauiApp.1.WinUI + app.manifest + x86;x64;ARM64 + win10-x86;win10-x64;win10-arm64 + win10-$(Platform).pubxml + true + true + enable + enable + true + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiProgram.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiProgram.cs new file mode 100644 index 000000000..445fb2f32 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/MauiProgram.cs @@ -0,0 +1,14 @@ +namespace MauiApp._1.WinUI; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + + builder + .UseSharedMauiApp(); + + return builder.Build(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Package.appxmanifest b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Package.appxmanifest new file mode 100644 index 000000000..c91e49491 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Package.appxmanifest @@ -0,0 +1,46 @@ + + + + + + + + + MauiApp.1 + User Name + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-arm64.pubxml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-arm64.pubxml new file mode 100644 index 000000000..a7fdd16b6 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-arm64.pubxml @@ -0,0 +1,20 @@ + + + + + FileSystem + ARM64 + win10-arm64 + bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ + true + False + False + True + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x64.pubxml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x64.pubxml new file mode 100644 index 000000000..26ea7e55c --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x64.pubxml @@ -0,0 +1,20 @@ + + + + + FileSystem + x64 + win10-x64 + bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ + true + False + False + True + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x86.pubxml b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x86.pubxml new file mode 100644 index 000000000..34d14d4d4 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/PublishProfiles/win10-x86.pubxml @@ -0,0 +1,20 @@ + + + + + FileSystem + x86 + win10-x86 + bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ + true + False + False + True + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/launchSettings.json b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/launchSettings.json new file mode 100644 index 000000000..af97d49d1 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": true + } + } +} \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/app.manifest b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/app.manifest new file mode 100644 index 000000000..41ef234cb --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.WinUI/app.manifest @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + PerMonitorV2 + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/AppDelegate.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/AppDelegate.cs new file mode 100644 index 000000000..fea446bed --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/AppDelegate.cs @@ -0,0 +1,9 @@ +using Foundation; + +namespace MauiApp._1.iOS; + +[Register(nameof(AppDelegate))] +public class AppDelegate : MauiUIApplicationDelegate +{ + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..98f4d035c --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/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" + } +} \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png new file mode 100644 index 000000000..b57320541 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png new file mode 100644 index 000000000..0b74155a2 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png new file mode 100644 index 000000000..1c1931312 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png new file mode 100644 index 000000000..4e3e8bd8e Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png new file mode 100644 index 000000000..40a737125 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png new file mode 100644 index 000000000..8bb138325 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png new file mode 100644 index 000000000..bdd130c35 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png new file mode 100644 index 000000000..75d27899e Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png new file mode 100644 index 000000000..06afa6091 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png new file mode 100644 index 000000000..2e0db2a61 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png new file mode 100644 index 000000000..755bc880a Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png new file mode 100644 index 000000000..6559bb4da Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png new file mode 100644 index 000000000..ca28c8d7a Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Entitlements.plist b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Entitlements.plist new file mode 100644 index 000000000..6631ffa6f --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Info.plist b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Info.plist new file mode 100644 index 000000000..8aec6ac4f --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Info.plist @@ -0,0 +1,42 @@ + + + + + CFBundleDisplayName + MauiApp.1 + CFBundleIdentifier + com.companyname.mauiapp + 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/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Main.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Main.cs new file mode 100644 index 000000000..0c8e7fd10 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Main.cs @@ -0,0 +1,15 @@ +using ObjCRuntime; +using UIKit; + +namespace MauiApp._1.iOS; + +public class Program +{ + // 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/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiApp.1.iOS.csproj b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiApp.1.iOS.csproj new file mode 100644 index 000000000..7a85e2831 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiApp.1.iOS.csproj @@ -0,0 +1,22 @@ + + + + DOTNET_TFM-ios + 11.0 + Exe + enable + enable + true + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiProgram.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiProgram.cs new file mode 100644 index 000000000..2b59716cc --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/MauiProgram.cs @@ -0,0 +1,14 @@ +namespace MauiApp._1.iOS; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + + builder + .UseSharedMauiApp(); + + return builder.Build(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/AboutiOSResources.txt b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/AboutiOSResources.txt new file mode 100644 index 000000000..aa5d43448 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/AboutiOSResources.txt @@ -0,0 +1 @@ +This folder can contain all the iOS-specific resources that your app may use. diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.storyboard b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.storyboard new file mode 100644 index 000000000..6aec96718 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.xib b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.xib new file mode 100644 index 000000000..43749da15 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/LaunchScreen.xib @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices.png new file mode 100644 index 000000000..ddfdfcf0d Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@2x.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@2x.png new file mode 100644 index 000000000..bd3952f54 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@2x.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@3x.png b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@3x.png new file mode 100644 index 000000000..b61c64df3 Binary files /dev/null and b/src/Templates/src/templates/maui-multiproject/MauiApp.1.iOS/Resources/dotnet_bot_devices@3x.png differ diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml b/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml new file mode 100644 index 000000000..f0d41ff06 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml.cs new file mode 100644 index 000000000..7f3b59d3b --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1/App.xaml.cs @@ -0,0 +1,11 @@ +namespace MauiApp._1; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml b/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml new file mode 100644 index 000000000..0708e98af --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml.cs b/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml.cs new file mode 100644 index 000000000..b0d434474 --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1/AppShell.xaml.cs @@ -0,0 +1,9 @@ +namespace MauiApp._1; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + } +} diff --git a/src/Templates/src/templates/maui-multiproject/MauiApp.1/MainPage.xaml b/src/Templates/src/templates/maui-multiproject/MauiApp.1/MainPage.xaml new file mode 100644 index 000000000..81c95ce3d --- /dev/null +++ b/src/Templates/src/templates/maui-multiproject/MauiApp.1/MainPage.xaml @@ -0,0 +1,36 @@ + + + + + + + +