我在我的OSX应用程序中使用底部的链接构建了一个基本的应用内购买。基本上,我显示一个UI供用户选择购买升级(仅添加更多内容),然后通过调用addPayment:开始交易,我在paymentQueue:updatedTransactions:中接收到交易,如果是购买交易,则将其发送到提供内容的方法,然后调用finishTransaction:。
所有这些都可以在应用程序的单个使用中工作,但当我再次启动应用程序时,我必须再次执行购买操作以重新启用那些功能(这很合理,因为我没有在任何地方存储升级数据),但我想知道防止用户在已经购买后被要求再次购买的最佳方法是什么。这是否应该通过收据验证来完成?我找到的文档都没有多少讨论。
有用的链接:
编辑:
我的应用程序只是尝试通过应用内购买启用内置内容,因此似乎使用属性列表(plist)是苹果建议的方法:
Apple建议使用属性列表(plist)来跟踪您内置功能的产品标识符。基于内容的应用程序可以使用它来添加新内容,而无需修改应用程序源。
但我想知道如果plist文件存储在捆绑包中,如何编辑它(这会导致沙箱认为应用程序已被破坏)。您是否将首选项plist存储在容器中?苹果提供的链接被认为会更多地讨论更改应用程序首选项,但该链接指向了一个IOS页面,该页面上关于首选项的唯一内容位于设置束中。 实现应用程序首选项"
应用程序首选项方法只能在IOS上使用吗?将升级数据放置在设置束中的位置正确吗?