我正在创建一个警报应用,可在闹钟响起时发送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];
}
答案 0 :(得分:0)
应用程序可能会在安排通知后但在触发之前终止。作为用户,我可以解除不打开应用程序的通知,这意味着不会始终发送数据。如果用户使用与多个设备相同的应用程序,也会出现多次更新的竞争条件。
如果您仍希望在触发应用程序时更新数据,而不是在计划时更新数据,UILocalNotification
overview将帮助您了解您必须处理的所有情况。< / p>
PS你错过c
scheduleloalNotificationWithDate