Question

Since upgrading Xcode to v5 and converting launch and app icon images to image asset catalogs, I've been unable to see the Newsstand icon of my app in the Newsstand on iOS 6.1 and iOS 7. Instead I see the regular app icon in its place. I'm still compiling against iOS SDK 6.1 because of obvious style changes in iOS 7 that I haven't been able to test in depth, yet.

That said, here is what I've tried on my Newsstand icon, icon-newsstand.png:

  1. Converting the icon-newsstand.png into an asset catalog located in ./Images.xcassets/icon-newsstand.imageset/icon-newsstand.png.
  2. Keeping icon-newsstand.png in my Resources folder as a part of the project.

Neither of these solutions work. Here is my info.plist for reference also. I've redacted the app names, just FYI.

<?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>English</string>
    <key>CFBundleDisplayName</key>
    <string>---- ----</string>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string> 
    <key>CFBundleIcons</key>
    <dict>
        <key>UINewsstandIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>icon-newsstand.png</string>
            </array>
            <key>UINewsstandBindingEdge</key>
            <string>UINewsstandBindingEdgeLeft</string>
            <key>UINewsstandBindingType</key>
            <string>UINewsstandBindingTypeMagazine</string>
        </dict>
    </dict>
    <key>UIBackgroundModes</key>
    <array>
        <string>newsstand-content</string>
    </array>
    <key>UINewsstandApp</key>
    <true/>
    <key>CFBundleIdentifier</key>
    <string>com.----.----</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.1</string>
    <key>CFBundleName</key>
    <string>---- ----</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>2.0.1.13830</string> <!-- The Version of the app. -->
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIPrerenderedIcon</key>
    <true/>
    <key>UIStatusBarHidden</key>
    <true/>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</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>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string>FB Connect</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb150871295037449------</string><!-- The app id must be appended to the end of this string. Example: <string>fb150871295037449connections</string>  -->
            </array>
        </dict>
    </array>
</dict>
</plist>

Has anyone run into this yet after upgrading Xcode and converting to image asset catalogs? And does anyone have any ideas where to start with changes to my project? So far from my searches, details online and on StackOverflow have been sparse in terms of Newsstand and Xcode 5 issues.

I'd greatly appreciate any help. Thank you!

Was it helpful?

Solution

I found out that the issue was only happening with iPads. Since that discovery, I realized that there was a section missing from my info.plist that looks like this:

    <key>CFBundleIcons~ipad</key>
    <dict>
        <key>UINewsstandIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>icon-newsstand.png</string>
            </array>
            <key>UINewsstandBindingEdge</key>
            <string>UINewsstandBindingEdgeLeft</string>
            <key>UINewsstandBindingType</key>
            <string>UINewsstandBindingTypeMagazine</string>
        </dict>
    </dict>

Mystery solved!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top