【问题标题】:Xcode 5: "Invalid image path" CFBundleIconsXcode 5:“无效的图像路径”CFBundleIcons
【发布时间】:2013-10-19 10:29:23
【问题描述】:

好的,我的问题似乎与thisthis 类似,但是按照答案,并没有帮助我。这可能是因为我使用的是 Xcode 5,在升级到这个版本之前,我在使用这个应用程序时没有遇到任何问题。

当我验证我的应用时,我收到以下错误:

“无效的图像路径 - 在 key 下引用的路径中找不到图像 'CFBundleIcons': 'icon152'"

所以我去Xcode中的.plist文件,右键Show Raw Keys/Values,找到CFBundleIcons

有一棵树是这样的:

▼ CFBundleIcons                  Dictionary
    ▼ CFBundlePrimaryIcon        Dictionary
        ▼ CFBundleIconFiles      Array
             Item 0              String       icon152

现在我已将icon152 重命名为icon152.png,但它仍然不起作用。此值是否需要我的 Mac 上图像的完整路径?如果是这样,为什么我从头开始添加图像时没有插入完整路径?我之前验证过应用程序,从未遇到过这些问题。

我已尝试从.plist 文件中删除所有图标条目并重新添加它们,但仍然不起作用。

我尝试从包和 Xcode 中完全删除图像,并从头开始完全重新添加它们。还是不行。

谁能告诉我我做错了什么?

编辑:

如果其他人正在为此苦苦挣扎,我所做的只是单击“使用资产目录”按钮来解决它 - 所有这些问题都消失了。您可以通过在导航器中单击您的项目来找到该按钮,然后在常规下向下滚动到应用程序图标 - 该按钮应该在那里。

【问题讨论】:

  • 该问题似乎路径上不存在图像。请将图片读取到具体路径
  • 我应该使用哪个路径?一个相对于应用程序本身,还是图像存储在我的 Mac 上的完整路径?为什么添加图片时路径没有正确包含?
  • 您是否以编程方式添加图像?
  • 图片是应用程序本身的图标,我是通过Xcode添加的。我不知道您可以以编程方式添加应用程序图标 - 这将如何完成?
  • 不确定它是否有效,但在 info.plist 中是否可以看到一个图标文件,该文件的值扩展名应该是 .icns 对您来说是否一样?

标签: ios objective-c xcode


【解决方案1】:

您可以尝试从项目中删除图标并重新添加它们吗?然后尝试使用不带 .png 的名称。

如果您在 Finder 中修改文件,有时 Xcode 无法看到更改。

【讨论】:

  • “我已经尝试从包和 Xcode 中完全删除图像,并从头开始完全重新添加它们。仍然不起作用。” - 作为 .png 或没有 .png - 没有区别。
  • 你运行的是什么版本的 Xcode?较新的 Xcode 允许您从项目文件中设置图像名称,而不是编辑 plist 文件。你可以试试。如果您正在运行 Xcode 5,请尝试查看 Asset Catalogue。两者都应该有效,但如果第一个无效,则值得一试。
  • IM 运行 Xcode 5.0 - 我将查看资产目录
  • 我点击了“使用资产目录”按钮,我所有丢失的图像问题都神奇地消失了。我不必再做任何事情了……很奇怪。非常感谢您的帮助!
  • 我点击了“使用资产目录”,它消除了我所有的错误,除了一个......仍然说我错过了一个icon.png,我绝对不认为我在,并且这非常令人沮丧。
【解决方案2】:

我遇到了同样的问题,“使用资产目录”对我有用。也许从资源中取出它,放回原处,清理,构建,然后看看它是否有效。

要找到这个按钮:项目>常规>应用程序图标和启动图像

【讨论】:

    【解决方案3】:

    我也遇到了同样的问题,有趣的是发生这种情况时我已经在使用资产目录了。这里描述了最终为我工作的解决方案: Invalid Image Path - No image found at the path. CFBundleIcons Xcode 5

    基本上,您需要将图像添加到您正在构建的目标中。为此,请在 Navigation Pane 的项目下的文件列表中选择图像,然后在右侧显示 Utilities Pane 并检查 下的目标在左侧的实用工具窗格中定位会员

    【讨论】:

      【解决方案4】:

      有时当您单独添加文件时会发生这种情况。

      确保在实用程序窗格的“Target Membership”区域中选中了Build name的复选框。

      它引发错误的文件将取消选中该复选框,因此它不会包含在最终构建中。

      通过选中此复选框,我的问题得到了解决。感谢 DomandoCoder!

      【讨论】:

        【解决方案5】:

        这对我有用:

        1. 选择目标
        2. 转到构建阶段
        3. 扩展复制捆绑资源
        4. 转到面板底部并选择 + 号。
        5. 添加每个缺失的资源。

        【讨论】:

        • 谢谢。我的问题是我忘记将图像文件添加到项目中。
        【解决方案6】:

        我遇到了同样的问题。我试图获得一个免费和完整版的应用程序来上传。免费应用程序 TARGET 上传正常,但付费 TARGET 有问题。我选择了付费和免费版本中用于图标的所有图像,然后查看:文件检查器-> TAGET MEMBERSHIP-> 确保同时检查它们,然后就可以了。为我工作。 这是我遇到的错误:

        然后我选择并检查了这些应用程序的付费和免费版本:

        我希望这会有所帮助。查看轮盘跟踪器和我的其他应用程序! 如果这对您有帮助,请投票。

        【讨论】:

          【解决方案7】:

          对我来说,这些都不是。我不断添加和清理无济于事

          plist 中有图标列表:

          CFBundleIconFiles~ipad 和 CFBundleIconFiles

          那里有一些不存在的。我删除/更新了,这似乎有效。

          【讨论】:

            【解决方案8】:

            确保图像已添加到项目中:

            1. 展开资源文件夹
            2. 如果文件在那里,请将其删除
            3. 如果文件不存在,则通过右键单击资源文件夹添加它
            4. 清理构建并重建

            【讨论】:

              【解决方案9】:

              我遇到了问题:

              “无效的图像路径 - 在键 'CFBundleIcons' 下引用的路径中找不到图像:'icon120x120'”

              解决方案是将图标 (120x120) 移动到另一个 appicon 文件夹

              【讨论】:

                【解决方案10】:

                关于 iTunesArtwork错误 和关于 120 图标警告 和“使用资产目录”对我有用,我通过从项目导航窗格中拖动来填充丢失的图标,但没有对 iTunesArtwork 做任何事情。

                编辑:

                我以前的解决方案这次没有为我的 react native 应用程序出现同样的错误。我的有缺陷的图标图像导致了这个问题。我在预览中打开了一个图标并选择了整个图像区域并创建了从剪贴板中创建新图像。我用这些新创建的图像替换了所有旧图像并上传成功。

                【讨论】:

                  【解决方案11】:

                  我和 ckoskar 有同样的错误, “无效的图像路径 - 在键 'CFBundleIcons' 下引用的路径中找不到图像:'icon120x120'”

                  我最终从 Images.xcassets 的 AppIcon 部分的 CarPlay 部分中删除了该文件,然后我能够提交构建。

                  【讨论】:

                  • 这行得通,但不是真正的解决方案,因为您只是忽略了 Apple CarPlay 图标 :(
                  • 这可能是 Apple 的一个错误,因为图像大小与 iOS 7 和 8 的 iPhone 应用程序图标大小的 2x 图标大小相同,为 120 pt。可能值得提交错误报告。
                  • 也遇到了这个问题,删除了我为“Carplay”添加到 Images.xcassets 中的 120x120 图像就可以了。
                  • 也遇到了这个问题,删除了我为“Carplay”添加到 Images.xcassets 的 120x120 图像就可以了。我提交了一个错误,它仍然是 Xcode 6.1 和 6.3 的问题。
                  • 我使用的是 Xcode 6.4,但仍然必须删除 Carplay 资产。还是个问题。
                  【解决方案12】:

                  对我来说解决的是检查失败的图标并在预览中打开它们并再次导出为 png。

                  XCode 没有变化,只有新的图像导出。

                  【讨论】:

                    【解决方案13】:

                    如果您的应用图标名称不正确,您可能会遇到此问题。

                    我使用的是appicon.co,它生成了错误的名称,这就是我收到此错误的原因。然后我使用“Icon Set Creator”iMac 应用程序生成图标,使用后一切正常。

                    【讨论】:

                      【解决方案14】:

                      我遇到错误“无效的图像路径 - 在键 'CFBundleIcons': 'icon40x40' 下引用的路径中找不到图像”

                      在我的特殊情况下,我只是错过了 Images.xcassets 中的 80x80(40x40 比例 x2)图标。错误消息不包括图标的比例。

                      添加缺少的尺寸为我解决了这个问题。

                      【讨论】:

                        猜你喜欢
                        • 2013-10-31
                        • 2016-08-11
                        • 2014-05-27
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2014-12-29
                        相关资源
                        最近更新 更多