iOS应用购买date

我正在尝试新的市场战略,所以我现在要免费提供我的0.79欧元的应用程序,并通过应用内购买来解锁所有的内容。 我也不想背叛已经买了它的用户,所以我想实现一个检查谁已经买了应用程序,不需要购买应用内付款解锁所有。

我的问题是…我可以检查应用程序何时被购买? 或者也许有一个简单的方法?

你不能做任何确定的事情,因为没有办法检查用户是否购买了应用程序,因为没有办法向操作系统询问安装/购买date。

如上所示,您可以将其保存在NSUserDefaults ,但是如果用户删除了该应用程序,则该信息将丢失。

你可以将它保存在钥匙串中,如果你删除了应用程序,这个钥匙串不会被清除,但问题仍然存在,因为如果iOS设备被恢复,这些设置可能会丢失。

只是为了更新这个,这是可能的。 看看这个问题的答案 – 收据中的一个字段是“原始购买date”

在iOS 7上本地validation应用内收据和捆绑收据的完整解决scheme

rckoenes的解释是正确的。 我最近经历了这样的情况,我已经考虑了答案中提到的选项。 我最终的select是发布应用程序的另一个扩展(如“专业”或“简”等),而不是现有的应用程序的版本。 这将切断处理您的应用程序的购买状态的所有麻烦。 然后,您将拥有全部付费版本的应用程序以及所有优质内容和一个免费版本的应用程序内购买来解锁内容。 希望这会有所帮助。

假定当前版本的应用程序保存状态,在应用程序的下一个版本首次启动时,可以检查任何保存的状态(例如NSUserDefaults一个键,文档目录中的文件等)

你应该只做一次,所以你需要另一个标志在别处告诉你,检查已经完成。

这应该是相当简单的。 如果您知道新应用程序何时联机,您只需检查安装date/时间(首次运行时将date/时间存储在钥匙串中)。 在您的免费应用程序联机的date/时间之前安装应用程序的用户可以访问内容。 如果您担心新用户搞乱date/时间,请使用在线时间服务获取实际时间。