如何以编程方式重新下载应用内购买应用程序

Adi*_*tya 1 iphone iphone-sdk-3.0

我能够成功实施应用内购买.我也可以通过应用程序内购买产品.我将购买信息存储在NSUserDefaluts.So如果下次用户再次尝试购买相同产品我能够在本地处理它.我的问题是如果用户删除了应用程序从设备,如何处理重新下载的应用程序,而无需再次为同一产品收费.我知道,如果某个应用程序已从已购买应用程序的设备中删除,则必须再次下载.任何人都可以显示示例代码相同?

谢谢Aditya

嗨感谢您的回复.我已按照您的建议实施.我想知道的是,如果我删除我的应用并再次安装,我被要求再次购买.我必须再次支付升级费用或者它是从苹果服务器处理的(即如果我再次升级相同的产品,我再次收费?).有没有办法知道它升级而不要求再次升级?

Ale*_*lex 6

StoreKit api会处理此问题,并根据要求提供所购商品的标识符列表.一旦你有了这些,你可以再次重新下载产品(如果还没有捆绑在应用程序内).

来自StoreKit API帮助的摘录:

-(void)restoreCompletedTransactions

要求付款队列恢复以前完成的购买.

您的应用程序调用此方法来还原先前已完成的事务,以便您可以再次处理它们.例如,您的应用程序将使用此功能允许用户将以前购买的内容解锁到新设备上.

当您在商店中创建要销售的新产品时,您可以选择是否可以恢复该产品.有关详细信息,请参阅In App Purchase编程指南.

支付队列将为可以恢复的每个先前完成的事务提供新事务.每笔交易都包含原始交易的副本.