如何修复“'CFBundleIconName'丢失"将 ipa 上传到 AppStore 时出错? [英] How to fix "'CFBundleIconName' is missing" error when uploading ipa to AppStore?

查看:42
本文介绍了如何修复“'CFBundleIconName'丢失"将 ipa 上传到 AppStore 时出错?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

又一个'CFBundleIconName'丢失了"问题

我知道在 SO 中已经有很多题目几乎相同的问题,而且很多答案都提出了不同的解决方案.

I know there are already plenty of questions in SO with almost identical title, and many answers suggesting different solutions.

在我看来,这背后的问题是使用来自 Apple 的非常通用的信息来涵盖非常广泛的问题.

我有一个 iOS 应用(使用 Xamarin.Forms 编写),它已经在 AppStore 中发布.不过,最近我尝试上传更新,但收到了来自 Apple电子邮件,内容是

I have an iOS App (written using Xamarin.Forms), which is already published in the AppStore. Recently, nevertheless, i tried to upload an update and i got an e-mail from Apple saying

亲爱的开发者:

我们发现您的应用最近交付的一个或多个问题,《酷乐移动2021》2021.1.35242 (35242).请更正以下问题,然后重新上传.

We identified one or more issues with a recent delivery for your app, "Kuhnle Mobile 2021" 2021.1.35242 (35242). Please correct the following issues, then upload again.

ITMS-90713:缺少 Info.plist 值 - Info.plist 键的值捆绑包com.kuhnle.mobile2021"中缺少CFBundleIconName".使用 iOS 11 或更高版本 SDK 构建的应用程序必须在资产中提供应用程序图标目录,并且还必须为此 Info.plist 键提供值.为了更多信息见http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

ITMS-90713: Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.kuhnle.mobile2021'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

最好的问候,

应用商店团队

这是我第一次从 Apple 收到这条消息,但我很快明白我不是第一个这样做的:在 SO 和其他论坛中,我为不同的场景找到了许多解决方案,但遗憾的是,我找到的答案都不能解决我的问题:我一次又一次地从 Apple 收到相同的消息.

This is the first time i get this message from Apple, but i soon understood i was not the first to do so: Here in SO and in other forums i found many solutions for diverse scenarios, but sadly non of the answers i found could fix my issue: i keep getting that same message from Apple again and again.

接下来我将描述我的系统以及我已经尝试过的内容.

Next i will describe my system and what i have already tried.

配置详情

我正在使用

  • Xamarin.Forms 5.0.0.2012
  • 作为 IDE,我在 Windows 10 上使用 Visual Studio 19 16.10.
  • 要构建 iOS 应用程序,我使用带有 ma​​cOs Big Sur 11.4 的远程 MacMini
  • Xcode 12.5
  • Xamarin.Forms 5.0.0.2012
  • As IDE i am using Visual Studio 19 16.10 on Windows 10.
  • To build iOS app i use remote MacMini with macOs Big Sur 11.4
  • Xcode 12.5

项目详情

如上所述,我已经尝试/排除了我发现的所有选项/解决方案:

As mentioned above i already tried/ruled out all options/solutions i found:

  • 我的项目已经使用了资产目录(因为之前上传到 AppStore!),包括 1024 像素的 AppStore 图标.
  • 我的 Info.plist 已经有 XSAppIconAssetsCFBundleIconName,看起来像:
  • My project already uses Asset Catalogs (since previous uploads to AppStore!), with the 1024 pixels AppStore icon included.
  • My Info.plist already has XSAppIconAssets and CFBundleIconName, and looks like:
<?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>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </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>MinimumOSVersion</key>
    <string>13.5</string>
    <key>CFBundleDisplayName</key>
    <string>Kuhnle Mobile 2022</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>de</string>
    <key>CFBundleLocalizations</key>
    <array>
        <string>de</string>
        <string>en</string>
        <string>es</string>
    </array>
    <key>CFBundleIdentifier</key>
    <string>com.my.AppName</string>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIFileSharingEnabled</key>
    <true/>
    <key>LSSupportsOpeningDocumentsInPlace</key>
    <true/>
    <key>CFBundleShortVersionString</key>
    <string>2022.1.34969</string>
    <key>CFBundleVersion</key>
    <string>34969</string>
    <key>XSAppIconAssets</key>
    <string>Assets.xcassets/AppIcon.appiconset</string>
    <key>CFBundleIconName</key>
    <string>AppIcon</string>
    <key>UIUserInterfaceStyle</key>
    <string>Light</string>
    <key>NSCameraUsageDescription</key>
    <string>By granting access to the camera you will be able to make photos that you consider specifically relevant for the current document and have them stored directly in its associated folder.</string>
</dict>
</plist>

  • 我的~ios.csproj文件确实包含了ImageAssets,看起来像这样
    • My ~ios.csproj file indeed includes the ImageAssets, and looks like this
    •   <ItemGroup>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@2x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@2x1.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@3x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-761.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76@2x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-83.5@2x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-AppStore1024.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Notification20.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Notification20@3x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Settings29.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-401.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40@2x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40@2x1.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@2x.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@2x1.png">
            <Visible>false</Visible>
          </ImageAsset>
          <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@3x.png">
            <Visible>false</Visible>
          </ImageAsset>
        </ItemGroup>
      

      问题描述

      所有这一切:我可以使用 VS 构建、存档和上传项目,但是,在上传后,我会收到一封包含本文开头消息的电子邮件.此外,当我去检查我的 macMini 中的 ipa 文件时,我看不到 payload 文件夹中包含的任何资产,也没有 Assets.car 文件也不包含在内:尝试上传此 ipa 会导致 Apple 发送一封包含相同消息的电子邮件.

      Problem Description

      All this being said: i can Build, Archive and Upload the project using VS, nevertheless, after it has been uploaded i get an e-mail with the message at the beginning of this post. Furthermore, when i go and inspect the ipa file in my macMini, i can not see any assets included in the payload folder and no Assets.car file is included neither: trying to upload this ipa results in an e-mail from Apple with the same message.

      我真的很感激能解决这个问题的任何想法,因为我已经处理了几天了!

      I would really appreciate any idea to solve this problem, since i am already dealing with it for a couple of days!

      推荐答案

      更新 (16.06.2021)

      Visual Studio for Windows v.16.10.2 已经发布,并修复了导致 OP 问题的错误.

      Update (16.06.2021)

      Visual Studio for Windows v.16.10.2 has been released, and with it a fix to the bug causing the OP problem.

      这是一个已报告的错误,正在修复中

      This is a reported bug and a fix is in progress

      https://github.com/xamarin/xamarin-macios/issues/11786

      这篇关于如何修复“'CFBundleIconName'丢失"将 ipa 上传到 AppStore 时出错?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆