我已阅读here以及其他地方的内容:
最后,在提供该功能后, 你应该“记住”那个用户 已购买该应用程序。苹果 推荐的方法是使用 NSUserDefaults,与您存储的方式相同 你的设置。
但是......如果我没错,当您从手机中删除某个应用程序(但不是从iTunes中删除)时,以及稍后从iTunes恢复该应用程序时,将删除这些首选项并将其恢复为默认值。是对的吗 ? 所以我说得对,如果用户从手机中删除应用程序,几周后从iTunes资料库中重新安装应用程序,其应用内购买将会丢失吗?
答案 0 :(得分:5)
是的,你是对的。当用户删除应用程序时,NSUserDefaults也会被删除。但是,应用程序商店有一个方便的恢复购买功能,您可以请求告知苹果为当前用户记录的购买。
似乎没有一种很好的方法可以检测到需要恢复购买(至少从我在这里看到的内容),大多数开发人员似乎只是提供了一个手动启动恢复过程的按钮。 / p>
还有另一种选择,即将用户购买存储在钥匙串中,当卸载应用程序时(至少现在)不已删除。我已经在iOS 4.3上证实了这种情况 - 虽然它可能不会永远保持这种状态。
这是一些sample code that demonstrates both restore purchases, and using the keychain to save purchases