Skip to content

dConnectBrowser Build

TakayukiHoshi1984 edited this page Mar 27, 2017 · 4 revisions

目次

iOS DConnectBrowserプラグインのBuildに必要なパッケージは以下の通りになります。

プロジェクト 説明
dConnectBrowser iOS版DeviceConnect用ブラウザ。

※必要なデバイスプラグインのライブラリなどについては、各デバイスプラグインのBuildマニュアルを参照したください。

iOS DeviceConnectでは複数のXcodeプロジェクトが関わってくるので、それらプロジェクトを一元管理する為の共同作業スペースとしてXcodeのWorkspaceを用意します。

Workspaceの名称と保存場所は特に問いません。


「iOS DConnectBrowserのBuildに必要なパッケージ」で挙げた物のbuildを行う為にまずWorkspaceに「必要なパッケージ」のXcodeプロジェクトをImportする必要があります。基本的に、ただ実行するだけであれば、以下のようなディレクトリ構造でdConnectBrowser.xcodeprojファイルをWorkspace上にドラッグアンドドロップするだけで構いません。その場合、ディレクトリ構造がGitHubからCloneしたときのままの状態であることに注意してください。
つまり、以下のようなディレクトリ構造になっている必要があります。その理由として、dConnectBrowserから、各デバイスプラグインのframwork&bundleまで相対的なパス指定が行われているためです。

dConnectBrowserは、デバイスプラグインのFrameworkとbundleを各デバイスプラグインのbinというディレクトリに格納されているframeworkファイルとbundleファイルを参照してください。そのため、各デバイスプラグインに更新があった場合は、buildディレクトリに生成されるframeworkやbundleをbinフォルダにコピーしなければ更新があったファイルが参照されないため、注意してください。


そして、dConnectBrowser.xcodeprojファイルをworkspaceにドラッグアンドドロップしてください。基本的には、dConnectBrowserのプロジェクトファイルのみでも動作するが、DConnectSDKや各デバイスプラグインを一緒に編集したいといった場合は、以下のような手順でインポートを行ってください。



そしてdConnectSDKと同じ手順でiOS DConnectBrowserデバイスプラグインのプロジェクトファイル「dConnectBrowser.xcodeproj」をWorkspaceにImportしてください。最終的にdConnectSDKとiOS DConnectBrowserデバイスプラグインのファイル一式がナビゲーターに表示されれば完了です。



「プロジェクトのImport」で必要なパッケージをbuildする為のプロジェクトをImportしたことで、プロジェクトのファイル一式に加え、Workspaceにbuildターゲットという物が追加されます。必要なパッケージの内、どれをbuildするかを選択するのに今回使うのがbuildターゲットとなります。
 各デバイスプラグインのbuildについては、各デバイスプラグインのbuildマニュアルを参照してください。

dConnectBrowser

そして作業しているXcodeのWorkspace内でのbuildターゲットの切り替え方法であるが、Xcodeのウィンドウの左上、RunやStopボタンの右にあるのが現在選択されているターゲットであり、そのターゲットをクリックする事で表示されるWorkspace内のbuildターゲット一覧から対象のbuildターゲットを選択する事でbuildターゲットの切り替えを行う事ができます。

あとは先ほど示したbuildターゲットのbuild順序でbuildを行います。buildを行うにはRunボタンを押すか、ショートカット⌘+Bを使う等して実行する事ができます。



また、各プロジェクトにはDebugとReleaseというbuild設定があります。Debugbuild設定は開発段階のデバッグに適したパッケージのbuildを行い、Releasebuild設定はデバッグ情報を除いて処理速度や成果物のデータサイズが快適化される形式でのパッケージのbuildを行い、エラーが発生しなければiOSの実機上でdConnectBrowserのアプリが実行されます。

Clone this wiki locally