我有我想要的更新它的應用程序。如何檢查,如果應用程序已經安裝
我有一個應用程序中的項目列表,但現在我想爲這個項目添加版本,所以當項目將被更新時,它將被標記爲已更新。或者如果我將添加一個新的項目,它將被標記爲新的。
但現在對於安裝應用程序第一次所有的項目應該是新的,並且已經對自己的設備應用中的所有項目應該沒有任何標記intially用戶新用戶。 我沒有任何用戶默認現在在應用程序,所以我不能檢查一些價值。
我如何檢查是否應用程序已經在設備上安裝?
我有我想要的更新它的應用程序。如何檢查,如果應用程序已經安裝
我有一個應用程序中的項目列表,但現在我想爲這個項目添加版本,所以當項目將被更新時,它將被標記爲已更新。或者如果我將添加一個新的項目,它將被標記爲新的。
但現在對於安裝應用程序第一次所有的項目應該是新的,並且已經對自己的設備應用中的所有項目應該沒有任何標記intially用戶新用戶。 我沒有任何用戶默認現在在應用程序,所以我不能檢查一些價值。
我如何檢查是否應用程序已經在設備上安裝?
答案是:你無法知道它如果沒有存儲,將幫助您檢查用戶是否更新應用程序或從頭開始安裝它的任何信息。
您可以使用此代碼來了解它,從你會實現它的版本開始。
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
文件夾,這將意味着應用程序已經安裝。
我不知道我可以將它添加到下一個版本。但現在我試圖添加它沒有nsusedefaults。不管怎麼說,還是要謝謝你。 – Sergey92zp
你是否在NSUserDefaults或任何類型的數據庫或Documents文件夾中存儲任何東西? – RaffAl
感謝@reecon,我記得我爲圖像製作緩存 – Sergey92zp
你有沒有CoreData或SQLite?你可以檢查你是否有任何信息保存。 –
不,我沒有,我從我的服務器api收到的所有項目 – Sergey92zp