终止应用程序的本地横幅通知

Local banner notification for terminating App

我想在用户退出应用程序时显示横幅通知。点击该横幅后,我希望我的应用程序打开。

func showBanner() {

    UIApplication.shared.cancelAllLocalNotifications()

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

    UIApplication.shared.presentLocalNotificationNow(notif)
}

如果我把这段代码放在 applicationDidEnterBackground 中,它就可以正常工作;但是,当我把它放在 applicationWillTerminate 中时,它没有。

任何解决方法?

编辑:

已添加 fireDate 如下所示:

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

还是不行。有什么想法吗?

不能保证 applicationWillTerminate 会被调用,这可能是您的代码无法正常工作的原因。因此,如果您需要在应用程序存在之前执行任何操作,请致电 applicationDidEnterBackground

更多检查这个

当我在 App communicates using CoreBluetooth in info.plist for Requires Background Modes.

中时,相同的代码有效

得到提示 This Answer

但愿 Apple 不会拒绝我的 App。