2017-02-21 7 views
1

Я хочу показать баннерное уведомление, когда пользователь покидает приложение. И, нажав на этот баннер, я хочу открыть приложение.Локальное уведомление баннера о прекращении действия приложения

func showBanner() { 

    UIApplication.shared.cancelAllLocalNotifications() 

    let notif = UILocalNotification.init() 
    notif.alertBody = "Your Message Here..." 
    localNotif.soundName = UILocalNotificationDefaultSoundName 

    UIApplication.shared.presentLocalNotificationNow(notif) 
} 

Если я ставлю этот код в applicationDidEnterBackground он работает нормально; Но, когда я положил его в applicationWillTerminate, это не так.

Любое обходное решение?

EDIT:

Добавлено fireDate как следующее:

var dc = DateComponents() 
dc.second = 2 // 2 seconds from current date time 
notif.fireDate = Calendar.current.date(byAdding: dc, to: Date()) 

До сих пор не работает. Есть идеи?

+0

, где вы назвали этот 'showBanner' –

+0

@ Anbu.Karthik Он работает, когда я помещаю его в' applicationDidEnterBackground'. Но он не работает, когда я помещаю его в 'applicationWillTerminate', как указано в queston. –

+0

см. Это http://stackoverflow.com/questions/16806293/what-is-the-delegate-method-that-will-called-when-closing-an-iphone-app-by-press –

ответ

1

тот же код работает, когда я установил в App общается с помощью CoreBluetooth в info.plist для Requires Background Modes.

Есть намек от This Answer

Будем надеяться, Apple не отвергает мое приложение.

0

нет гарантии, что applicationWillTerminate когда-либо будет вызван, может быть, это не значит, что ваш код не работает. поэтому, если нужно сделать что-нибудь, прежде чем приложение существует, то звоните applicationDidEnterBackground

более

проверить это iOS - How to guarantee that applicationWillTerminate will be executed

+0

Но я хочу, чтобы уведомление появлялось только в том случае, когда приложение завершено. Нет, когда он находится в фоновом режиме. Любое обходное решение? –

+0

почему проголосовали, прокомментируйте комментарий –

+0

Как я узнаю? У меня даже нет такого большого количества повторений. : D Btw, вы можете опубликовать ответ в качестве комментария к вопросу, так как на самом деле это не ответ. –

Смежные вопросы