サーバとかからのプッシュ通知ではなく、アプリから端末に時間指定で通知を送信する方法。
UILocalNotificationの実装(Swift2.0)
AppDelegate.swift
1 2 3 4 5 6 7 8 |
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { //以下を追加 //現在のノーティフケーションを全て削除 UIApplication.sharedApplication().cancelAllLocalNotifications(); //これがないとpermissionエラー application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Sound, .Alert, .Badge], categories: nil)) } |
ViewController.swift(通知をキックしたい場所)
1 2 3 4 5 6 7 |
let notif = UILocalNotification() notif.fireDate = NSDate(timeIntervalSinceNow: 5) //5秒後 notif.timeZone = NSTimeZone.defaultTimeZone() notif.alertBody = "通知のメッセージだよ" notif.alertAction = "OK" notif.soundName = UILocalNotificationDefaultSoundName UIApplication.sharedApplication().scheduleLocalNotification(notif) |
UILocalNotificationの通知スクリーンショット
ローカルだけど、通知も意外と簡単に実装できたね!
タイマーアプリなんかはこれで十分そう。