New in iOS 5.0, Newsstand provides a central place for users to read magazines and newspapers. Publishers who want to deliver their magazine and newspaper content through Newsstand can create their own iOS applications using the Newsstand Kit framework. This document intends to supplement the available technical documentation on the Newsstand Kit framework by answering frequently asked questions from Newsstand app developers.
Newsstand App Icons
What are the size guidelines for Newsstand app icons?
On iPhone, the length of the longest edge of your Newsstand app icon should be at least 90 pixels. On iPhone 4 retina display your icon dimensions should be doubled, meaning that the longest edge should be at least 180 pixels. On iPad the longest edge of your Newsstand app icon should be at least 126 pixels.
In all cases, the longest edge may be a horizontal or vertical edge. If the longest edge is horizontal, the aspect ratio should not exceed 2:1. If the longest edge is vertical, the aspect ratio should not be smaller than 1:2.
I've modified my Info.plist file to specify a new image for my Newsstand icon, and have styled it with a binding edge and binding type. Why isn't this styling shown on my app in the Newsstand view?
If you specify a newspaper binding type with
UINewsstandBindingTypeNewspaper, you'll see a subtle fold at the bottom of your icon in the Newsstand view. All other visual styling — magazine staples, magazine pages, and the stacked newspaper pages — is only shown in the iOS app switcher.
How should I sell issues of my publication within my Newsstand app?
Your Newsstand app should always offer the option to purchase an auto-renewable subscription to your publication. Additionally you may sell single issues as individual non-consumable in-app purchase items.
Users can browse Newsstand apps via a Store button in the Newsstand. Will my Newsstand app still be included in search results returned by the App Store app on iOS, and by iTunes on OS X?
Yes. Newsstand apps are included in search results returned within the App Store app on iOS, and within iTunes on OS X.
Users also may browse the iTunes Store by category. In iTunes Connect you may set the Primary Category on your Newsstand app to any of the available categories, such as Games, Lifestyle, or Business. The Secondary Category for Newsstand apps is automatically set to the Newsstand category.
Delivering Your Content
How is the push notification that initiates the Newsstand background download different from other push notifications? Will I have to change or modify my backend infrastructure?
The notification that initiates the Newsstand background download is the same as any other push notification, with two exceptions. The first difference is the payload — your Newsstand notification should include the
content-available property (with a value of 1) in the JSON payload. Second, your app may only initiate a background download once every 24 hours. iOS will ignore notifications that try to initiate a background download more than once in a 24 hour period.
Can I initiate a background download with a push notification in a non-Newsstand app?
No, this feature is only for Newsstand apps.
Is my Newsstand app required to use Newsstand Kit's background downloading feature?
If you're delivering an issue to a user as part of a subscription, you must deliver it via background download.
In general, users will expect Newsstand apps to have content downloaded in the background, ready and available for offline viewing. If a user hasn't purchased a subscription for new issues, you may use Newsstand Kit's background downloading feature to deliver other content. Keep in mind that your Newsstand app should not deliver or manage content in a way that ends up consuming large amounts available storage space on a user's device.
Can users disable background downloading?
Yes, users can disable Newsstand's push notification-initiated background downloading on a per-app basis in Settings. You can determine whether background downloading has been disabled for your app by looking for
UIRemoteNotificationTypeNewsstandContentAvailability in the set of enabled types returned by UIApplication's
Once my app has received the notification, can I initiate the background download from a thread other than the main thread?
In iOS 5.0, you should initiate the background download from the main thread.
Should I package my issue for background download into one large file, or download each asset separately?
Packaging your issue assets into one compressed file is best for system performance, and it lets you determine the total download time for your issue.
Since your app has to be woken up and notified whenever a download finishes, downloading each issue asset individually is not the best approach for system performance. And, when you download each asset individually, it's impossible to calculate the total download time for your issue.
If you cannot deliver your issue in a single compressed file, then you should group your assets into sets of downloads that make sense for your app. For example, you might group the assets that are needed to show the first page of your issue into a single download.
The content of my publication needs to be updated throughout the day. Can I initiate a Newsstand background download more than once in a 24-hour period?
Allowing multiple background downloads for multiple apps would drain system resources, so Newsstand apps are limited to one background download initiated by push notification each day. If you send additional notifications to a device that attempt to initiate a background download, those notifications will be delivered to the device but ignored by Newsstand Kit.
If you want your Newsstand app to deliver breaking news, consider sending an issue via background download and downloading a small amount of additional, up-to-the-minute content when the user launches your app.
For test purposes on development devices only, you can override the built-in limit and initiate more than one background download in a 24-hour period by setting the user default @"
NKDontThrottleNewsstandContentNotifications". See Listing 1.
Listing 1 Setting the user default NKDontThrottleNewsstandContentNotifications
[[NSUserDefaults standardUserDefaults]setBool: YES forKey:@"NKDontThrottleNewsstandContentNotifications"];
Will all of my issues be automatically stored on the user's device, indefinitely?
Newsstand Kit provides a managed repository for your issues located at the
contentURL for the
NKIssue. This managed repository acts as a cache for the content you host on your servers, and like any cache is susceptible to eviction as system resources become low.
In such an event, the information you provide Newsstand Kit via the
currentlyReadingIssue property and the
date parameter in
addIssueWithName:date: helps Newsstand Kit to prioritize which content is most critical for the user as it evicts elements from the cache. Your Newsstand app should be capable of re-downloading back issues at the user's request, should such resource constraints arise.
Can I move my issues out of the default Newsstand storage location once they're downloaded, or download issues to another location?
You should not store or move your issues to a location other than the Newsstand managed repository, such as the Documents folder for your app. Doing so can result in a very long backup times, and a shortage of storage space.
Whether purchased as part of a subscription or as an individual non-consumable item, issues should always be stored in the default Newsstand storage location. This lets iOS manage the available storage space on a system-wide basis, delivering the best experience for users.
Document Revision History
Added mention of the user default boolean key setting - NKDontThrottleNewsstandContentNotifications as a way to allow multiple downloads per day while testing in the sandbox only.
Added detailed information about icon sizes for different devices, and categories.
New document that answers frequently asked questions about Newsstand and the Newsstand Kit frameworks.
© 2012 Apple Inc. All Rights Reserved. (Last updated: 2012-01-19)