设备锁定时,UILocalNotification不会触发

时间:2013-05-27 22:12:59

标签: ios ios4 ios6 uilocalnotification

我正在开发的应用程序是一个警报类型应用程序。当用户按下主页按钮时,我会安排一些UILocalNotifications以一定的间隔触发。当我按下主页按钮并退出应用程序时,通知会在正确的时间触发,但如果我按下“锁定”按钮,它们根本不会触发。我已经四处寻找,但还没有找到原因。

正如我所说,当我先按下主页按钮时,它工作正常。他们在正确的时间开火,但如果按下手机顶部的“锁定”按钮,他们就不会在此之后开火。有人对这是为什么有任何想法吗?

由于

2 个答案:

答案 0 :(得分:0)

这是因为锁定按钮不会退出您的应用程序。

我假设您在应用程序委托中的UILocalNotifications中设置了applicationWillTerminate:。如果在此方法中添加一些日志记录,则会在使用锁定按钮时看到它未被调用。

applicationWillResignActive:中设置通知可能会解决您的问题。

答案 1 :(得分:0)

我知道这太晚了,但可能对某人有所帮助。这个问题在SO上被忽略了,没有互联网上的教程。无论如何,当你设置UIUserNotificationActivationModeBackground时,你需要做的是设置UIUserNotificationSettings,你应该好好去。

代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationActivationModeBackground categories:nil];
    [application registerUserNotificationSettings:settings];
   }
   return YES;
}

希望这会有所帮助。