【问题标题】:Missing Info.plist value (CFBundleIconName) after Xamarin update. How can I fix it?Xamarin 更新后缺少 Info.plist 值 (CFBundleIconName)。我该如何解决?
【发布时间】:2018-03-19 18:45:34
【问题描述】:

在我的 Mac 上更新我的 Xamarin、xCode 并尝试上传到 App Store 后,我收到了来自 Apple 的此类电子邮件:

缺少 Info.plist 值 - 捆绑包“com.xxxx.yyyy”中缺少 Info.plist 键“CFBundleIconName”的值。使用 iOS 11 或更高版本 SDK 构建的应用程序必须在资产目录中提供应用程序图标,并且还必须为此 Info.plist 键提供值。有关详细信息,请参阅http://help.apple.com/xcode/mac/current/#/dev10510b1f7。更正这些问题后,您可以重新交付更正后的二进制文件

据我了解,我需要将我的图标转换为资产目录,但我不知道如何在 Visual Studio 2015(Windows) 中完成此操作? 这是我的 info.plist 的一部分:

<key>CFBundleDisplayName</key>
<string>Name - Online</string>
<key>CFBundleIdentifier</key>
<string>com.xxxxx.xxxxxx</string>
<key>CFBundleVersion</key>
<string>3.4</string>
<key>CFBundleIconFiles</key>
<array>
    <string>Icon-72@2x.png</string>
    <string>Icon-72.png</string>
    <string>Icon@2x.png</string>
    <string>Icon.png</string>
    <string>Icon-60@2x.png</string>
    <string>Icon-76.png</string>
    <string>Icon-76@2x.png</string>
    <string>Default.png</string>
    <string>Default@2x.png</string>
    <string>Default-568h@2x.png</string>
    <string>Default-Landscape.png</string>
    <string>Default-Landscape@2x.png</string>
    <string>Default-Portrait.png</string>
    <string>Default-Portrait@2x.png</string>
    <string>Icon-Small-50@2x.png</string>
    <string>Icon-Small-50.png</string>
    <string>Icon-Small-40.png</string>
    <string>Icon-Small-40@2x.png</string>
    <string>Icon-Small.png</string>
</array>
<key>CFBundleShortVersionString</key>
<string>4.4</string>

【问题讨论】:

    标签: xcode xamarin app-store ios11 info-plist


    【解决方案1】:

    我遇到了完全相同的问题。基本上这帮助我解决了问题:https://github.com/MobiVM/robovm/issues/210

    1. 右击 info.plist,选择“Open with ...”并选择“iOS Manifest Editor”。
    2. 转到可视资产选项卡并选择“使用资产目录”
    3. 保存后,在解决方案资源管理器中转到您的项目,您应该会看到 Asset Catalogs 文件夹。打开它并双击媒体。
    4. 转到 AppIcons 并为您正在构建的平台提供所有必要的图标。确保您还包括 1024x1024 像素的 App Store 图标。如果您遗漏了任何需要的内容,您将在将 .ipa 文件上传到 iTunes Connect 时收到提醒。

    5. 再次编辑 info.plist,但现在在 XML 编辑器中打开它。添加以下内容:

      &lt;key&gt;CFBundleIconName&lt;/key&gt;

      &lt;string&gt;AppIcons&lt;/string&gt;

    6. 注释掉 CFBundleIconFiles 数组。在我的情况下是:

      <!--key>CFBundleIconFiles</key> <array> <string>Icon@2x.png</string> <string>Icon.png</string> <string>Icon-60@2x.png</string> <string>Icon-Small@2x.png</string> <string>Icon-Small.png</string> <string>Icon-Small-40@2x.png</string> </array-->

    之后你应该可以上传到苹果商店了。

    【讨论】:

    • 太好了,您的解决方案对我有用,但是 AppIcon 应该是 AppIcons 到匹配目录组名称。否则你会得到一堆其他错误。
    • 另外,Media.xcassets 文件夹必须在 Resources 文件夹中。如果没有,请打开资源管理器并移动它。然后编辑 .csproj 文件并更新所有引用 Media.xcassets 的路径。每次在 Media.xcassets 中添加另一个目录时,都必须手动将其移动到 Resources。
    • 谢谢,我被困了好几个小时。我不得不升级到最新版本的 Visual Studio 的 Xamarin 工具,这很奇怪,因为自从写完这个答案后,我肯定已经升级了多次。
    • 这让我发现了下一个错误 ITMS-97017,但嘿,这就是进步。必须说您必须确保在项目中包含新的 Assets.xcassets 及其内容。我正在使用适用于 Windows 的 Visual Studion 2017。
    【解决方案2】:

    如果有人在升级到 16.10 Visual Studio 后出现在这里,则资产目录发布在某些项目上会被选择性地破坏。如果您使用的是苹果商店,请不要进行上述修复,因为您必须有一个资产目录才能提交。我卸载了 Visual Studio 2019 并返回到旧版本(随机选择 16.8.6),一切都开始正常工作,并带有我在浪费的挫折中没有看到的有意义的警告消息。如果您使用的是 adhoc,那么上述方法会起作用,但我建议您将版本降级并等到他们暂停 Maui 足够长的时间以使 Xamarin 再次成为可行的产品。自从我可以通过 Visual Studio 发布以来似乎已经有 6 个月了……现在,在降级之前,我什至无法从我的 Mac 推送 IPA。

    【讨论】:

    • 我也有同样的问题。你是在 mac 还是 windows 版本的 Visual Studio 上降级了?
    • 另一种方法是使用 Visual Studio for Mac 分发应用程序:xamarinexpert.it/…
    【解决方案3】:

    在 Visual Studio 2017 中,我遇到了同样的问题。一个月前,我切换到存储图标和启动图像的资产目录。我能够上传我的应用程序。现在我想再次更新我的应用程序并收到错误消息 - 缺少 Info.plist 值... 在 Visual Studio 中,我浏览了不同的 Info.plist 设置,我看到 Visual Assets 选项卡中的源设置为无

    我更改了来源,我能够成功地将我的应用上传到商店,没有任何错误消息

    【讨论】:

      猜你喜欢
      • 2022-06-30
      • 1970-01-01
      • 2018-10-13
      • 2021-09-24
      • 2017-05-27
      • 2020-09-15
      • 2018-03-01
      • 2021-09-04
      • 2018-08-02
      相关资源
      最近更新 更多