【发布时间】:2013-02-12 11:58:36
【问题描述】:
我正在使用 InApp 购买,所以我已经实现了一个工作模型,我已经参考了这个
链接http://xcodenoobies.blogspot.in/2012/04/implementing-inapp-purchase-in-xcode.html.
在这里,当用户购买商品时,我会在 KeyChain 中存储一些值,并与此值进行交叉检查以确认用户已购买该商品,如果没有,我将要求用户购买项目。
这可行,但是我有4种产品可供购买,可以单独购买,所以我想创建不同的KeyChain实例 并为这4个产品存储不同的密码和交叉校验,但keyChain只能保存一个用户名和密码。
所以我想知道什么可以替代这个。另外 NSUserdefaults 将不起作用,因为它与 App 捆绑包绑定,并且每当用户删除应用程序时,数据都会丢失等等他将被要求再次购买。
问候 兰吉特
【问题讨论】:
-
首先,您的应用程序中应该始终有一个“恢复购买”按钮。这是一个非常开放的问题,您可以考虑将所有购买信息存储在一个密码中(nnnn 意味着没有购买任何产品,ynnn 意味着只购买了第一个产品等等......)但这不是一个优雅的解决方案。我建议你还是使用 NSUserDefaults
-
但是如果你在删除应用的时候使用NSUserDefaults,里面的数据会被抹掉
-
这就是为什么你应该有一个恢复按钮,StoreKit 有让你轻松做到这一点的方法。在另一个场景中,假设您使用 Keychain,而用户购买了一部新 iPhone,那么呢?
-
所以你的意思是他们不需要 KeyChain 或 NSUserdefaults 对吧?
-
仍然需要 NSUserDefaults,因为如果您不使用它,用户每次打开应用程序时都需要恢复购买。
标签: ios ios5 in-app-purchase