【问题标题】:Determine if previously installed app确定是否以前安装的应用程序
【发布时间】:2012-02-17 04:49:41
【问题描述】:

我在 App Store 上有一个应用程序,我想做一些不会影响之前下载我的应用程序的用户的更改。

有没有办法确定用户之前是否下载过我的应用?

【问题讨论】:

    标签: ios xamarin.ios app-store auto-update


    【解决方案1】:

    如果有人仍然想知道,这个问题的一个很好的解决方案(假设你还没有它)是使用钥匙串,它在应用程序安装/卸载过程中仍然存在。该库允许您使用类似 NSDictionary 的语法访问 Keychain。

    https://github.com/nicklockwood/FXKeychain

    所以你可以实现这样的函数:

    -(BOOL)alreadyInstalled
    {
    NSString *installDate = [[FXKeychain defaultKeychain] objectForKey:@"InstallDate"];
    if (!installDate)
    {
        NSString *newInstallDate = [NSString stringWithFormat:@"%i", [[NSDate date] timeIntervalSince1970]];
        [[FXKeychain defaultKeychain] setObject:newInstallDate forKey:@"InstallDate"]
        return NO;
    }
    return YES;
    }
    

    【讨论】:

      【解决方案2】:

      我不知道一个伟大的方法来做到这一点,但你可以做一些技巧,例如:

      1. 查找您的应用程序生成的一些数据。如果数据已经存在,那么它不是更新(或之前完成的更新);

      2. 为此做好准备,即使这意味着向您的应用程序发布中间更新,然后返回 #1。见:How to tell if an iOS application has been newly installed or updated?

      【讨论】:

      • 第二个选项似乎最终是最好的,但这是我希望避免的。感谢您的建议。
      猜你喜欢
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 2017-10-27
      • 1970-01-01
      • 2020-05-20
      相关资源
      最近更新 更多