diff --git a/Assets/Assets.pcvd b/Assets/Assets.pcvd index af8d67b..df7d4bc 100644 Binary files a/Assets/Assets.pcvd and b/Assets/Assets.pcvd differ diff --git a/Assets/appicon.png b/Assets/appicon.png new file mode 100644 index 0000000..5a6687b Binary files /dev/null and b/Assets/appicon.png differ diff --git a/Assets/appicon.svg b/Assets/appicon.svg index e42dc04..6d428b4 100644 --- a/Assets/appicon.svg +++ b/Assets/appicon.svg @@ -1,21 +1,24 @@ - + - + - - + + + + + - + @@ -30,7 +33,6 @@ - MAUI Native Embedded diff --git a/Assets/icon-100.png b/Assets/icon-100.png index 2d2758c..c8bf43c 100644 Binary files a/Assets/icon-100.png and b/Assets/icon-100.png differ diff --git a/Assets/icon.png b/Assets/icon.png index e52d584..1585ada 100644 Binary files a/Assets/icon.png and b/Assets/icon.png differ diff --git a/Assets/splash.svg b/Assets/splash.svg index 00e639a..e8b1890 100644 --- a/Assets/splash.svg +++ b/Assets/splash.svg @@ -3,35 +3,44 @@ - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MAUI Native Embedded + - - - - - - - - - - - - - - - - - - MAUI Native Embedded diff --git a/MAUI.Native.Embedded.Sample/MAUI.Native.Embedded.Sample.csproj b/MAUI.Native.Embedded.Sample/MAUI.Native.Embedded.Sample.csproj index 0dc1cee..a7e2d32 100644 --- a/MAUI.Native.Embedded.Sample/MAUI.Native.Embedded.Sample.csproj +++ b/MAUI.Native.Embedded.Sample/MAUI.Native.Embedded.Sample.csproj @@ -55,7 +55,7 @@ - + diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/Contents.json b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..0191a49 100644 --- a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "appicon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/appicon.png b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/appicon.png new file mode 100644 index 0000000..5a6687b Binary files /dev/null and b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.clip/Assets.xcassets/AppIcon.appiconset/appicon.png differ diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/Contents.json b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..0191a49 100644 --- a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "appicon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/appicon.png b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/appicon.png new file mode 100644 index 0000000..5a6687b Binary files /dev/null and b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.widget/Assets.xcassets/AppIcon.appiconset/appicon.png differ diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.xcodeproj/project.pbxproj b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.xcodeproj/project.pbxproj index f758497..6ebb7d6 100644 --- a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.xcodeproj/project.pbxproj +++ b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios.xcodeproj/project.pbxproj @@ -10,7 +10,7 @@ 27AEEC222E32DE3C00C8888B /* MAUI.Native.Embedded.ios.clip.app in Embed App Clips */ = {isa = PBXBuildFile; fileRef = 27AEEC162E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 27E1AA1D2E3BEB200088A649 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E1AA1C2E3BEB200088A649 /* WidgetKit.framework */; }; 27E1AA1F2E3BEB200088A649 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E1AA1E2E3BEB200088A649 /* SwiftUI.framework */; }; - 27E1AA302E3BEB240088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 27E1AA302E3BEB240088A649 /* MAUI.Native.Embedded.ios.widget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -48,7 +48,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - 27E1AA302E3BEB240088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex in Embed Foundation Extensions */, + 27E1AA302E3BEB240088A649 /* MAUI.Native.Embedded.ios.widget.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -58,7 +58,7 @@ /* Begin PBXFileReference section */ 27AEEBD42E32D63500C8888B /* MAUI.Native.Embedded.ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MAUI.Native.Embedded.ios.app; sourceTree = BUILT_PRODUCTS_DIR; }; 27AEEC162E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MAUI.Native.Embedded.ios.clip.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = MAUI.Native.Embedded.ios.WidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = MAUI.Native.Embedded.ios.widget.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 27E1AA1C2E3BEB200088A649 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 27E1AA1E2E3BEB200088A649 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -71,12 +71,12 @@ ); target = 27AEEC152E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip */; }; - 27C049D82E3BED5500313AFA /* Exceptions for "MAUI.Native.Embedded.ios.widget" folder in "MAUI.Native.Embedded.ios.WidgetExtension" target */ = { + 27C049D82E3BED5500313AFA /* Exceptions for "MAUI.Native.Embedded.ios.widget" folder in "MAUI.Native.Embedded.ios.widget" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, ); - target = 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension */; + target = 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ @@ -97,7 +97,7 @@ 27E1AA202E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - 27C049D82E3BED5500313AFA /* Exceptions for "MAUI.Native.Embedded.ios.widget" folder in "MAUI.Native.Embedded.ios.WidgetExtension" target */, + 27C049D82E3BED5500313AFA /* Exceptions for "MAUI.Native.Embedded.ios.widget" folder in "MAUI.Native.Embedded.ios.widget" target */, ); path = MAUI.Native.Embedded.ios.widget; sourceTree = ""; @@ -147,7 +147,7 @@ children = ( 27AEEBD42E32D63500C8888B /* MAUI.Native.Embedded.ios.app */, 27AEEC162E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip.app */, - 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex */, + 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget.appex */, ); name = Products; sourceTree = ""; @@ -212,9 +212,9 @@ productReference = 27AEEC162E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip.app */; productType = "com.apple.product-type.application.on-demand-install-capable"; }; - 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension */ = { + 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */ = { isa = PBXNativeTarget; - buildConfigurationList = 27E1AA352E3BEB240088A649 /* Build configuration list for PBXNativeTarget "MAUI.Native.Embedded.ios.WidgetExtension" */; + buildConfigurationList = 27E1AA352E3BEB240088A649 /* Build configuration list for PBXNativeTarget "MAUI.Native.Embedded.ios.widget" */; buildPhases = ( 27E1AA162E3BEB200088A649 /* Sources */, 27E1AA172E3BEB200088A649 /* Frameworks */, @@ -227,11 +227,11 @@ fileSystemSynchronizedGroups = ( 27E1AA202E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */, ); - name = MAUI.Native.Embedded.ios.WidgetExtension; + name = MAUI.Native.Embedded.ios.widget; packageProductDependencies = ( ); productName = MAUI.Native.Embedded.ios.WidgetExtension; - productReference = 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension.appex */; + productReference = 27E1AA1A2E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ @@ -271,7 +271,7 @@ targets = ( 27AEEBD32E32D63500C8888B /* MAUI.Native.Embedded.ios */, 27AEEC152E32DE3800C8888B /* MAUI.Native.Embedded.ios.clip */, - 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension */, + 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */, ); }; /* End PBXProject section */ @@ -332,7 +332,7 @@ }; 27E1AA2F2E3BEB240088A649 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.WidgetExtension */; + target = 27E1AA192E3BEB200088A649 /* MAUI.Native.Embedded.ios.widget */; targetProxy = 27E1AA2E2E3BEB240088A649 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -661,7 +661,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 27E1AA352E3BEB240088A649 /* Build configuration list for PBXNativeTarget "MAUI.Native.Embedded.ios.WidgetExtension" */ = { + 27E1AA352E3BEB240088A649 /* Build configuration list for PBXNativeTarget "MAUI.Native.Embedded.ios.widget" */ = { isa = XCConfigurationList; buildConfigurations = ( 27E1AA322E3BEB240088A649 /* Debug */, diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/Contents.json b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..0191a49 100644 --- a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "appicon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/appicon.png b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/appicon.png new file mode 100644 index 0000000..5a6687b Binary files /dev/null and b/MAUI.Native.Embedded.Sample/Platforms/iOS/MAUI.Native.Embedded.ios/MAUI.Native.Embedded.ios/Assets.xcassets/AppIcon.appiconset/appicon.png differ diff --git a/MAUI.Native.Embedded.nuget/build/MAUI.Native.Embedded.ios.appclips.targets b/MAUI.Native.Embedded.nuget/build/MAUI.Native.Embedded.ios.appclips.targets index 6982b71..6a734fa 100644 --- a/MAUI.Native.Embedded.nuget/build/MAUI.Native.Embedded.ios.appclips.targets +++ b/MAUI.Native.Embedded.nuget/build/MAUI.Native.Embedded.ios.appclips.targets @@ -38,19 +38,26 @@ - - + true - + + + + + + $([System.String]::Copy('$***(AppIdentifierPrefix)').Replace('***', ''))$(AppClipsIdentifiers) + + + @@ -61,12 +68,30 @@ <_AppClipsFiles> $([System.Text.RegularExpressions.Regex]::Replace('%(_AppClipsFiles.FullPath)', '^.*[\\/]AppClips[\\/]', '')) + + + - + + + + + + + + + + - diff --git a/README.md b/README.md index 205d951..a3acd20 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ You can override scheme like this: ``` ### Configuration (optional) -Normally in Xcode projects, the configurations are called `Debug` and `Release`. This usually corrosponds to the configurations used in .NET and MAUI projects. +Normally in Xcode projects, the configurations are called `Debug` and `Release`. This usually corresponds to the configurations used in .NET and MAUI projects. When building your embedded Xcode project the configuration names from your MAUI project will be used. @@ -74,7 +74,7 @@ You can skip validation like this: ``` ### NoSigning (optional) -Especially for CI builds, it can be difficult to get provisionings working. In order to mitigate this, you can skip signing of the xcode project. I also am skipping signing in the sample app in order for it to build straight out of the box. +Especially for CI builds, it can be difficult to get provisionings working. In order to mitigate this, you can skip signing of the Xcode project. I also am skipping signing in the sample app in order for it to build straight out of the box. You can skip signing like this: ``` @@ -131,4 +131,4 @@ Support AppClip or Widget for iOS in your MAUI project by adding this to your pr ## Disclaimer Embedding native elements into MAUI might look easy with this nuget. But please note that this nuget only puts the native part in the MAUI app. -Making C# talk to SwiftUI or Objective-C is not that easy. \ No newline at end of file +Making C# talk to Swift/SwiftUI/Objective-C is not that easy. \ No newline at end of file