iOS 10 SDKの新機能SiriKit、音声認識、iMessage拡張を自作アプリに生かすにはiOS 10アプリ開発入門(4/4 ページ)

» 2016年09月26日 05時00分 公開
[杉本裕樹マネーフォワード]
前のページへ 1|2|3|4       

iMessage拡張の概要

 最後に「iMessage拡張」を紹介します。メッセージ拡張とは、iOSの標準アプリ「メッセージ(iMessage)」の機能を拡張するアプリ「iMessage App」を実装できる機能のことです。

 「メッセージ」アプリに標準で入っている拡張アプリとして、下のような画像検索アプリがあります。このアプリでは選択した画像を相手に送ることができます。

iMessage拡張の実装

 実際にiMessage拡張を実装していきます。今回はあらかじめ用意した画像を送信するアプリを作ってみます。

「iMessage Application」で新規プロジェクトを作成

 まずはプロジェクトを作成します。プロジェクトの種類は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ゲーム開発。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。