我正在实现一个试用模式,然后订阅到我的应用程序中,允许用户免费使用应用程序14天,然后在试用结束时,它会提醒他们试用结束,他们需要订阅才能继续使用。
第一次打开应用程序时,我在standardDefaults中设置了一个NSDate对象。然后将当前日期与存储的日期进行比较,并将返回的时间间隔与14天内的秒数进行比较。
我的问题是:如果用户删除了应用程序,standardDefaults会留在内存中吗?如果没有,如何防止用户删除并重新下载应用程序以重新启动试用期?
发布于 2013-02-09 23:53:50
苹果对他们的沙盒概念以及这样一个事实感到非常自豪,即如果一个应用程序被删除,所有的数据都将被删除。
确保这些信息不会丢失的唯一方法是将其保存到服务器上的数据库中,并从您的应用程序定期检查。
这是一个技术解决方案。但请确保,如果苹果允许在那里AppStore,如果你计划在那里发布它。
苹果禁止试用版,尽管我不确定,你是否可以免费提供应用内购买的内容一段时间,然后开始收费。
但主要规则是:免费提供给用户的任何东西都必须保持免费。
发布于 2013-02-10 00:23:26
有一些应用程序对某些功能有试用期。看看海雀浏览器或ChessFree,它们都提供了过期的功能。Puffin允许flash支持(实际上非常酷的功能!)几天后,这个功能就被删除了。尽管浏览器的其余部分仍然可以访问,但它的主要用途已被删除。
ChessFree为你提供了一些点,你可以用这些点来做不同的事情,比如上课、玩游戏、走回头路等等。我不确定当你用完积分时会发生什么,但看起来你真的什么都做不了了。
如果我要实现这样的东西,我会在密钥链中保存一个变量,告诉他们还剩多少天或者安装日期(以字符串的形式)。这样,如果应用程序被卸载,它就不会被删除(即使应用程序被删除,keychain项也会保持存储状态,所以只要按您的意愿检查/减量/递增即可)。我可能会保留一些功能,供达到过期时间限制的用户使用(比如Puffin),但我相信这取决于你。
https://stackoverflow.com/questions/14789729
复制相似问题