Удаленное уведомление, когда приложение закрыто

Я новичок в iOS и Swift. Я реализую удаленное уведомление в своем приложении. Все работает нормально, когда приложение активно или в фоновом режиме. Но мое уведомление не появляется, когда приложение закрывается. Все, что я получаю, это звуковой сигнал уведомления.

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    if #available(iOS 10.0, *){
    }else{
        let notification = UILocalNotification()
        notification.alertTitle = "my Title"
        notification.alertBody = "My Message"
        notification.category = "customCategory"
        notification.soundName = UILocalNotificationDefaultSoundName
        application.scheduleLocalNotification(notification)
    }
}

person Amrit Rath    schedule 03.01.2017    source источник


Ответы (1)


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

didFinishLaunchingWithOptions

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

Код ниже помогает идентифицировать удаленное/push или локальное уведомление в методе didFinishLaunchingWithOptions:

if let launchOpts = launchOptions as [UIApplicationLaunchOptionsKey: Any]? {
            if let notificationPayload = launchOpts[UIApplicationLaunchOptionsKey.remoteNotification] as? NSDictionary {

                 //Handle push notification here
                }
else if let notification = (launchOpts as NSDictionary).object(forKey: "UIApplicationLaunchOptionsLocalNotificationKey") as? UILocalNotification {
               //Handle local notification here
                }
person user3608500    schedule 03.01.2017
comment
Можете ли вы предложить мне какой-то пример?. и метод didFinishLaunchingWithOptions вызывается при запуске приложения. как это поможет мне показать уведомление, когда приложение не запущено? - person Amrit Rath; 04.01.2017