【发布时间】:2016-01-12 14:51:11
【问题描述】:
因此,我目前在应用商店中有一款应用,它会提前安排 10 条通知,假设您错过了一条,您仍然会获得第二次或十次机会。现在,在您认为我会打扰此人之前,通知对于应用程序的功能非常重要,并且确实是主要目的。该应用程序是为 iOS 7 构建的,因此当时没有“handleActionWithIdentifier”,据我了解,即使根据用户对通知的响应而关闭应用程序,它也可以完成应用程序的操作。此更新对应用程序非常有帮助,因为它消除了我必须打开应用程序才能响应通知的部分问题(通知会向用户提出问题,并根据答案完成某些事情)。
剩下的问题是检测是否错过了通知,如果通知被取消或忽略,我将如何让另一个通知出现,例如第二天。我已经在谷歌和堆栈溢出上搜索了这个,据我了解,所有以前的问题都在询问如何检测通知是否错过了一个我不需要的应用程序打开。
此时,如果用户通过按下通知上的选项之一来响应通知,我可以正确运行代码:
func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, withResponseInfo responseInfo: [NSObject : AnyObject], completionHandler: () -> Void) {
var userInfo = [NSObject: AnyObject]()
userInfo["text"] = responseInfo[UIUserNotificationActionResponseTypedTextKey]
NSNotificationCenter.defaultCenter().postNotificationName("text", object: nil, userInfo: userInfo)
print(userInfo)
completionHandler()
}
截至目前,我只是接受文本字段输入并打印它,但如果我愿意,我可以启动第二个通知。有没有一种方法可以检测何时错过通知并安排另一个通知?
总是有可能仍然无法做我想做的事,我只会提前安排 10 条通知,这看起来很草率,并且不允许我做出迭代的响应。
TLDR;如果在不打开应用程序的情况下错过本地通知,我如何检测和运行代码
顺便说一句:如果你有答案,swift 是首选语言
【问题讨论】:
-
你能告诉我你采取了什么方法(步骤)来解决这个问题吗?即使我一直在经历这个问题。
标签: ios iphone swift notifications uilocalnotification