Skip to content

Hue Build

TakayukiHoshi1984 edited this page Oct 24, 2018 · 3 revisions

目次

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

プロジェクト 説明
DConnectSDK dConnectSDKライブラリやリソース。
dConnectDeviceHue iOS hueデバイスプラグイン。
DCMDevicePluginSDK 共通化された拡張プロファイルを持つライブラリ。

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

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

「iOS hueのBuildに必要なパッケージ」で挙げた物のbuildを行う為にまずWorkspaceに「必要なパッケージ」のXcodeプロジェクトをImportする必要があります。

まず、Finder上のdConnectSDKのプロジェクトファイル「DConnectSDK.xcodeproj」を、先ほど用意したWorkspaceのプロジェクトナビゲーターにドラッグ&ドロップしてプロジェクトをImportする。

正しくImportされた場合、ナビゲーターにdConnectSDKプロジェクトのファイル一式が表示されます。

そしてdConnectSDKと同じ手順でiOS hueデバイスプラグインのプロジェクトファイル「dConnectDeviceHue.xcodeproj」とDCMDevicePluginSDKのプロジェクトファイル「DCMDevicePluginSDK.xcodeproj」をWorkspaceにImportする。

最終的にdConnectSDKとiOS hueデバイスプラグインのファイル一式がナビゲーターに表示されれば完了である。

「プロジェクトのImport」で必要なパッケージをbuildする為のプロジェクトをImportしたことで、プロジェクトのファイル一式に加え、Workspaceにbuildターゲットという物が追加されます。

必要なパッケージの内、どれをbuildするかを選択するのに今回使うのがbuildターゲットとなります。
必要なパッケージの間にはbuildの依存関係があり、特にDConnectSDKはデバイスプラグインに先立ってbuildしなければなりません。

buildの依存関係を解決する形でのbuildターゲットのbuild順序は以下の様になります。

  1. DConnectSDK_framework
  2. DConnectSDK_resources
  3. DCMDevicePluginSDK
  4. dConnectDeviceHue_framework
  5. dConnectDeviceHue_resources

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

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

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

このDebugやReleaseのbuild設定を切り替える方法ですが、DConnectSDKを例に挙げれば、DConnectSDKのプロジェクトファイルを選択し各種プロジェクト情報を表示させません。

更にbuildターゲットの各種build情報を表示させるが、buildターゲットの一覧が非表示の際はその一覧を表示させた上で、フレームワーク(.framework拡張子ファイル)のbuildターゲットであるDConnectSDK_frameworkを選択し各種build設定を表示します。

buildターゲットDConnectSDK_frameworkを選択したらBuild Phaseタブを選択し、表示されたbuildの各フェーズの内、スクリプトを走らせるフェーズを表示します。

そのスクリプトの内、CONFIGURATION build環境変数を”Debug”なり”Release”なりに設定する事でDebug・Release buildを切り替える事ができます(何も設定されていない場合はDebug buildになります)。

DConnectSDKとiOS hueデバイスプラグインのプロジェクトが入ったディレクトリの下に、必要に応じて以下のような名称のディレクトリが生成されます(Resourcesは生成されないときもあります)。

  1. build

そして、DConnectSDKやiOS hueデバイスプラグイン毎のプロジェクトディレクトリ以下、フレームワーク(.framework拡張子ファイル)やバンドル(.bundle拡張子ファイル)がbuildされる。

buildに失敗する場合は設定ミスの可能性があるので確認してください。

DConnectSDK
  • (Release時)build/Release-framework/DConnectSDK.framework
  • (Debug時)build/Debug-framework/DConnectSDK.framework
  • (Release時)build/Release-resources/DConnectSDK_resources.bundle
  • (Debug時)build/Debug-resources/DConnectSDK_resources.bundle
DCMDevicePluginSDK
  • (Release時)build/Release-framework/DCMDevicePluginSDK.framework
  • (Debug時)build/Debug-framework/DCMDevicePluginSDK.framework
iOS hueデバイスプラグイン
  • (Release時)build/Release-framework/dConnectDeviceHue.framework
  • (Debug時)build/Debug-framework/dConnectDeviceHue.framework
  • (Release時)build/Release-resources/dConnectDeviceHue_resources.bundle
  • (Debug時)build/Debug-resources/dConnectDeviceHue_resources.bundle

アプリを開発する際は、上記フレームワークとリンクさせ、バンドルをコピーさせるようにアプリのbuildターゲットで設定してください。

Clone this wiki locally