4

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

4

3 回答 3

4

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

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

于 2013-01-26T06:13:42.540 回答
4

一种选择可能是 AKV 提出的选择:节省时间NSUserDefaults并在每次启动时检查它。

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

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

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

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

最后一点,Apple 可能不会接受具有这种行为的应用程序。通常要求应用程序不要随着时间的推移禁用功能,即使某些边界线情况可能适用。审查指南最近可能发生了变化,但据我所知,他们清楚地说明了

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

于 2013-01-26T06:14:31.533 回答
0

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

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

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

于 2013-01-26T06:00:52.530 回答