确定以前是否安装了应用程序

时间:2012-02-17 04:49:41

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

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

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

2 个答案:

答案 0 :(得分:3)

任何人仍然想知道,这个问题的一个很好的解决方案(假设你还没有)正在使用Keychain,它通过app安装/卸载持续存在。该库允许您使用类似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;
}

答案 1 :(得分:2)

我不知道很棒这样做的方法,但你可以做一些技巧,例如:

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

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