このページの本文へ

前へ 1 2 3 4 5 次へ

車とスマホがつながるSDLの世界第6回

AndroidとiOS、ゼロからの立上げ方

SDL対応アプリ開発環境の構築その2~アプリ開発環境を整える

2019年01月11日 18時00分更新

文● 柴田文彦 編集●アスキー編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

3. SDKのセットアップ

 プロジェクトフォルダーにある「SmartDeviceLink-iOS.xcodeproj」をダブルクリックして開けば、Xcodeでプロジェクトを開くことができる。このプロジェクトには、予め必要なSDL関連のライブラリとアプリのスキームが含まれている。それぞれSwiftとObjective-Cの両言語で書かれたものがあるので、合計4つのスキームが含まれている。実際にアプリをビルドするには、あらかじめライブラリだけを明示的にビルドしておく必要はない。SwiftかObjective-C、いずれかのアプリのスキームを選んでビルドすればいい。具体的には「SmartDeviceLink-Example-ObjC」か「SmartDeviceLink-Example-Swift」のいずれかを選ぶことになる。スキームを選択する際には、サブメニューから、そのアプリを起動するデバイスを同時に選択することができる(図19)。

図19:Xcodeのプロジェクトウィンドウにあるポップアップメニューからは、プロジェクトに含まれるスキームと、それを動作させるデバイスを同時に選ぶことができる

 この例では、Swift版の「SmartDeviceLink-Example-Swift」を選び、同時に「iPhone 6」のシミュレーターを選択している。

 この選択の後でXcodeのIssueナビゲーターを確認すると、「Validate Project Settings」と、「Swift Conversion」という2つのワーニングが発生している(図20)。

図20:「SmartDeviceLink-Example-Swift」スキームを選んだ場合には2つのワーニングが発生する。いずれもワーニングなので、そのままでもビルド可能となっている

 これらは、文字通りワーニングなので、そのままでもアプリをビルドすることが可能だ。前者のワーニングについては簡単に自動修正も可能なので、ワーニングをクリックすると表示されるダイアログの「Perform Changes」ボタンをクリックして解消しておいてもいい(図21)。

図21:「Update to recommended settings」のワーニングは、自動的に解消することが可能だ

 もう1つの「Swift Conversion」は、最新のXcode 10.0以降で使えるようになったSwift 4.2の言語仕様に変換すべきところがあるという意味のものだが、これを自動で変換しようとしても、処理の過程でソースコードを手動で変更しなければならない部分が出てくる。こちらについては、今回の目的のためには、とりあえず放置しておくのが無難だ。

4. ビルドして動作を確認する

 これで準備が完了したので、プロジェクトウィンドウのタイトルバーにある右向き三角(▶)ボタンをクリックし、ビルドして走らせてみよう。iOS版では、車載機エミュレーターとの接続方法やIPアドレス、ポート番号などをソースコードで指定しなかった代わりに、アプリが起動してからアプリ画面で選択、入力するようになっている(図22)。

図22:iOS版のサンプルアプリでは、ソースコードにIPアドレスやポート番号を埋め込むのではなく、アプリを起動してから設定できる

 この例では、Android版の場合と同様に、まず最上部のタブから「TCP Debug」を選び、IPアドレスとして「192.168.1.4」、ポート番号として「12345」を入力している。Manticoreを使う場合には、やはりIPアドレスには「m.sdl.tools」、ポート番号はManticoreの接続画面に表示されたものを入力する。その後「Connect」ボタンをクリックすればいい。

 この結果、車載機エミュレーターとの接続が成立し、通信が実行されて、アプリのアイコンが車載機画面に表示される(図23)。

図23:車載機エミュレーターの画面には、iOS用のサンプルプロジェクトから作ったアプリのアイコンが表示される

 このアプリアイコンをクリックすると、このアプリ固有の画面も表示される。ひと目見ただけで、Android版のサンプルプロジェクトものとは異なった、独自のボタンを備えたものであることに気付く(図24)。

図24:iOS版のサンプルプロジェクトによるSDLアプリ固有の画面には、Android版のサンプルプロジェクトでは得られなかった、独自の機能ボタンも表示される

 以上のような動作が確認できれば、iOSアプリについても開発環境の構築が完了したことになる。

 次回は、Android版アプリについて、サンプルプロジェクトには含まれていなかった独自のボタンの表示など、SDL対応アプリと車載機間のやりとりを中心に探っていくことにしよう。

■関連サイト

(提供:トヨタ自動車株式会社)

前へ 1 2 3 4 5 次へ

カテゴリートップへ

この特集の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン