2012-03-08 51 views

回答

12

最簡單的方法可能是獲取當前版本,將版本與保存的版本(如果有的話)進行比較,如果需要執行清理,保存新版本。以下是檢索和存儲用於比較的版本信息的示例。

//Getting the application version 
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] 

//Retrieving the saved application version 
NSString *savedVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"versionkey"]; 

//Saving the version 
[[NSUserDefaults standardUserDefaults] setObject:version forKey:@"versionkey"]; 

如果你想知道如何在這裏比較的版本是使用NSNumericSearch比較選項的例子:http://spitzkoff.com/craig/?p=148

1

您可以在「最後一次看到」版本號存儲在數據庫中的表,然後在啓動時比較該值與捆綁版本號相對應。這樣做會得到:

NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 

如果當前版本比「上次上線」的版本更大,執行你的房子清潔,然後更新數據庫表中的「最後一次看到」版本升級到當前軟件包版本。

1

喬的方式是完全完美的。只是爲了幫助那些繼承人一點幫助,如果你從未在以前的版本中設置默認版本,或者如果你想檢查當前版本是否符合保存的版本。

//Getting the application version 
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] 
//Retrieving the saved application version 
NSString *savedVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"versionkey"]; 

if (version == nil || [version isEqualToString:savedVersion]){ 
//Saving the version 
    [[NSUserDefaults standardUserDefaults] setObject:version forKey:@"versionkey"]; 
} 
相關問題