Лучший способ определить, было ли обновлено мое приложение - PullRequest
4 голосов
/ 08 марта 2012

У меня есть приложение IOS, и каждый раз, когда оно обновляется, я хочу сделать уборку дома. Как лучше всего определить, обновлено ли приложение IOS?

Ответы [ 3 ]

12 голосов
/ 08 марта 2012

Самым простым способом может быть получение текущей версии, сравнение версии с сохраненной версией (если она есть), выполнение очистки при необходимости, сохранение новой версии. Вот примеры получения и хранения информации о версии для сравнения.

//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 голос
/ 31 марта 2012

путь Джо совершенно идеален. Просто для того, чтобы помочь этим, есть небольшая помощь, если вы никогда не устанавливали версию по умолчанию в предыдущей версии или если вы хотите проверить, соответствует ли текущая версия сохраненной версии.

//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"];
}
1 голос
/ 08 марта 2012

Вы можете сохранить «последний увиденный» номер версии в таблице базы данных, а затем при запуске сравнить это значение с номером версии пакета.Получите это, выполнив:

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

Если текущая версия больше, чем «последняя увиденная» версия, выполните уборку дома, а затем обновите «последнюю увиденную» версию в таблице базы данных до текущей версии комплекта.,

...