2011-02-03 1 views
1

Я предупредил, что случайно появляется напоминание пользователю о том, чтобы оценить приложение, а затем установить ключ BOOL на YES, чтобы он не всплывал, когда пользователь попадает ставка. Мне нужно сначала установить это значение НЕТ. Есть ли функция или переменная, которая знает, если ее первый раз, когда пользователь открывает приложение?Цель C: Признать, если пользователь впервые открывает приложение

+0

«Я сделал предупреждение, которое случайно появляется, чтобы напомнить пользователю оценить приложение [и держит не выскакивать, пока пользователь не делает это]» Я могу гарантировать, что я оцените ваше приложение на одну звезду за такое предупреждение. –

+0

Не знаю, почему враждебность. Это стандартная практика, используемая TON приложений. – mbm29414

ответ

8

Если вы используете NSUserDefaults хранить этот BOOL, а затем, когда вы спрашиваете по умолчанию для boolForKey:, он автоматически вернется NOBOOL, если не существует по умолчанию.

+2

Хотя это точно подходит для конкретной ситуации, я думаю, кто-то должен указать «- [NSUserDefaults registerDefaults:]», общий способ указания базовых значений по умолчанию. Итак, я это делаю. :-) –

0

Если вы сохраняете какие-либо настройки, любой конфигурационный файл или что-то еще, когда приложение используется, вы можете проверить наличие этих данных и предположить, что вы используете первое или восстановление устройства и новую установку, если эти данные не являются Там есть при запуске приложения.

Это, вероятно, кажется очевидным. Дело в том, что вы можете сохранить некоторые данные для проверки, хорошим примером является счетчик, который указывает количество запусков приложения (или повторное пробуждение), гарантируя, что вы не запрашиваете рейтинг до тех пор, пока не по крайней мере 3-й запуск.

2

Установите BOOL firstTimeAppLaunch; firstTimeAppLaunch = TRUE; затем [[NSUserDefaults standardUserDefaults] setBool:firstTimeAppLaunch forKey:@"firstTimeFlag"];

затем прочитать его

BOOL tempFirstAppLaunch = [[NSUserDefaults standardUserDefaults] boolForKey:@"firstTimeFlag"]; 
    if(tempFirstTimeAppLaunch==TRUE) 
    { 
      //doSomething 
     } 
+0

Как это всегда указывает, что это ** НЕ ** первый запуск? Если вы автоматически установите его на «YES», тогда установите значение в 'standardUserDefaults', затем READ значение, вы получите тот же результат каждый раз! – mbm29414

+0

Для этого вы должны установить значение NO в методе! BOOL tempFirstAppLaunch = [[NSUserDefaults standardUserDefaults] boolForKey: @ "firstTimeFlag"]; if (tempFirstTimeAppLaunch == TRUE) { // doSomething RIGHT HERE [[NSUserDefaults standardUserDefaults] setBool: @NO ForKey: @ "firstTimeFlag"]; } –

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