iPhone - 应用内购买:记录购买

时间:2011-03-24 16:51:44

标签: iphone memory storage in-app-purchase uninstall

我已阅读here以及其他地方的内容:

  

最后,在提供该功能后,   你应该“记住”那个用户   已购买该应用程序。苹果   推荐的方法是使用   NSUserDefaults,与您存储的方式相同   你的设置。

但是......如果我没错,当您从手机中删除某个应用程序(但不是从iTunes中删除)时,以及稍后从iTunes恢复该应用程序时,将删除这些首选项并将其恢复为默认值。是对的吗 ? 所以我说得对,如果用户从手机中删除应用程序,几周后从iTunes资料库中重新安装应用程序,其应用内购买将会丢失吗?

1 个答案:

答案 0 :(得分:5)

是的,你是对的。当用户删除应用程序时,NSUserDefaults也会被删除。但是,应用程序商店有一个方便的恢复购买功能,您可以请求告知苹果为当前用户记录的购买。

似乎没有一种很好的方法可以检测到需要恢复购买(至少从我在这里看到的内容),大多数开发人员似乎只是提供了一个手动启动恢复过程的按钮。 / p>

还有另一种选择,即将用户购买存储在钥匙串中,当卸载应用程序时(至少现在)已删除。我已经在iOS 4.3上证实了这种情况 - 虽然它可能不会永远保持这种状态。

这是一些sample code that demonstrates both restore purchases, and using the keychain to save purchases