Оповещения с помощью операторов if - PullRequest
0 голосов
/ 16 марта 2012

Я создаю приложение тревоги, которое отправляет данные udp при срабатывании будильника. В данный момент данные udp отправляются сразу после установки будильника, а не после его срабатывания. Я думал, что смогу сделать это, используя оператор if? Я думаю, что это правильный кусок кода. Пожалуйста, помогите !!

-(void)scheduleloalNotificationWithDate:(NSDate *)fireDate {
    UILocalNotification *notification = [[UILocalNotification alloc] init];

notification.fireDate = fireDate;
notification.alertBody = @"Time For Coffee!";

SwitchOn= [sendOn dataUsingEncoding:NSUTF8StringEncoding];
NSString *newIP = [setting IP];
NSLog(@"IP = %@", newIP);
if(!newIP){
    [socket sendData: SwitchOn toHost: @"192.168.0.2" port: 5900 withTimeout:-1 tag:1];
    // NSLog(@"cancel");
}
  else{
 [socket sendData:SwitchOn toHost: newIP port: 5900 withTimeout:-1 tag:1];
 }

[[UIApplication sharedApplication] scheduleLocalNotification: notification];

[notification release];
}

1 Ответ

0 голосов
/ 16 марта 2012

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

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

PS вы пропустили c на scheduleloalNotificationWithDate

...