App Store验证问题 - CFBundleIcons App Icon20x20

时间:2017-04-20 13:49:41

标签: ios xcode

我一直在努力解决这个问题一个多星期。每当我尝试验证构建或最近使用应用程序加载器时,我都会收到此错误:

iTunes Store operation failed. 
Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons':'AppIcon20x20'

现在,问题是我的plist中没有AppIcon20x20键。

这是我的AppIcon资产和属性设置: AppIconAttributes

在我的Plist中甚至没有提到20x20资产,如源代码版本所示:

    <?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>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>icon603x.png</string>
                <string>icon602x.png</string>
                <string>icon403x.png</string>
                <string>icon402x.png</string>
                <string>icon293x.png</string>
                <string>icon292x.png</string>
                <string>icon203x.png</string>
                <string>icon203x.png</string>
            </array>
        </dict>
    </dict>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>https://millsfitnessapparel.myshopify.com/</key>
            <string></string>
        </dict>
    </dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

最后,我已经搜索了这个主题,他们都说要将CFBundleIcons添加到你的plist,我做了,但它仍然抛出错误。我也在这个项目的版本中完成了这个,其中有pod,没有pod,工作区,常规的xcproj。文件,甚至1个视图控制器和一些图标[这个最新的版本]。

我还尝试在xcode版本8.1,8.2和8.3中实现此版本,所有版本都收到相同的错误。

这里的任何帮助将不胜感激。这些是针对客户的应用程序,由于此问题,我目前迟交。谢谢。

2 个答案:

答案 0 :(得分:0)

基本上,120px图标并不完全是120px,我最终重新创建了该图标,最终能够将应用程序提交给Apple Store。

答案 1 :(得分:0)

好的,网上的所有步骤都没有对我有用,所以我要发布我如何解决我的问题,我有一个非常旧的项目,它最初是在 iOS 5 之前创建的,但它升级到 iOS 9 但它延续了旧的图标系统。 即使我的 plist 文件中没有 CFBundleIcons 并且在 AppIcon 键下的资产管理器中正确设置了所有内容,但它给出了此消息,所以这就是我所做的

  • 我通过键入确切的键 ( CFBundleIcons ) 在 plist 文件中创建了 CFBundleIcons 键,而没有从建议窗口中选择任何内容,因为该键不再存在于建议窗口中。 按 Enter 键后,Xcode 会将您的密钥转换为“图标文件 (iOS 5)”
  • 然后转到项目的目标节点,您可以在其中查看项目的目标设置。
  • 在那里,您应该会看到“应用图标源”中显示的“迁移”按钮
  • 单击以迁移到新的图标系统(尽管您可能已经 之前已经做过)
  • 迁移后在资产管理器中创建新图标集或 如果您已经创建了一个,请指向一个现有的。

这应该可以解决这个问题,基本上我们只需要重新调用迁移过程来清理剩下的东西。