我有一个应用程序,我想对它进行更新。
我在应用程序中有一个项目列表,但现在我想为这些项目添加版本,因此当项目更新时,它将被标记为已更新。或者如果我要添加新项目,它将被标记为新。
但是现在对于首次安装应用程序的新用户来说,所有项目都应该是新的,而对于已经在其设备上安装应用程序的用户,所有项目都应该没有任何标记。 我现在在应用程序中没有任何用户默认值,因此我无法检查某些值。
如何检查设备上是否已安装应用?
答案 0 :(得分:0)
如果你没有存储任何可以帮助你检查用户是在更新应用程序还是从头开始安装的信息,答案就是你无法知道。
您可以使用此代码来了解它,从您将在其中实现的版本开始。
BOOL versionUpgraded;
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSString *previousVersion = [prefs stringForKey:@"appVersion"];
if ([[NSUserDefaults standardUserDefaults] stringForKey:@"appVersion"] != nil)
{
// See if version is the same as the previous one. If NOT, it is an Update.
versionUpgraded = !([previousVersion isEqualToString: version]);
}
// No "appVersion" means new install.
else
{
versionUpgraded = YES;
}
if (versionUpgraded)
{
[[NSUserDefaults standardUserDefaults] setObject:version
forKey:@"appVersion"];
[[NSUserDefaults standardUserDefaults] setObject:previousVersion
forKey:@"prevAppVersion"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
您还可以做的是检查是否有任何数据缓存,存储等。NSUserDefaults
或任何类型的数据库或Documents
文件夹中的任何内容都意味着该应用已安装。