2012-02-17 42 views
3

我在App Store上有一个应用程序,并且我想进行一些更改,这些更改不会影响以前下载我的应用程序的用户。确定之前安装的应用程序

有没有一种方法可以确定用户以前是否下载过我的应用程序?

回答

2

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

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

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

+0

第二个选择似乎是到底是最好的,但它是一个我希望避免的。感谢您的建议。 – DarthVadar123451 2012-02-17 15:41:55

2

柜面有人还在纳闷,一个伟大的解决这个问题是使用钥匙串,它通过应用程序的安装仍然存在(假设你还没有拥有它):见。该库允许您使用类似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; 
} 
相关问题