несколько uiswitch с локальным интервалом повторения уведомлений, не очень похожи друг на друга в моем приложении

Итак, вот моя история жизни, что я не могу понять, что не так!!!

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

У меня есть два переключателя в моем основном представлении, оба управляют локальным уведомлением с интервалами повторения.

Теперь я правильно настроил переключатели и готов к работе. (Наверное). Однако, когда запланированы повторные интервалы, их нужно снова отменить, если пользователь решил не получать уведомления. Итак, я закодировал свои переключатели следующим образом:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL switchOn = [userDefaults boolForKey:@"switchO"];

if (switchOn) {

    [self Firstnotif];
    [self Secondnotif];
    [self Thirdnotif];
    [self Lastnotif];

}

else {   [[UIApplication sharedApplication] cancelAllLocalNotifications];    }


 BOOL switchOn2 = [userDefaults boolForKey:@"switchO2"];

if (switchOn2) {


[self Firstnotif];


}

else {   [[UIApplication sharedApplication] cancelAllLocalNotifications];    }


}

обратите внимание, что я использовал метод Firstnotif дважды в обоих коммутаторах.

Мои проблемы:

  • Раньше у меня был только один переключатель, и когда они включают первый переключатель, чтобы получить эти четыре уведомления, они не работают со всеми пользователями. поэтому я говорю им выключить его, нажать кнопку «Домой», снова открыть приложение, включить его и снова кнопку «Домой». Оно работает!!!! Зачем?

  • Теперь, когда я добавил еще один переключатель, появляются новые смешанные результаты. второй переключатель должен запускать только первое уведомление с интервалом повторения. Кто-то говорит, что это работает, кто-то говорит, что нет. другие говорят, когда я поворачиваю другой, он делает и не делает. С чем они здесь сталкиваются??

Мои вопросы

Правильно ли я отменяю интервалы повторения?

Что может быть не так с моим приложением? и я предоставлю вам больше кодов, если это необходимо.

Я ценю ваш вклад, так как я потратил недели на эти проблемы без везения.


person user1949873    schedule 28.01.2013    source источник


Ответы (1)


Я решил это!

Я заменил запрос на отмену в методе applicationDidBecomeActive и удалил свой else

Угадай, что? Это сработало!!! :)

person user1949873    schedule 31.01.2013