我正在为Swift中的iOS编写倒计时应用程序,该应用程序也可以在后台运行,方法是在用户离开应用程序时将本地通知设置为在完成时丢失的秒数。(
一切似乎都在iOS 7.1及更高版本上按预期工作,但有一个小故障似乎无法解决(或查找信息):如果我通过双击主页按钮离开应用程序,我留在应用程序切换器,通知丢失:它们已设置但不显示。只有当我直接从应用程序本身停留在应用程序切换器上时才会发生这种情况。如果我通过主屏幕离开应用程序然后调用应用程序切换器,则会正确显示通知。
如果我没有将第一个应用程序切换器执行的“边缘”与应用程序放在前台,看起来本地通知会丢失。
有没有人遇到过同样的行为?
我承认这是一种边缘情况,但它仍然是我想要照顾的事情。
以下是我用来设置applicationWillResignActive
下的本地通知的代码(这个代码用于倒计时到达半场时的通知):
let notificationHt: UILocalNotification = UILocalNotification()
notificationHt.timeZone = NSTimeZone.defaultTimeZone()
var notDelayHt = Double((missingTargetCentSecs/100)-((totalTargetMinutes*60)/2))
notificationHt.fireDate = NSDate(timeIntervalSinceNow: notDelayHt)
notificationHt.alertBody = "Half time!"
notificationHt.alertAction = nil
UIApplication.sharedApplication().scheduleLocalNotification(notificationHt)