Place your app in the iOS Newsstand

You must have noticed the new Newstand icon on your screens, a persistant one which just could not be deleted. You must have read or heard from friends that you can place it in a group if you do it quickly. However what if this location that might not be doing much be used for your app. Now would Apple let you use this place to place your apps is a totally different story. This article is about how you can add your app in the Newsstand.

To create a Newsstand App, you will be required to use Objective-C and xCode. What if all you really wanted to do was, just change the icon and place your app in the Newsstand rather than create a Newsstand app that would update content and have dynamic front pages? Apple have made it really simple to convert your standard app into a Newsstand App. It has everything to do with setting a few settings in the plist file.

Here's a dummy app that has been placed into the Newsstand.

So, what are these settings?

We need to first tell iOS 5 that we are a Newsstand app. We set the UINewsstandApp with a boolean of true. That is all it requires to tell iOS5 that our app is a Newsstand app.

How do we set our image?

We need to also tell the app that it should use the Icon/Image that is different to our App Icons and one that we shall supply. We also need to let iOS5 know what kind of publication we are, is it a Magazine or a Newspaper. The difference being that the Magazine will have a spine and the binding is either Left or Right and is taller than it is wide, where as a Newspaper has a bottom Fold and is wider than it is tall. So we set the two settings, UINewsstandBindingType and use the UINewsstandBindingTypeMagazine or UINewsstandBindingTypeNewspaper. To set the binding type, we set the UINewsstandBindingEdge to UINewsstandBindingEdgeLeft or UINewsstandBindingEdgeRight for a Magazine and UINewsstandBindingEdgeBottom for a Newspaper.

The best part is that there is nothing that will cause your app to break on older systems as it is all just some setting in your p List.

For the graphics we need to add a CFBundleIcons Dictionary and add to it CFBundlePrimaryIcon which in turn has an array of CFBundleIconFiles and another UINewsstandIcon dictionary object that contains an array CFBundleIconFiles which contains your image file.

Does reading this seem like a bit too much? Well, here is how you would do this is you were using xCode for compiling your app with Gideros or Moai.

<key>CFBundleIcons</key>
 <dict>
  <key>CFBundlePrimaryIcon</key>
  <dict>
   <key>CFBundleIconFiles</key>
   <array>
    <string>Icon.png</string>
    <string>Icon@2x.png</string>
   </array>
   <key>UIPrerenderedIcon</key>
   <false/>
  </dict>
  <key>UINewsstandIcon</key>
  <dict>
   <key>CFBundleIconFiles</key>
   <array>
    <string>paper.jpg</string>
   </array>
   <key>UINewsstandBindingType</key>
   <string>UINewsstandBindingTypeMagazine</string>
   <key>UINewsstandBindingEdge</key>
   <string>UINewsstandBindingEdgeLeft</string>
  </dict>
 </dict>

If you were using other languages that do not have the functionality to use xCode like CoronaSDK, but allow you to add the pList via the build.settings

UINewsstandApp = true,
 CFBundleIcons = {
  CFBundlePrimaryIcon = {
   CFBundleIconFiles = {
    "Icon.png" , 
    "Icon@2x.png" ,  
    },
   },
  UINewsstandIcon = {
   CFBundleIconFiles = {
    "myIcon.jpg",
    },
   UINewsstandBindingType="UINewsstandBindingTypeMagazine",
   UINewsstandBindingEdge="UINewsstandBindingEdgeLeft",
   },
  },

Now that I can place my app into the Newsstand, why can I not create a dynamic Newsstand?

Well truthfully, creating an app that will act like a newsstand application requires Objective-C. To also add the ability to add a dynamic cover is not that simple. Apple suggests the use of NewsKit API, a new API that handles much of the downloading of assets, etc. it is in some way similar to the iAP. Since it involves a lot more, it shall not be covered and is beyond the scope of this article.

If someone comes across a wonderful idea on being able to utilise this information and create an app in the Newsstand icon, please let me know of your game and how you have managed to resolve stuff.

Comments

Popular Posts