Ios 如何检查应用程序是否已安装

Ios 如何检查应用程序是否已安装,ios,Ios,我有一个应用程序,我想对其进行更新 我在应用程序中有一个项目列表,但现在我想添加此项目的版本,因此当项目更新时,它将被标记为已更新。或者,如果我要添加一个新项目,它将被标记为“新建” 但现在对于第一次安装应用程序的新用户,所有项目都应该是新的,对于已经在其设备上安装了应用程序的用户,所有项目都应该没有任何初始标记。 我现在在应用程序中没有任何用户默认值,所以我无法检查一些值 如何检查应用程序是否已安装在设备上?答案是如果您没有存储任何有助于您检查用户是否正在更新应用程序或从头开始安装应用程序的信

我有一个应用程序,我想对其进行更新

我在应用程序中有一个项目列表,但现在我想添加此项目的版本,因此当项目更新时,它将被标记为已更新。或者,如果我要添加一个新项目,它将被标记为“新建”

但现在对于第一次安装应用程序的新用户,所有项目都应该是新的,对于已经在其设备上安装了应用程序的用户,所有项目都应该没有任何初始标记。 我现在在应用程序中没有任何用户默认值,所以我无法检查一些值


如何检查应用程序是否已安装在设备上?

答案是如果您没有存储任何有助于您检查用户是否正在更新应用程序或从头开始安装应用程序的信息,您将无法知道它

您可以使用此代码了解它,从您将在其中实现它的版本开始

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
,或任何类型的数据库,或
文档
文件夹中的任何内容,这意味着应用程序已安装

您有任何CoreData或SQLite吗??您可以检查您是否保留了任何信息。不,我没有,我从服务器收到的所有项目apii都理解,我可以为下一个版本添加它。但现在我尝试添加它而不使用nsusedefaults。无论如何,谢谢。您是否在NSUserDefaults、任何类型的数据库或文档文件夹中存储任何内容?因此,只要检查缓存是否存在,您就知道了:)祝您好运!