Question: If I offer an in-app Non-consumable purchase (say a book, or a song) within my app and then 2-3 months after it has been released I realize that there is something wrong with my digital content, Can I do an update of the digital content? So if I had a digital article as an in-app purchases for $1.99 and sold 1,000 copies, then I realized that I have a spelling error on page 3. Would I be able to upload an updated article that would go out to all the people who bought the article and prevent people from downloading the old copy? If not, how is this situation handled in the real world? I have looked in apples doc, but cannot find an answer. 

Edit: Assume I am using the new io6 feature of hosting the content through apple.

Answer: 
**About AppStore Hosted Content**

I have not tried, but browsing inside Apple doc, I've found [this](https://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/13_ManagingIn-AppPurchases/ManagingIn-AppPurchases.html#//apple_ref/doc/uid/TP40011225-CH4-SW37) which confirms that you can upload multiple versions of a digital content hosted by Apple.

> 
> "You can have multiple versions of hosted content, but each one needs to be approved by Apple before it can be purchased by users."
> 
> 
> 

Also, you can check [this](http://www.absoluteripple.com/1/post/2013/01/apple-in-app-purchase-creating-app-store-hosted-content.html) and [this](http://www.techotopia.com/index.php/Configuring_and_Creating_App_Store_Hosted_Content_for_iOS_6_In-App_Purchases) tutorials, that shows that you have to specify the `Content Version` and `IAP ProductIdentifier` in the `ContentInfo.plist` when you create an App Store Hosted Content with Xcode.

![IAPHostedContentPlist](https://i.stack.imgur.com/nRSSM.png)

**How to notify the users that content has changed**

This depends of how you implement your purchase system, the content delivery, and how you keep track of the "state of your purchased products". Usually we keep track of the version of the purchased products, thats means, we save the product\_id with the content version when the purchased content is downloaded. We can save this data in files or inside a DB locally. Also, you don't have to worry about non downloaded (and non purchased) products, those do not need an update. When you update your in-app store with the last information of your available products (via update button, or app launch, or whatever you implemented) you should compare the last content versions with those you have downloaded, then you can notify the user that an update of his purchased product is available. Finally, you have to enable the download for that product.
This all depends on how you make the content available to the user. When the user makes their original purchase of the in-app content, where does the content come from?

If it is part of the app bundle, then the only way to get updated content to these users is to submit an update to your app that includes the updated content. When the user installs the updated app, they will see the updated content.

If, upon purchase, the app downloads the content from your server then you can build in a mechanism in your app that checks your server for updated versions of the content. If it detects there is an update, and the user has the IAP, then the app can download the updated content.

Edit: This doesn't cover the new iOS 6 feature of Apple hosted downloadable content.