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

前回は、uniSwfとNGUIのScrollViewを併用した場合のクリッピング処理についてご紹介しました。
今回は、iOS10で新規に追加されたフレームワークについてご紹介したいと思います。

以前の記事でもご紹介しましたが、「UserNotificationsフレームワーク」です。

今回は、通知エリアに画像や動画を表示するサンプルアプリを作成してみたいと思います。
「UserNotificationsフレームワーク」ともう一度、再確認したい方は、こちらを参照してください。

それでは実際に通知エリアに画像や動画を表示するサンプルアプリを作成してみましょう。
まずは、通知エリアに画像を表示させてみましょう。

<サンプルアプリの作成方法>
【前提条件】
 ・開発環境は、「Xcode 8」であること
 ・以前の記事で作成したプロジェクトを利用すること
 
【手順1】
 前提条件で用意したプロジェクトを開きます。
 
 
 
【手順2】
 プロジェクトに通知エリアに表示したい画像と画像を組み込みます。
 
 

【手順3】
 「ViewController.m」ファイルにある「登録」ボタンタップ時の処理内に画像を設定します。
 ※今回、新たに追加する処理のみ記載します。
  割愛している箇所は、以前の記事を参照してください。
  

- (IBAction)buttonClick:(id)sender
{
    ---------- 割愛 ----------

    //画像が格納されているURLを取得する
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"image" withExtension:@"png"];

    //アタッチメントを利用し、画像のURLを設定する
    NSError *error = nil;
    UNNotificationAttachment *attachment = [UNNotificationAttachment attachmentWithIdentifier:@"sampleAttachment" URL:url options:nil error:&error];
    
    if(nil != attachment) {
        //設定する
        notification.attachments = @[attachment];
    }
    
    ---------- 割愛 ----------
    
}

お疲れさまでした。
これで通知エリアに画像を設定するサンプルアプリが完成しました。
それでは、実際に作成したアプリを動かすと画像が表示されます。

 

さらに、通知エリアを長タップすると、画像を拡大することができます。

 

通知エリアに動画を表示させたい場合は、上記手順3のプログラムを
下記のように書き換えます。

- (IBAction)buttonClick:(id)sender
{
    ---------- 割愛 ----------
    
    //変更前
    //画像が格納されているURLを取得する
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"image" withExtension:@"png"];

    //変更後    
    //動画が格納されているURLを取得する
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"movie" withExtension:@"MOV"];
    
    ---------- 割愛 ----------
    
}

お疲れさまでした。
これで通知エリアに画像を設定するサンプルアプリが完成しました。
それでは、実際に作成したアプリを動かすと動画のサムネイルが表示されます。

 

さらに、通知エリアを長タップすると、動画の再生ボタンが表示され、
再生ボタンをタップすると、動画が再生されます。

 

通知エリアに一手間加えると、画像や動画を追加できるので、
アプリの起動を促したい場合には、より良い機能だと感じました。

次回以降は、「UserNotificationsUI」という フレームワークを利用し、
通知エリアをカスタマイズしてみたいと思います。
これで、「新しいフレームワークを利用してみよう!」は終了となります。

皆さんも、ぜひiOS10でローカル通知を利用してみてください。

最後までご覧いただき、ありがとうございました。


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


コメントを残す

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

*