Question

I have been reading up a lot about the "Invalid Images Path" failed validation message when trying to validate my archived app. My problem is, that I was already using the asset catalog and for some reason now it just won't recognize the AppIcon image set.

Here is a screenshot of my asset catalog in Xcode 5: Here is a screenshot of my asset catalog in Xcode 5:

Here are my current Target settings and if I click the small right arrow for AppIcon it takes me to the correct images: enter image description here

This is the error I'm getting after validating my recently created archive: enter image description here

And there is no icon for the archive either: enter image description here

Here is my info.plist file contents:

<?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>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIcons</key>
<dict>
    <key>UINewsstandIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>newsstand-app-icon</string>
        </array>
        <key>UINewsstandBindingEdge</key>
        <string>UINewsstandBindingEdgeLeft</string>
        <key>UINewsstandBindingType</key>
        <string>UINewsstandBindingTypeMagazine</string>
    </dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
    <key>UINewsstandIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>newsstand-app-icon</string>
        </array>
        <key>UINewsstandBindingEdge</key>
        <string>UINewsstandBindingEdgeLeft</string>
        <key>UINewsstandBindingType</key>
        <string>UINewsstandBindingTypeMagazine</string>
    </dict>
</dict>
<key>CFBundleIdentifier</key>
<string>com.magloft.magazine</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.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIBackgroundModes</key>
<array>
    <string>newsstand-content</string>
    <string>remote-notification</string>
</array>
<key>UINewsstandApp</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>armv7</string>
</array>
<key>UIStatusBarHidden</key>
<false/>
<key>UIStatusBarHidden~ipad</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

And here is the contents of the Contents.json file for the AppIcon iconset:

{
  "images" : [
{
  "size" : "29x29",
  "idiom" : "iphone",
  "filename" : "iphone-29x29.png",
  "scale" : "1x"
},
{
  "size" : "29x29",
  "idiom" : "iphone",
  "filename" : "iphone-29x29@2x.png",
  "scale" : "2x"
},
{
  "size" : "40x40",
  "idiom" : "iphone",
  "filename" : "iphone-40x40@2x.png",
  "scale" : "2x"
},
{
  "size" : "57x57",
  "idiom" : "iphone",
  "filename" : "iphone-57x57.png",
  "scale" : "1x"
},
{
  "size" : "57x57",
  "idiom" : "iphone",
  "filename" : "iphone-57x57@2x.png",
  "scale" : "2x"
},
{
  "size" : "60x60",
  "idiom" : "iphone",
  "filename" : "iphone-60x60@2x.png",
  "scale" : "2x"
},
{
  "size" : "29x29",
  "idiom" : "ipad",
  "filename" : "ipad-29x29.png",
  "scale" : "1x"
},
{
  "size" : "29x29",
  "idiom" : "ipad",
  "filename" : "ipad-29x29@2x.png",
  "scale" : "2x"
},
{
  "size" : "40x40",
  "idiom" : "ipad",
  "filename" : "ipad-40x40.png",
  "scale" : "1x"
},
{
  "size" : "40x40",
  "idiom" : "ipad",
  "filename" : "ipad-40x40@2x.png",
  "scale" : "2x"
},
{
  "size" : "50x50",
  "idiom" : "ipad",
  "filename" : "ipad-50x50.png",
  "scale" : "1x"
},
{
  "size" : "50x50",
  "idiom" : "ipad",
  "filename" : "ipad-50x50@2x.png",
  "scale" : "2x"
},
{
  "size" : "72x72",
  "idiom" : "ipad",
  "filename" : "ipad-72x72.png",
  "scale" : "1x"
},
{
  "size" : "72x72",
  "idiom" : "ipad",
  "filename" : "ipad-72x72@2x.png",
  "scale" : "2x"
},
{
  "size" : "76x76",
  "idiom" : "ipad",
  "filename" : "ipad-76x76.png",
  "scale" : "1x"
},
{
  "size" : "76x76",
  "idiom" : "ipad",
  "filename" : "ipad-76x76@2x.png",
  "scale" : "2x"
}
  ],
  "info" : {
"version" : 1,
"author" : "xcode"
  },
  "properties" : {
"pre-rendered" : true
  }
}

I have tried the following without any success:

1) Remove the AppIcon image set and created a new one from scratch by addin it in Xcode and dragging images to all placeholders. 2) Removed the CFBundleIcons from info.plist 3) Removed the CFBundleIcons~ipad from info.plist (I added this one because my app wouldn't show the default newsstand icon in iOS 7+ on the shelf and this fixed it. 4) Removed both keys from above and still got the errors including the missing key/value form newsstand icon binding type. 5) Tried targeting iOS 7.0 instead of iOS 6.0.

I have no idea why this has happend all of a sudden. I'm thinking maybe because I updated Xcode to Version 5.1 (5B130a)? I'm running OSX 10.9.2 which is the latest I believe.

I did find this Invalid Image Path - No image found at the path. CFBundleIcons Xcode 5 and that sounds very much like my case. I have made sure that the actual asset catalog is part of the target (see first screenshot) but the OP talks about making sure each image is part of the target?

UPDATE: Adding compiled Info.plist content. I couldn't open it as it's compressed, so I grabbed a screenshot. I can see some references to images, but have no idea where to find these in the Xcode project? I have tried to search for some names but that yields no result.

enter image description here

My build log seems OK but this warning stands out:

Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'Baker/Magloft-Info.plist'.

Not sure what it means, but I deleted the app-info.plist file, created a new one and copied in the XML from the original app-info.plist file (this is based on an open source project that works).

Any suggestions to what I can try? Thanks!

Était-ce utile?

La solution

I finally figured out what this was all about. Apparently Xcode didn't like my actual icon graphics. In a last desperate attempt, I tried to create new icon graphics that were very simple and with no shadow effects. Still don't know if this was the actual cause but they were all accepted without any problems.

Thanks to all that contributed to this mystery!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top