我正在开发一个iDevice应用程序。我想让这个应用程序的用户可以从iTunes免费下载这个应用程序,但在试用期为1周后,将要求用户购买该应用程序。如果用户不会购买,则不允许他/她使用该应用
答案 0 :(得分:4)
使用钥匙串存储他们安装应用程序的日期。应用程序卸载后,应用程序添加到钥匙串的值仍然存在,并且可以在重新安装时再次访问。
答案 1 :(得分:4)
一个选项可能是AKV提出的选项:将时间保存在NSUserDefaults
并在每次发布时进行检查。
缺点是用户可以通过从AppStore重新安装应用程序来重置试用期。
一个很好的选择是使用钥匙串,它应该在应用程序的多个安装中保持不变。
或者,您可以在服务器上存储设备的唯一标识符,并在每次启动应用时进行检查。
此解决方案的缺点是它需要有效的互联网连接,但它会阻止用户轻松绕过它。
作为最后评论,Apple可能不会接受具有此类行为的应用程序。通常应用程序不要随着时间的推移禁用功能,即使可能适用某些边界线情况。 最近审查指南可能已经改变,但据我所知,他们明确说明了
包含“租借”内容或服务的应用在限定时间后过期将被拒绝
答案 2 :(得分:0)
将日期时间保存为用户默认值。
每次启动应用程序时,请检查dateDiffernce是否不超过30天。如果它更多地显示弹出窗口,请求用户购买应用程序。并禁用所有功能。
编辑: 在我早期,我们为Windows,试用软件游戏和应用程序做了很多这样的调整。但是,您再次重新安装应用程序会丢失已保存的数据。如果您仍然坚持不允许,那么您可以将其写入Keychain或文档中的某些文件,而不是用户默认值和plist。但在某种程度上,Apple不允许这样的应用程序。