【发布时间】:2013-06-14 18:02:00
【问题描述】:
使用我帖子底部的链接,我为我的 OSX 应用构建了一个基本的应用内购买。基本上我所做的是向用户显示一个用户界面,让他们选择他们想要购买升级(这只是添加更多内容),然后我通过调用 addPayment: 开始交易,我在 paymentQueue:updatedTransactions 中收到交易:和如果是购买交易,我将其发送到提供内容的方法,然后调用 finishTransaction:。
这一切都适用于应用程序的一次使用,但是当我再次启动时,我必须再次购买才能重新启用这些功能(这是有道理的,因为我没有将升级数据存储在任何地方),但是我想知道存储有关购买的数据的最佳方式是什么,以防止用户在购买后被要求再次购买。这是否应该通过收据验证来完成?我找到的所有文档都没有提到这一点。
有用的链接:
Apple's in app purchase documentation
编辑:
我的应用实际上只是试图通过应用内购买来启用内置内容,因此苹果建议使用属性列表:
Apple 建议使用属性列表 (plist) 来跟踪内置功能的产品标识符。内容驱动的应用程序可以使用它来添加新内容,而无需修改应用程序的源代码。
但我想知道如果 plist 文件存储在包中,我该如何编辑它(这导致沙盒认为应用程序已被入侵)。您是否将首选项 plist 存储在容器中?苹果提供的链接应该讨论更多关于更改应用程序首选项链接到 IOS 页面的信息,并且该页面上唯一关于首选项的内容是在设置包中。 Implementing Application Preferences”
应用程序首选项方法是否只能在 IOS 上使用?将升级数据放入设置包的正确位置是否正确?
【问题讨论】:
标签: in-app-purchase mac-app-store