我正在安排计时器并为用户发送一些关于某些数据的本地通知,例如 - 如果附近有一些商店。
func configureNotification(shop: Shop) {
let notification = UILocalNotification()
notification.fireDate = NSDate(timeIntervalSinceNow: 0)
notification.alertBody = "There is a store \(shop.name) near!"//Localized().near_shop_string + shopName
notification.alertAction = "Swipe to see offer!"//Localized().swipe_to_see_string
notification.soundName = UILocalNotificationDefaultSoundName
UIApplication.sharedApplication().scheduleLocalNotification(notification)
}
当应用程序在后台运行时,如果用户坐标附近有一些商店,则会有本地通知。
例如,收到三个关于不同商店的本地通知,用户滑动第二个,并使应用程序处于活动状态。
问题是,要从启动applicationDidBecomeActive的具体通知中识别一些launcOptions,就像来自服务器的推送通知一样?任何解决方案?
答案 0 :(得分:1)
您需要在didReceiveLocalNotification
委托方法
func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) {
// do your jobs here
}
notification
param将包含每个通知的信息。
launchOptions
还有一个包含通知的密钥UIApplicationLaunchOptionsLocalNotificationKey
。
你可以像
那样得到它let localNotification:UILocalNotification = launchOptions.objectForKey(UIApplicationLaunchOptionsLocalNotificationKey)