终止应用程序的本地横幅通知
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。
我想在用户退出应用程序时显示横幅通知。点击该横幅后,我希望我的应用程序打开。
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。