.net-core - 如何在 Avalonia UI 11 中添加 iOS 应用程序图标?

标签 .net-core maui avaloniaui avalonia

我目前正在 iOS 上试用 Avalonia 11。开发+测试体验很棒,但我不太清楚如何添加应用程序图标进行分发。截至目前,Avalonia 文档似乎还没有涵盖这一点。

在 MAUI 中,就像添加 <MauiIcon> 一样简单.csproj 中的标记并将其指向 svg。 Avalonia 似乎没有对此有任何内置支持,并且将 SVG 添加到 iOS 项目中的 Resources 文件夹似乎也不起作用。

应用商店上传者 (Transporter) 提示“ Assets 验证失败 (90713) 缺少 Info.plist 值。 bundle 中缺少 Info.plist 键“CFBundleIconName”的值 [...]`

我可以添加条目,但我不知道将其指向哪里。有什么想法吗?

最佳答案

已解决对于将来遇到此问题的任何人:

这与阿瓦罗尼亚没有任何关系。它似乎是 iOS 和 Xcode 构建的实现细节。 (我是 iOS 开发新手)

我做了以下事情:

  1. 在与我的 iOS.csproj 相同的目录中创建一个新的 Assets.xcassets 文件夹。
  2. 在 Xcode 中打开 Assets.xcassets
  3. 使用 Xcode 添加相关资源(就我而言,iOS 只需要一个 1024 x 1024 .png)
  4. 将以下内容添加到您的 Info.plist
    (在本例中,我的 appicon.png 在 Xcode 中名为 AppIcon)
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcon.appiconset</string>

从 App Store Connect 和 Transporter 返回的错误在这种方式上有点误导,因为它建议添加 CFBundleIconName。这可能也有效,但我没有测试过。

  • 通过运行构建 .ipa
  • dotnet publish -f net7.0-ios -c Release -p:ArchiveOnBuild=true -p:RuntimeIdentifier=ios-arm64
    
  • 将/bin/Release.net7.0-ios/ios-arm64/publish 中的 .ipa 包上传到 App Store Connect。
  • 我确实希望这个问题能记录在 Avalonia UI 文档中,即使从技术上来说这不是 Avalonia 问题。我们付出了很大的努力才取得了模板并使其能够实际部署到 App Store。不过,我真的很喜欢这个框架。

    更新:Avalonia 文档上现在有一个 Unresolved 问题来解释这一点: https://github.com/AvaloniaUI/Documentation/issues/423

    关于.net-core - 如何在 Avalonia UI 11 中添加 iOS 应用程序图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76176885/

    相关文章:

    docker - 在现有的 asp.net core docker 容器上安装 nginx

    elasticsearch - NEST dotnet core elastic 没有正确索引

    c# - Spin 在 Portable Class Library 中等待多次自旋

    maui - 从 Maui shell 导航传回数据

    xaml - 如何为 Avalonia 中的每个平台/操作系统定义一组单独的样式?

    c# - Net core VS 测试任务失败,错误为 : assembly specified in the application dependencies manifest deps json was not found

    c# - 为 MAUI Visual Studio 2022 安装 Android 工作负载时出现问题

    messaging - 使用 .NET Maui WeakReferenceManager 将消息从 ViewModel 发送到 View?

    c# - 如何在阿瓦隆尼亚扩展控制?

    c# - 在 Avalonia 应用程序中使用 Microsoft Store 在应用程序内购买