MAUI - 更改 iOS 的 AppIcon 和 SplashScreen

问题描述 投票:0回答:1

我尝试使用 MAUI 开发许多应用程序,并且总是成功地为 Android 设置应用程序图标和启动屏幕。我正在 iOS 上尝试同样的操作,并使用我的 iPhone SE 进行测试。 我正在使用 Visual Studio 2022 17.12.4 和 .NET 8。

我确信这不是我的应用程序的错:如果您使用.NET 8默认模板创建一个新的MAUI应用程序,只需更改AppIcon颜色并第一次构建+部署,应用程序图标就已经错误了! 尝试对颜色属性进行此编辑,清理,重建(发布)并部署新应用程序:

<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#B21016" />

该应用程序可以运行,但我总是看到默认的紫色 .NET MAUI 图标。 我现在不知道该尝试什么;我已经尝试过:

  • 调试和发布部署、卸载应用程序、重新启动设备以及清理/重新编译解决方案(使用这些操作的每种组合)
  • 这个解决方案(还设置不同的基础尺寸和颜色)
  • 微软描述的这里的每一步,像往常一样完全没用
  • 按照 Microsoft 的建议,简单地替换 2 个默认的 SVG 图标(appicon.svg 和 appiconfg.svg)
  • 只需更改
    <MauiIcon Include="Resources\AppIcon\appicon.svg" Color="#F7F7F7" BaseSize="50,50" />
  • 中的颜色
  • 将特定的 PropertyGroup 添加到我的 .csproj 文件(见下文)
  • 禁用热重载

已添加属性组:

<PropertyGroup>
    <EnableCodeSigning>true</EnableCodeSigning>
    <CodesignRequireProvisioningProfile>true</CodesignRequireProvisioningProfile>
    <DisableCodesignVerification>true</DisableCodesignVerification>
</PropertyGroup>

如果我手动更改 appicon.svg 的颜色并重新编译所有内容,我会在路径中找到编辑后的图像(MauiApp3\MauiApp3\obj\Release et8.0-ios\ios-arm64 尺寸调节器 \Assets.xcassets ppicon.appiconset):

enter image description here ...但部署的应用程序再次具有默认的紫色图标!

这是我正在使用的info.plist模板文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>arm64</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>XSAppIconAssets</key>
    <string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

我在网上找到了很多相关的帖子,但我找不到任何可行的解决方案:

MauiSplashScreen 在我的 iOS 应用程序中不起作用

启动画面图标未显示

https://nirav-parmar.medium.com/how-to-change-splash-screen-in-net-maui-31ec756a0ce3

https://learn.microsoft.com/en-us/answers/questions/1725068/my-app-icon-is-not-displayed- Correctly-on-ios-but

https://github.com/dotnet/maui/issues/24159#issuecomment-2284226056

这并不是那么难实现的:(

ios maui visual-studio-2022 .net-8.0
1个回答
0
投票

Color
属性仅在appicon图像/svg的背景是透明的情况下才有效。

在 Maui 的默认模板 'appicon.svg' 将指定背景

fill="#512BD4"
。因此,更改 .csproj 中的
Color
将不会产生任何效果。

如果你想让它生效,请在 appicon.svg 中将 fill-opacity 设置为 0,如下所示

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <rect x="0" y="0" width="456" height="456" fill="#512BD4" fill-opacity="0" />
</svg>

同样适用于您的自定义 svg。

© www.soinside.com 2019 - 2024. All rights reserved.