【swift】iOSでPush通知を受取る実装
AppDelegateの実装
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) にプッシュ通知の利用許可を記載します。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // プッシュ通知の利用許可 UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in guard granted else { return } DispatchQueue.main.async { // プッシュ通知の登録 UIApplication.shared.registerForRemoteNotifications() } } return true }
- プッシュ通知の登録が成功した場合のCallBack関数を記述
// プッシュ通知の登録が成功した場合CallBackされる func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let token = deviceToken.map { String(format: "%.2hhx", $0) }.joined() NSLog("DeviceToken: \(token)") }
- プッシュ通知の登録が失敗した場合のCallBack関数を記述
// プッシュ通知の登録が失敗した場合CallBackされる func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { NSLog("エラー: \(error)") }