在本地设备上保留非消费类应用程序内购买的用户信息

时间:2012-09-28 00:16:26

标签: iphone objective-c ios in-app-purchase nsuserdefaults

我的应用程序上有类似Pro Upgrade的功能,我将为用户启用额外的功能。我想在购买时将此信息保存在本地设备上(非应用程序中的消耗品)

我想在用户删除并重新安装应用程序或更新应用程序时获取此信息。我不打算在OS更新,恢复等之后获得此信息。

我不相信NSUserDefaults,似乎当用户删除应用程序时,NSUserDefaults丢失了。

我的应用程序需要服务器,因此可以对此状态进行服务器身份验证,但我无法弄清楚如何。

等待本地和服务器的建议。

1 个答案:

答案 0 :(得分:0)

您应该自信地使用NSUserDefaults,在使用iTunes进行设备备份时会创建备份。

然后,要恢复购买,只需忘记将它们存储在某处并使用适当的方法:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

这将自动调用

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
与付款队列关联的SKPaymentTransactionObserver的

。您可以在每次启动应用程序时恢复购买,也可以向用户提供强制它的按钮。

此外,它会调用适当的委托方法,就好像已经进行了购买一样,因此您无需管理单独的购买方式。