在iOS中实施免费试用期

时间:2013-01-26 05:57:28

标签: iphone ios xcode ios6 trialware

我正在开发一个iDevice应用程序。我想让这个应用程序的用户可以从iTunes免费下载这个应用程序,但在试用期为1周后,将要求用户购买该应用程序。如果用户不会购买,则不允许他/她使用该应用

3 个答案:

答案 0 :(得分:4)

使用钥匙串存储他们安装应用程序的日期。应用程序卸载后,应用程序添加到钥匙串的值仍然存在,并且可以在重新安装时再次访问。

https://developer.apple.com/library/ios/#documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH4g-SW7

答案 1 :(得分:4)

一个选项可能是AKV提出的选项:将时间保存在NSUserDefaults并在每次发布时进行检查。

缺点是用户可以通过从AppStore重新安装应用程序来重置试用期。

一个很好的选择是使用钥匙串,它应该在应用程序的多个安装中保持不变。

或者,您可以在服务器上存储设备的唯一标识符,并在每次启动应用时进行检查。

此解决方案的缺点是它需要有效的互联网连接,但它会阻止用户轻松绕过它。

作为最后评论,Apple可能不会接受具有此类行为的应用程序。通常应用程序不要随着时间的推移禁用功能,即使可能适用某些边界线情况。 最近审查指南可能已经改变,但据我所知,他们明确说明了

  

包含“租借”内容或服务的应用在限定时间后过期将被拒绝

答案 2 :(得分:0)

将日期时间保存为用户默认值。

每次启动应用程序时,请检查dateDiffernce是否不超过30天。如果它更多地显示弹出窗口,请求用户购买应用程序。并禁用所有功能。

编辑: 在我早期,我们为Windows,试用软件游戏和应用程序做了很多这样的调整。但是,您再次重新安装应用程序会丢失已保存的数据。如果您仍然坚持不允许,那么您可以将其写入Keychain或文档中的某些文件,而不是用户默认值和plist。但在某种程度上,Apple不允许这样的应用程序。