【发布时间】:2012-02-17 04:49:41
【问题描述】:
我在 App Store 上有一个应用程序,我想做一些不会影响之前下载我的应用程序的用户的更改。
有没有办法确定用户之前是否下载过我的应用?
【问题讨论】:
标签: ios xamarin.ios app-store auto-update
我在 App Store 上有一个应用程序,我想做一些不会影响之前下载我的应用程序的用户的更改。
有没有办法确定用户之前是否下载过我的应用?
【问题讨论】:
标签: ios xamarin.ios app-store auto-update
如果有人仍然想知道,这个问题的一个很好的解决方案(假设你还没有它)是使用钥匙串,它在应用程序安装/卸载过程中仍然存在。该库允许您使用类似 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。见:How to tell if an iOS application has been newly installed or updated?
【讨论】: