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

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

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];

Извини дружище, не возможно.

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

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

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

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

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

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

Другие вопросы по тегам