以前iOS8でのUILocalNotificationに関する記事を書いたかと思いますが,この記事に修正点があったので再度話題にします.
iOS8でUILocalNotificationの通知を受け取る - PartyIX
iOS8から,LocalNotificationであっても,registerUserNotificationSettings
を呼ばないと,LocalNotificationの登録権限がないところは変更ありません.
変更箇所は,バックグラウンド実行から復帰した際の通知の受信です.
上記記事では,handleActionWithIdentifier
を使用すると記述しましたが,どうやら最新のiOS8.1では,起動時の受信と同じく,didReceiveLocalNotification
で取得できます.
なので,
func application( application: UIApplication, didReceiveLocalNotification notification: UILocalNotification ) { if (application.applicationState == UIApplicationState.Active) { // 起動中のとき var alert = UIAlertView() alert.title = "Message" alert.message = notification.alertBody alert.addButtonWithTitle(notification.alertAction) alert.show() } else { // ここでバックグラウンドから復帰したときの処理 } }
みたいな感じで,applicationState
によって振り分けてみました.
handleActionWithIdentifier
は必要なくなっちゃいましたね…….
ともあれ,過去のObjective-Cであった記述の通り,didReceiveLocalNotification
で全部受け取れているようなので,今までと同じ仕様になっているようです.