什么是检查应用程序是否已安装或首次安装的最佳方法。如何检查应用程序是否已安装或正在首次安装
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