在iOS而非NSUSERDEFAULTS中检测第一次安装



它如何工作 - 该应用程序是对跨平台的服务的订阅。在iPhone上,初次购买将为您提供30天的完整功能,然后30天后,您无法做CEIRTAIN的事情,直到您购买App购买中的订阅。

我需要的 - 我需要知道这是否是第一次运行,以便我可以将用户信息添加到数据库中。或者因为它是跨平台,他们可能已经为订阅付款,所以我需要向用户已经存在的订阅添加30天。

我现在正在做的 - 目前,我在远程数据库中存储distinifierforvendor,在nsuserDefaults中,有一个布尔检查以查看1.是否是第一次运行,如果是2.第一次运行以使用户可以将自己添加到数据库中30天充分使用,或在其现有订阅中添加30天。

问题 - 问题是,如果用户删除了应用程序,则将重新安装它,则NSUSERDEFAULT将被删除,并且标识符Forvendor将会更改,并且该用户将允许用户再将30天添加到30天他们仅通过删除和重新安装应用程序免费订阅。

理想的解决方案我最初想对该应用进行订阅,但是当最初购买应用程序并将用户插入远程数据库时,我不知道该如何检查收据。另外,我真的不知道如何设置不是应用程序购买的订阅。我还考虑过将该应用程序免费提供,然后他们可以使用应用程序购买该服务来购买该服务,但是该应用程序毫无用处,而无需连接到远程服务器以首先构建数据。

底线我想做以下

  1. 在第一次购买时进行订阅(我需要能够检测购买是否有效,以便我可以将用户信息输入远程数据库)
  2. 使该应用程序免费,然后在应用程序购买中添加订阅(可以接受免费的应用程序,直到您订阅之前不会做任何事情?)
  3. 将其视为现在的样子(但要找到一个更永久的解决方案,以供标识符Forvendor,并且标识符Foradvertising也无法正常工作,因为它可以关闭)

这将对您有很大帮助。基本上,它是钥匙串的包装器,它是按照NsuserDefaults进行图案的。它给我带来了很多。将东西存储在钥匙扣中会使它们保持超越应用程序的重新安装。

https://github.com/carlbrown/pdkeychainbindingscontroller

此项目旨在使用MAC OSX和iOS键链制作 与nsuserdefaults一样容易。

这是Mac OSX和iOS周围的符合KVO的可可包装器 钥匙扣和此包装器的模型是NsuserDefaults,因此 意图是,对于通常需要致电的常见情况:

[NSUSERDEFAULTSCONTROLLER SHASSERUSERDEFAULTSCONTROLLER]您应该是 能够打电话

[pdkeychainbindingscontroller sharedKeyChainBindingsController]和 对于您通常会打电话给的常见情况:

[NSUSERDEFAULTS StandarduserDefaults]您应该能够致电

[pdkeychainbindings共享keykeychainbindings]

最新更新