Приложение для iPhone - создание всплывающих окон с предупреждениями при закрытии приложения

Можно ли при создании приложения для iPhone сгенерировать всплывающее уведомление на iPhone (аналогично push-уведомлению), когда приложение было закрыто. Простым примером может быть приложение, которое может устанавливать напоминание в 17:00 5 января 2010 г. Приложение можно закрыть, и в это время появится всплывающее окно с напоминанием. Я не думаю, что это возможно, но хотел бы знать, есть ли у кого-нибудь идеи? Опять же, мне нужно не решение Push, а решение, которое не требует доступа в Интернет (т.е. "локальный" push с iPhone). Спасибо.


person Ryan    schedule 23.09.2009    source источник


Ответы (4)


Вы можете сделать это прямо сейчас! И это действительно довольно просто. Создайте UILocalNotification.

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
        if (localNotification == nil)
            return;
//Initialise notification
        localNotification.fireDate = yourDate;
        localNotification.timeZone = [NSTimeZone defaultTimeZone];
        localNotification.alertBody = [NSString stringWithFormat:NSLocalizedString(@"Hey, you've forgotten something", nil)];
        localNotification.alertAction = [NSString stringWithFormat:NSLocalizedString(@"%@", nil), buttonTitle];
        localNotification.soundName = UILocalNotificationDefaultSoundName;
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
        [warningDate release];
        [localNotification release];
person Smikey    schedule 13.10.2010
comment
Есть ли для этого плагин телефонного разговора, который я могу использовать. У меня есть небольшие проблемы с этим. Я все время нахожу модули push-уведомлений, но таймер не работает. - person Heavy Gray; 27.10.2012

Извини, приятель, это невозможно.

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

РЕДАКТИРОВАТЬ: На самом деле, да !!, но это janktacular. Вы можете создать файл .ical с, скажем, 15-минутными предупреждениями, синхронизировать его с сервером caldav / webdav и сделать так, чтобы iPhone подписался на него в панели настроек почты / контактов / календарей. Обратите внимание на Omnifocus, это их работа над продвижением. Он синхронизирует то, что связано с моим MobileMe iDisk, и я подписался на календарь - Бум, уведомления.

person nullArray    schedule 23.09.2009

К сожалению нет. Это потребует какой-то фоновой обработки для вашего приложения, а это недопустимо в текущем iPhone SDK. Боюсь, что push-уведомления - единственное решение.

Если это проблема разработки, я знаю, что у Urban Airship есть несколько решений, позволяющих упростить push-уведомления.

person Ken Pespisa    schedule 23.09.2009

Нет, вам придется использовать push-уведомления. Ваше приложение должно быть запущено для отображения любых предупреждений.

Все обходные пути, которые я могу придумать, потребуют доступа к Интернету: как-то добавить событие в календарь или, опять же, использовать push-уведомления. На urbanairship.com есть довольно простой сервис push-уведомлений, которым вы можете воспользоваться.

person James J    schedule 23.09.2009