什麼是檢查應用程序是否已安裝或首次安裝的最佳方法。如何檢查應用程序是否已安裝或正在首次安裝
2
A
回答
6
捆綁版本並將其保存爲用戶默認值。
編輯:
這裏有三件事要注意。
捆綁版本:這是要釋放你的應用程序的版本。
舊版本:這將指示您的應用程序的先前版本。我們會將其存儲爲用戶默認值,以便我們在更新應用程序時知道舊版本。如果你的bundle版本是1.0,這顯然是零。
目標版本:這表示用戶的目標版本。我們將在稍後討論。
所以,條件如
bundleVersion > oldVersion
或
if(isVersionBetter:myBundleVersion thanVersion:oldVersion)
要麼意味着我們要建立我們的數據庫(在這種情況下,包版本將是1.0和舊版本將是零)或更新我們的數據庫(在這種情況下捆綁版本將大於1.0,因此舊版本不會爲零)。
因此,正如我們所看到的,創建數據庫意味着用戶首次安裝應用程序。更新數據庫意味着用戶已經安裝了應用程序並正在更新數據庫。
但是,當您想要更新您的應用程序並希望保持數據庫原樣時,可能也會出現這種情況。也就是說,只有UI更新。
在這裏,目標版本進入圖片。
如上所述,目標版本是用戶定位的版本。如果用戶的目標是捆綁版本,所有的都和上面的一樣。但是,如果用戶的目標是捆綁版本以外的其他版本,我們將跳過數據庫更新部分,從而只允許更改UI。
所以,最後的聲明將是這樣的:
if(bundleVersion == targetVersion AND bundleVersion > oldVersion) {
// Either create or update the database.
}else {
// Do nothing. Skips database updating and allows UI update.
}
因此,你的數據庫功能會是這個樣子
-(void) initWithTargetVersion:(NSString *) targetVersion {
NSString *oldDatabaseVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"OldDatabaseVersion"];
NSString *bundleDatabaseVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
if([bundleDatabaseVersion isEqualToString:targetVersion] && [self isVersionBetter:oldDatabaseVersion new:targetVersion]) {
// Create or update the database.
}else {
// Do nothing.
}
}
其中用戶將通過目標版本如下:
[[DatabaseManager sharedManager] initWithTargetVersion:@"1.0"];
相關問題
- 1. 安裝jar檢查是否已安裝
- 2. 運行安裝程序或檢查程序是否安裝
- 3. Android:您可以檢查應用程序安裝是否新鮮或已安裝應用程序的舊版本?
- 4. 如何檢查應用程序之前已安裝或不
- 5. 檢查用戶是否已安裝我的Facebook應用程序
- 6. 檢查iphone是否安裝了Square應用程序 - 打開或安裝
- 7. 如何檢查應用程序是否預裝或從Windows Phone marketplace安裝
- 8. 如何檢查已安裝的應用程序是我的?
- 9. 如何查找應用程序是否已安裝?
- 10. 如何檢查QQ(tencent)應用程序是否安裝在Android上或不是以編程方式安裝?
- 11. 檢測應用程序是否安裝?
- 12. 如何檢查應用程序是第一次安裝
- 13. 如何從Sierra上的Macports安裝openmpi和/或檢查openmpi是否已安裝
- 14. 如何檢查用戶是否安裝了應用程序?
- 15. 如何區分應用程序是已更新還是首次安裝?
- 16. 如何檢查特定應用程序是否已安裝在iphone設備上?
- 17. PHP:如何檢查庫是否已正確安裝並啓用?
- 18. 如何檢查之前是否安裝了iPhone應用程序?
- 19. 如何檢查應用程序是否提前安裝?
- 20. 檢查SQL Server是否已安裝C#
- 21. 檢查點是否已安裝?
- 22. CHEF使用Not_If來檢查程序是否已安裝
- 23. 如何檢查php-fpm是否已安裝並正確運行?
- 24. 如何檢查我是否已正確安裝了pymunk
- 25. 如何首次安裝?
- 26. 檢查應用程序是否安裝在MAC OS X上?
- 27. 檢查應用程序是否安裝在配對設備中
- 28. 如何在Safari中檢測是否安裝了應用程序
- 29. 如何檢查頁面是否已安裝在檢票口?
- 30. C++檢查已安裝的程序
過程如何? – rptwsthi 2011-06-03 03:30:51