如何在代码中获取我的iPhone应用程序安装日期

时间:2014-05-22 02:41:14

标签: ios

我想获得iphone app安装日期

  1. 这是应用首次安装的日期
  2. 将应用更新为较新版本不应更改该日期
  3. 备份并恢复iphone,因为iphone重新安装应用程序,所以日期应该是应用程序重新安装的日期
  4. 我考虑使用UserDefaults来存储安装应用程序的日期,但我知道备份将备份该日期,应用程序将无法意识到它已重新安装。

    我是否可以将缓存目录的创建日期用作应用程序的安装日期?如果是的话,你能暗示我怎么样?

2 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作来实现此目的

在NSUserDefaults中,在应用程序发布之前,您所使用的内容将可用 删除

在应用程序委托中,didFinishLaunchingWithOptions方法添加以下代码

NSDate *applicationInstalledDate;

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL hasLanchedOnce = [defaults boolForKey:@"HasLanchedOnce"];
if(hasLanchedOnce){
    applicationInstalledDate = (NSDate*)[defaults valueForKey:@"applicationInstalledDate"];
} else {
    applicationInstalledDate = [NSDate date];
    [defaults setValue: applicationInstalledDate forKey:@"applicationInstalledDate"];
    [defaults setBool:YES forKey:@"HasLanchedOnce"];
}

希望这能解决问题

答案 1 :(得分:0)

如果此应用是您开发者帐户的唯一应用,则此操作可能有效。看看UIDevice的identifierForVendor属性。文档说,只要仍然安装了供应商的一个应用程序并且如果卸载了所有应用程序,它将始终返回相同的值,那么值将会更改。

因此,如果您在第一次运行应用程序时缓存了该值,然后每次比较它,那么您应该能够检测到值的更改,这意味着应用程序已重新安装。再次,非常hacky解决方案。