2015-09-29 3 views
1

Так что я могу создать локальное уведомление как этогоSwift местного уведомления с динамическим телом оповещения

var localNotification = UILocalNotification() 
    localNotification.fireDate = NSDate(timeIntervalSinceNow: 7) 
    localNotification.alertBody = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .ShortStyle) 
    localNotification.timeZone = NSTimeZone.defaultTimeZone() 
    localNotification.repeatInterval = NSCalendarUnit.CalendarUnitMinute 
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

Это создает уведомление с указанием даты прямо сейчас, и затем начинает стрелять его каждую минуту вечности. Если время, когда было создано уведомление, будет 5 вечера, он будет произносить 5 вечера каждый раз, когда он срабатывает, даже если 30 минут спустя время 5:30.

Что нужно сделать, чтобы сделать динамическое тело предупреждения?

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

https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/#//apple_ref/occ/instp/UILocalNotification/alertBody

В основном я хочу, чтобы мое приложение, чтобы вычислить значение в то время, когда уведомление собирается стрелять, а не в то время он установлен, чтобы создать сообщение. Пример использования уведомлений каждую минуту для symplicty, чтобы вы могли видеть этот код в действии. В реальном приложении я хочу запустить ежедневное уведомление в заранее определенное время. EG Один раз в день в 7 утра и вычисление значения в это время.

+0

Возможный дубликат [Есть ли простой способ редактирования/модификации UILocalNotification] (http://stackoverflow.com/questions/3842252/is-there-a-simple-way-to-edit-modify-a- uilocalnotification) –

+1

@ChrisSlowik Я думаю, этот вопрос будет: есть ли способ динамически создавать уведомления один раз в день, как работа cron? – humanbeing

+0

Но ваш код не вызывает уведомление. Система делает. И в то время ваше приложение может даже не запускаться, поэтому он не может делать вычисления. Ты видишь? – matt

ответ

1

Вы не можете сделать его динамичным. Для каждого отдельного времени вам понадобятся отдельные уведомления с отдельным текстом.

+0

Итак, я сделал простой пример объяснения, но я вижу, что это кусает меня здесь. Я хочу сделать ежедневное уведомление с вычисленным значением. Есть ли способ сделать работу cron или что-то, что делает уведомление с использованием динамического значения? – humanbeing

+0

Я думаю, что вы неправильно поняли, что такое локальное уведомление. Это сообщение должно доставляться системой пользователю, и только если пользователь разрешает. И как может быть задание cron, когда ваш код даже не запускается, если он не находится впереди с разблокированным экраном? – matt

+0

Я думаю, что вы неправильно поняли то, что я прошу. Я новичок в IOS и быстро, и я не говорю, что знаю лучший способ сделать это. Я ищу способ представить любую динамическую информацию для пользователя. Есть ли у вас быстрый способ сделать это? Такие приложения, как Moves, Darksky и т. Д., Отправляют информацию, которая не является статической строкой. – humanbeing

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