engineers_blogエンジニアブログをご覧のみなさま、こんにちは。マネーフォワードでiOSエンジニアをしてます西信です。iPhone6が発売になり、iOS8が公開されました。そこで今回は、iOS8で導入された通知アクション付きのPush通知を試してみようと思います。completionHandler();}これでAPNsからプッシュ通知を受けると下記のようにアクションがつきます。(※デバイストークンを受け取るサーバサイドは割愛します。従来からの変更点としては、iOS8ではデバイストークンの取得方法が変わっています。従来のregisterForRemoteNotificationTypes:でなく、iOS8からは、registerUserNotificationSettings:を定義します。registerForRemoteNotifications];を呼び出す必要があるようです。*)deviceTokenが呼ばれません。通知アクションをつけるためには、UIMutableUserNotificationActionを生成します。titleプロパティには画面に表示する文字、identifierプロパティには一意のアクション識別子を定義します。端末の設定により通知スタイルがバナーになっている場合は最大2つ、通知スタイルがダイアログになっている場合は4つまでアクションを表示することができます。今回はダイアログを想定して4つ生成します。@"id4";次に、作成した通知アクションを通知カテゴリに登録します。forContext:UIUserNotificationActionContextDefault];そして、カテゴリをセッティングに設定し、プッシュ通知に登録します。registerUserNotificationSettings:mySettings];APNsサーバから送るJSONの形式は下記のようにします。}}通知アクションを使うためにJSONではcategoryキーを定義する必要があります。設定する値は、UIMutableUserNotificationCategoryのidentifierに設定した値と同一にする必要があります。completionHandler:(void(^)())completionHandlerが呼ばれるので、アクションのidentifierの値に応じて処理を分岐することができます。completionHandler();}この機能を使って色々と面白いことができそうですね。