iOS应用内购买 - 判断用户是否已购买的最佳方式

时间:2012-06-25 19:45:18

标签: ios persistence in-app-purchase

我需要在用户进行应用内购买时设置全局变量。我可以使用NSUserDefaults,只有一个名为“已购买”的密钥,但这似乎不太安全。

安全存储数据的最佳方法是什么,以便我知道用户是否已购买?

例如,在特定视图中,我需要知道是否显示“购买”按钮。显然,如果他们已经购买了它,就应该隐藏起来。

2 个答案:

答案 0 :(得分:3)

对于安全数据,您应该使用iOS钥匙串。这是文档:

http://developer.apple.com/library/mac/#documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

希望这有帮助。

答案 1 :(得分:0)

无需存储该信息。有一种方法可以恢复所有用户购买。寻找restoreCompletedTransactions

您可以在视图中查看所有用户的购买情况,然后显示仍可购买的所有商品的“购买”按钮。

<强>更新

哦!我误解了你的问题。上面的方法将为您提供用户在重新安装应用程序时所做的购买。关于您的问题,在NSUserDefaults中存储与购买的产品相关的信息是完全正确的,以便向用户提供他已支付的货物,等级或任何物品。

我推荐this分步教程帮助我实施应用内购买以回答您的所有问题。