[iOS10]新しいフレームワークを利用してみよう! – 7 –

前回は、REST APIで取得したデータをhtmlへ反映させる方法についてご紹介しました。
今回は、iOS10で新規に追加されたフレームワークについてご紹介したいと思います。

以前の記事でもご紹介しましたが、「UserNotificationsフレームワーク」関連です。
今回は、通知エリアにテキストフィールドを表示させるサンプルアプリを作成したいと思います。

それでは、作成していきましょう。

【前提条件】
 ・開発環境は、「Xcode 8」であること
 ・以前の記事で作成したプロジェクトを利用すること

【手順1】
 前提条件で用意したプロジェクトを開きます。

 

【手順2】
 「ViewController.m」ファイルにある「登録」ボタンタップ時の処理内にボタンを表示する処理を追記します。
 割愛している箇所は、以前の記事を参照してください。

- (IBAction)buttonClick:(id)sender
{
    ---------- 割愛 ----------
      
    /************************************************************************************/
    //通知エリア内にボタンを設定する
     
    //ボタン3
    UNTextInputNotificationAction *button3Action = [UNTextInputNotificationAction actionWithIdentifier:@"button3"
                                                                                                 title:@"ボタン3"
                                                                                               options:UNNotificationActionOptionNone
                                                                                  textInputButtonTitle:@"返信する"
                                                                                  textInputPlaceholder:@"文字を入力"];
                                                                             
    /************************************************************************************/
      
    //カテゴリを登録する
    UNNotificationCategory *category = [UNNotificationCategory categoryWithIdentifier:@"sampleNotificationCategory"
                                                                              actions:@[button1Action, button2Action, button3Action]
                                                                    intentIdentifiers:[NSArray array]
                                                                              options:UNNotificationCategoryOptionNone];
                                                                                    
    ---------- 割愛 ----------
}

【手順3】
 今回は、入力した文字列をログで出力してみたいと思います。
 割愛している箇所は、以前の記事を参照してください。

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response
         withCompletionHandler:(void (^)())completionHandler
{
    ---------- 割愛 ----------

    //ボタン3がタップされた場合
    else if(YES == [response.actionIdentifier isEqualToString:@"button3"]) {
        UNTextInputNotificationResponse *inputNotification = (UNTextInputNotificationResponse *)response;
        NSLog(@"ボタン3がタップされました。");
        NSLog(@"入力された文字列は、%@", inputNotification.userText);
    }
    
    ---------- 割愛 ----------     
}

お疲れ様でした。
それでは、実際に動かしてみましょう。

まず、通知を受信します。

 

通知エリアを長タップし、通知エリアにボタンが表示されます。

 

ボタン3をタップすると、テキストフィールドが表示されます。

 

任意の文字列を入力し、「返信する」ボタンをタップします。

 

ログが表示されることを確認します。

 

通知エリア上にテキストフィールドを表示させることにより、アプリを
わざわざ起動せずに文字入力が行えるので、チャットアプリに最適ですね。

これで、「[iOS10]新しいフレームワークを利用してみよう! – 7 -」は終了となります。
最後までご覧いただき、ありがとうございました。


弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*