簡體   English   中英

本地通知未通過后台提取觸發

[英]Local Notification Not Firing With Background Fetch

有人可以看看下面的代碼,並告訴我為什么本地通知不觸發。 我在XCode中運行該應用程序,並使用debug選項模擬了后台抓取,但本地通知不會觸發。

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
 {
     NSLog(@"performFetchWithCompletionHandler");


UILocalNotification *localNotif = [[UILocalNotification alloc] init];

if (localNotif) {
    localNotif.alertBody = @"Update demo text!";
    localNotif.alertAction = @"OK";
    localNotif.soundName = UILocalNotificationDefaultSoundName;
    localNotif.fireDate = nil;

    NSLog(@"Local Notification");

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
}

//Perform some operation
completionHandler(UIBackgroundFetchResultNewData);
}

您查詢用戶是否允許推送?

if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
      UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil];
      [application registerUserNotificationSettings:settings];
    }

代替檢查設備版本,使用下面的代碼檢查RespondToSelector:

if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])
{
    [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM