MAUI .Net8 IOS:资产验证失败 (90704) 缺少应用程序图标

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

我正在 VS 17.9.6 / .net8 上使用 MAUI 来开发多平台 IOS-Android 应用程序。

我已经到了想要在 IOS 应用商店中发布应用程序的阶段,但是当我使用 Transporter 上传它时,我收到此验证错误:

资产验证失败 (90704) 缺少应用程序图标。包含一个大型应用程序 图标为 1024 x 1024 像素 PNG,位于应用程序的资产目录中 适用于 iOS、iPadOS 或 watchOS。如果没有此图标,应用程序将无法运行 已提交审核。

如果我使用 plutil 工具查看应用程序包中的 Info.plist 文件,我会在其中看到以下内容:

"CFBundleIcons" => {
    "CFBundlePrimaryIcon" => {
      "CFBundleIconFiles" => [
        0 => "appicon60x60"
      ]
      "CFBundleIconName" => "appicon"
    }
  }
  "CFBundleIcons~ipad" => {
    "CFBundlePrimaryIcon" => {
      "CFBundleIconFiles" => [
        0 => "appicon60x60"
        1 => "appicon76x76"
      ]
      "CFBundleIconName" => "appicon"
    }
  }

如果我查看应用程序包中的上述 .png 文件,它们都非常小。顺便说一句,这些 PNG 是由 MAUI 从项目中配置的 SVG 文件生成的,如下所示:

<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#000000" BaseSize="1024,1024"/>

如何生成足够大的 appicon,然后通过 MAUI 构建过程将其包含在 Info.plist 文件中?我尝试根据我在here找到的内容手动修改 Info.plist 文件,但这对我不起作用。该解决方案似乎是 Xamarin 特定的。

我查看了各种 MAUI 文档(包括这个 MS page),但我在那里找不到任何相关内容。

maui maui-ios
1个回答
0
投票

我已经成功解决了这个问题。一个重要的附加细节是,我使用如下命令从命令行生成 .ipa 存档。我从 Visual Studio 项目的主文件夹运行了这个。

dotnet publish -f net8.0-ios -c Release -p:ArchiveOnBuild=true -p:RuntimeIdentifier=ios-arm64 -p:ServerAddress=192.168.x.x -p:ServerUser=xxxxx -p:ServerPassword=xxxx -p:TcpPort=58181 -p:_DotNetRootRemoteDirectory=/Users/xxxx/Library/Caches/Xamarin/XMA/SDKs/dotn 
et/ -p:CodesignKey="iPhone Distribution: xxxxxx" -p:CodesignProvision="xxxxx"

使用 Transporter 上传到 Apple Store 时生成的 .ipa 文件将无法验证,并出现我的问题中提到的错误消息。

我使用命令行作为解决方法,因为 VS 17.9.6 中的“发布”功能对我不起作用。每当我尝试发布时,我都会在屏幕上看到一条消息“没有可用的存档版本”,所以我有点卡住了。

然后我安装了 VS 17.10 预览版,发布功能似乎又可以使用了。不过,上传到商店仍然失败,并出现一些神秘的错误......

为了克服最后一个问题,我通过登录我的 Mac 并查找存档文件夹(通常位于 /Users/username/Library/Developer/Xcode/Archives),成功将我的应用程序上传到 Appstore。

找到要上传的存档(.xcarchive 文件夹)后,选择“打开方式...Xcode”。从那里,您将能够验证应用程序,然后上传它。这需要在 Xcode 中预先配置您的 Apple 发行版配置文件。为此,我使用 Xcode 创建了一个空的 iOS 应用程序,并配置了我的 Apple 开发和分发配置文件。

enter image description here

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