我正在开发一个iDevice应用程序。我想让这个应用程序的用户可以从iTunes免费下载此应用程序,但经过1周的试用期后,用户将被要求购买该应用程序。如果用户不购买,则不允许使用该应用程序
发布于 2013-01-26 14:13:43
使用Keychain存储他们安装应用程序的日期。你的应用程序添加到密钥链的值在卸载应用程序后仍然存在,并且可以在重新安装时再次访问。
发布于 2013-01-26 14:14:32
一种选择可能是AKV提出的:将时间保存在NSUserDefaults中,并在每次发射时检查它。
弱点是,用户可以通过从AppStore重新安装应用程序来重置试用期。
一个好的选择是使用密钥链,它应该在应用程序的多个安装中持久存在。
或者,您可以在服务器上存储设备的唯一标识符,并在每次启动应用程序时进行检查。
这种解决方案的缺点是,它需要活跃的互联网连接,但它将阻止用户轻松绕过它。
最后一句话,苹果可能不会接受具有这种行为的应用程序。通常,要求应用程序不会随着时间的推移而禁用功能,即使某些边界线情况可能适用。审查指南最近可能发生了变化,但据我所知,它们清楚地说明了
包含有限时间后到期的“租赁”内容或服务的
应用程序将被拒绝
发布于 2013-01-26 14:00:53
将日期时间保存在用户默认值中。
每次启动应用程序时,请继续检查dateDiffernce是否不超过30天。如果是更多,显示一个弹出窗口,要求用户购买该应用程序。并禁用所有功能组件。
编辑:在我早年的时候,我们为windows、试用软件游戏和应用程序做了很多这样的调整。但重新安装该应用程序后,您会丢失保存的数据。如果您仍然坚持不允许,那么您可以将其写在Keychain或文档中的某个文件中,而不是用户默认设置和plist。但在某种程度上,苹果不允许有这样的应用程序。
https://stackoverflow.com/questions/14534319
复制相似问题