このページの本文へ

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

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

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

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

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

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

iOSアプリ開発環境の構築

 続いて、iOSアプリ開発環境のセットアップに移る。最初に示したSDLのiOSアプリの開発者向けページでは、標準的なiOSアプリのプロジェクトにSDL関連のライブラリを付加して、最小限のSDLアプリを作る方法が簡単に述べられている。その一方、あらかじめ必要なセットアップを施したiOSアプリのサンプルプロジェクトも、GitHubに公開されている。今回は、Androidの場合と同様、GitHub上のサンプルプロジェクトを利用して、車載機エミュレーターとの連携動作を確かめることにした。

 基本的な作業ステップは、以下のようになる。

  • Xcodeのインストール
  • サンプルプロジェクトの入手
  • SDKのセットアップ
  • iOSデバイスシミュレーターで動作確認

 この順で作業手順を見ていこう。

1. Xcodeのインストール

 Xcodeは、iOS 12の製品版公開、つまりiPhoneの今年度の新モデルの発売に合わせて10.0がリリースされた後、今度はiPad Proの新しいモデルの登場に合わせて10.1にアップデートした。この記事の執筆時点での最新版は10.1となっている。SDLアプリの開発に、必ずしもこの10.1が必要というわけではないが、逆に古いバージョンでなければならない理由もないので、ここでは、その最新版を使って作業を進める(図15)。

図15:iOSアプリ開発を可能にする唯一のIDEであるXcodeは、Mac App Storeから入手可能な最新版の10.1を使う。ダウンロードサイズは6.1GBと巨大だ

2. サンプルプロジェクトの入手

 すでに述べたようなiOSアプリのサンプルプロジェクトは、GitHubのページに公開されている(https://github.com/smartdevicelink/sdl_ios)(図16)。

図16:iOS版のサンプルプロジェクトも、GitHub上で公開されている。現時点で最終更新が約1ヶ月前と、比較的新しいコードだ

 Xcodeのコマンドラインツールをインストールしてあれば、gitコマンドが使えるはずなので、macOSのターミナルに次のようなコマンドをタイプ入力して、プロジェクトをローカルにコピーすることができる。もちろん、Zipファイルとしてダウンロードしてもいい。

$ git clone https://github.com/smartdevicelink/sdl_ios.git

 いずれにせよ、このプロジェクトには、C言語で書かれたSDL独自のライブラリ「bson_c_lib」がサブモジュールとして含まれている。それはGit Hub上の別のプロジェクトへのリンクになっているので、そのままではクローンしても、またZipとしてダウンロードしても、ライブラリの中身は空のままとなり、ビルドできない。

 クローン機能を使う場合には、次のように再帰的にクローンすることによって、リンクしたサブモジュールも含めて、プロジェクトの中身をすべてまとめて入手することができる。

$ git clone --recursive https://github.com/smartdevicelink/sdl_ios.git

 もちろんこのbson_c_libも、ソースコードがGitHubで公開されている(https://github.com/smartdevicelink/bson_c_lib)。Zipファイルとしてsdl_iosのプロジェクトをダウンロードした場合には、このbson_c_libもZipでダウンロードして入手するといい(図17)。

図17:iOSのサンプルプロジェクトにサブモジュールとして含まれる「bson_c_lib」も、GitHubで公開されているので、簡単に入手できる

 sdl_iosをZipとしてダウンロードした場合には、それを解凍したフォルダは「sdl_ios-master」となる。そのすぐ下には「bson_c_lib」という空のフォルダができているはずだ。その中に、別途入手したbson_c_libに含まれる「src」フォルダをフォルダごとコピーしておくだけでいい(図18)。

図18:サンプルプロジェクト「sdl_ios」をサブモジュールなしで入手した場合には、「bson_c_lib」ディレクトリに、bson_c_libの「src」ディレクトだけをコピーしておけばいい。git cloneコマンドで再帰的にクローンするよりも、この方がコンパクトだ

この特集の記事

注目ニュース

ASCII倶楽部

最新記事

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

ピックアップ

ASCII.jp RSS2.0 配信中

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