iPhone关闭时的UILocalNotification

时间:2011-12-20 09:07:33

标签: iphone uilocalnotification

当设备关闭时安排UILocalNotofication会发生什么。

EG。我每天下午3点安排一次UILocalNotification。但该设备从下午3:00到下午4:00关闭。我猜以下任何一种情况都属实。

  • 重启设备后不会触发通知。
  • 重启设备时会发出通知,即下午4:00

我没有设备,无法在模拟器上测试它。

注意:关闭时我的意思是设备已关闭,而不是睡眠/待机模式

2 个答案:

答案 0 :(得分:4)

关闭和关闭设备后将触发本地通知。

我写了一个小测试应用程序,验证了这种行为:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[UIApplication sharedApplication] cancelAllLocalNotifications];

    NSDate *nowDate = NSDate.date;

    for (int i = 1; i <= 50; i++) {
        UILocalNotification *n = [[UILocalNotification alloc]init];

        n.fireDate = [nowDate dateByAddingTimeInterval:60 * i ];
        n.applicationIconBadgeNumber = 0;

        n.alertAction = @"Open";
        n.alertBody = [NSString stringWithFormat:@"ln %@ %@", @(i), n.fireDate];
        [[UIApplication sharedApplication] scheduleLocalNotification:n];
    }
    return YES;
}

答案 1 :(得分:0)

当您关闭设备时,通知将变为不存在,因此当您重新打开设备时,如果不再次创建该通知,则不会发生任何事情。

因此,如果您安排3PM的活动并且您的设备在下午2:59关闭,然后在下午3:59重新开启,则通知将不会触发,因为必须重新创建。