最後に「iMessage拡張」を紹介します。メッセージ拡張とは、iOSの標準アプリ「メッセージ(iMessage)」の機能を拡張するアプリ「iMessage App」を実装できる機能のことです。
「メッセージ」アプリに標準で入っている拡張アプリとして、下のような画像検索アプリがあります。このアプリでは選択した画像を相手に送ることができます。
実際にiMessage拡張を実装していきます。今回はあらかじめ用意した画像を送信するアプリを作ってみます。
まずはプロジェクトを作成します。プロジェクトの種類はiMessage Applicationを選択してください。
プロジェクト作成すると、以下のようなフォルダ構成になっています。この中のMessagesExtensionフォルダのMessagesViewController.swiftとMainInterface.storyboardを中心に修正していきます。
この状態でアプリを立ち上げると画面上にHelloWorldだけ表示されます。HelloWorldのラベルはMainInterface.storyboardに配置されたUILabelのものです。
それでは相手に画像を送る機能を実装していきます。まずは、こちら「image.png」の画像をMessagesExtensionフォルダのAssets.xcassetsに追加します。
次にMessagesViewControllerを以下のように変更します。MSMessageというのが送信するメッセージ内容で、これをactiveConversation.insertに渡すことでメッセージを送っています。
import UIKit import Messages class MessagesViewController: MSMessagesAppViewController { @IBAction func tapSendBtn(_ sender: AnyObject) { let layout = MSMessageTemplateLayout() layout.image = UIImage(named: "image") let message = MSMessage(session: MSSession()) message.layout = layout activeConversation?.insert(message, completionHandler: nil) } }
最後にStoryboardを修正します。Storyboard上にボタンを配置して、押下時にMessagesViewControllerのtapSendBtnが呼び出されるようにします。
以上で実装は完了です。
アプリを起動するとStoryboardに追加されたボタンが表示される画面になっていると思います。
このボタンを押すと画像送信の確認画面に移動します。ここでユーザーが送信ボタンを押せば送信完了となります。
今回作成したコードは、こちら「MessageSample.zip」からダウンロードできます。
本稿ではiOS 10の新機能について書いてきましたがいかがでしたでしょうか。今回は簡単な機能しか紹介できませんでしたが、各機能の概要をつんでいただけたら幸いです。
各機能についてはアップルの公式サンプルもあるので、よろしければ併せてご覧ください。
田町のベンチャーで働くエンジニア。
仕事ではiPhoneアプリの開発やRailsを使ったWebサービス開発を行っている。最近のマイブームはUnityを使った3Dゲーム開発。
Copyright © ITmedia, Inc. All Rights Reserved.