Objective c 了解最早安装的应用程序版本-iOS

Objective c 了解最早安装的应用程序版本-iOS,objective-c,ios,Objective C,Ios,我想将我的应用程序从付费版本更改为免费的带有广告的版本。但是,我不希望最初为应用程序付费的人获得广告 我想我可以包括一个新的更新,有额外的代码,设置一些用户默认值,说这个版本没有广告,然后更新到免费版本。但这似乎不是一个非常可靠的解决方案。我认为,这取决于程序可以运行的最低操作系统版本。对于iOS 5.0及更高版本,您可以尝试使用iCloud存储有关购买版本的一些标志。它允许您不仅为一台设备,而且为用户的帐户设置此标志 或者您可以将此信息存储在钥匙链中,以便以后获取。但在这种情况下,您的用户将无

我想将我的应用程序从付费版本更改为免费的带有广告的版本。但是,我不希望最初为应用程序付费的人获得广告


我想我可以包括一个新的更新,有额外的代码,设置一些用户默认值,说这个版本没有广告,然后更新到免费版本。但这似乎不是一个非常可靠的解决方案。

我认为,这取决于程序可以运行的最低操作系统版本。对于iOS 5.0及更高版本,您可以尝试使用iCloud存储有关购买版本的一些标志。它允许您不仅为一台设备,而且为用户的帐户设置此标志

或者您可以将此信息存储在钥匙链中,以便以后获取。但在这种情况下,您的用户将无法使用其帐户在其他设备上没有广告

无论如何,据我所知,你需要先为你的应用程序创建一个更新,然后在任何地方写下这个标志。只有在一段时间内,才能用广告进行更新


如果有人对这个问题有其他想法,我会很高兴看到评论。

似乎没有可靠的方法来检测是否有人为你的应用付费或在价格变为免费后下载。因此,我决定在应用商店中创建两个单独的条目。

您在应用程序中使用过sqlite数据库吗?我认为没有可靠的方法来实现您的目标。若用户为你们的游戏付费并卸载了它,然后想重新安装——但他得到了带有广告的版本。我的意见是——单独发布freemium版本,并保持付费版本不变。不,我没有。您的建议是-检查行上的创建日期吗?@Wojciech-这是一个非常好的观点。我想没有某种用户帐户就没有解决方案了?是的,您可以检查是否存在特定的表,然后相应地,我认为使用这两个选项将是一个相当不错的解决方案。似乎没有完全万无一失的方法。我开始认为有一个免费和一个单独的付费版本会更好。如果这两个版本都支持对你来说不是问题的话,我认为这是最好的解决方案。