我在App Store上有一个应用程序,我想做一些不会影响以前下载我的应用程序的用户的更改。
有没有办法确定用户之前是否已下载过我的应用?
答案 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。请参阅:How to tell if an iOS application has been newly installed or updated?