2013-09-12 2 views
0

Как определить точку обновления в объективе C? Есть ли какие-либо пути для обнаружения того, что приложение только что обновлено до более новой версии или обновления. ?Проверка обновлений Iphone Apps

Моим сценарием считается, что у пользователя есть приложение версии 1.0 на своем устройстве, и он получает уведомление об обновлении и обновление приложения. Здесь, после того, как приложение для обновления версии должно показать какой-нибудь учебник по приложению.

ответ

2

Используйте NSUserDefaults, чтобы проверить, запускается приложение в первый раз.

//In applicationDidFinishLaunching:withOptions: 
BOOL hasLaunchedBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"AppHasLaunchedBefore_v1.0"]; 
if(!hasLaunchedBefore) { 
    //First launch 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"AppHasLaunchedBefore_v1.0"]; 
} 
else { 
    //Not first launch 
} 

При обновлении приложения до версии 2.0 (скажем) изменить приведенный выше ключ к AppHasLaunchedBefore_v2.0. Этот способ для первого запуска после обновления, этот ключ не будет присутствовать в NSUserDefaults, делая hasLaunchedBefore = NO. Вы можете предпринять необходимые действия.

При необходимости, вы можете удалить предыдущий ключ версии из NSUserDefaults с,

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppHasLaunchedBefore_v1.0"]; 

Вы можете программно получить версию пучка текущего выпущенного приложения с,

NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 
//Append this to the user default key, AppHasLaunchedBefore_v%@ 

Надежда что помогает!

+0

Спасибо за ваш ответ. Есть ли способ проверить это без жесткого кодирования версий. Я могу часто выпускать свою версию. Пользователь может сделать обновление версии 1.0 до 3.1 напрямую, не обновляя его до 2.0 или какого-либо другого – nik

+0

@nik, которое ваше приложение должно знать перед тем, какую версию проверить в пользовательских настройках по умолчанию. Этот код нужно будет изменить для каждого обновления, которое вы нажимаете на магазин приложений. Поэтому, я думаю, это не имеет значения, если вы его жестко кодируете. – Amar

+0

@nik Проверить мое редактирование – Amar

Смежные вопросы