-
Notifications
You must be signed in to change notification settings - Fork 9
ChromeCast Build
- 1. Buildに必要なパッケージ
- 2. Xcode側の準備
- 3. プロジェクトのImport
- 4. 必要なパッケージのBuild
- 5. Buildされたパッケージの確認
- 6. Application IDの取得
iOS ChromeCastプラグインのBuildに必要なパッケージは以下の通りになります。
| プロジェクト | 説明 |
|---|---|
| DConnectSDK | dConnectSDKライブラリやリソース。 |
| dConnectDeviceChromeCast | iOS ChromeCastデバイスプラグイン。 |
| 項目 | 説明 |
|---|---|
| GoogleCast SDK for iOS | iOS端末からChromeCast機器にアクセスするためのAPIを提供するSDK。 |
1)CocoaPodsコマンドをインストールする。
2)GoogleCastのFrameworkファイルをダウンロードするために、ターミナルにて以下のディレクトリに移動する。
cd {DeviceConnect-iOSが配置されているディレクトリ}/dConnectDevicePlugin/dConnectDeviceChromecast/deps/CocoaPods
pod installを実行する。
pod install
3)以下のディレクトリに、GoogleCast.frameworkが生成されていれば成功。
iOS DeviceConnectでは複数のXcodeプロジェクトが関わってくるので、それらプロジェクトを一元管理する為の共同作業スペースとしてXcodeのWorkspaceを用意します。
Workspaceの名称と保存場所は特に問いません。
「iOS ChromeCastのBuildに必要なパッケージ」で挙げた物のbuildを行う為にまずWorkspaceに「必要なパッケージ」のXcodeプロジェクトをImportする必要があります。
まず、Finder上のdConnectSDKのプロジェクトファイル「DConnectSDK.xcodeproj」を、先ほど用意したWorkspaceのプロジェクトナビゲーターにドラッグ&ドロップしてプロジェクトをImportしてください。
正しくImportされた場合、ナビゲーターにdConnectSDKプロジェクトのファイル一式が表示されます。
そしてdConnectSDKと同じ手順でiOS ChromeCastデバイスプラグインのプロジェクトファイル「dConnectDeviceChromecast.xcodeproj」をWorkspaceにImportすること。
最終的にdConnectSDKとiOS ChromeCastデバイスプラグインのファイル一式がナビゲーターに表示されれば完了です。
「プロジェクトのImport」で必要なパッケージをbuildする為のプロジェクトをImportしたことで、プロジェクトのファイル一式に加え、Workspaceにbuildターゲットという物が追加されます。
必要なパッケージの内、どれをbuildするかを選択するのに今回使うのがbuildターゲットとなります。
必要なパッケージの間にはbuildの依存関係があり、特にDConnectSDKはデバイスプラグインに先立ってbuildしなければなりません。
buildの依存関係を解決する形でのbuildターゲットのbuild順序は以下の様になります。
- DConnectSDK_framework
- DConnectSDK_resources
- dConnectDeviceChromecast_framework
- dConnectDeviceChromecast_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 ChromeCastデバイスプラグインのプロジェクトが入ったディレクトリの下に、必要に応じて以下のような名称のディレクトリが生成されます。
- build
そして、DConnectSDKやiOS ChromeCastデバイスプラグイン毎のプロジェクトディレクトリ以下、フレームワーク(.framework拡張子ファイル)やバンドル(.bundle拡張子ファイル)がbuildされます。buildに失敗する場合は設定ミスの可能性があるので確認してください。
- Release時
- build/Release-framework/DConnectSDK.framework
- build/Release-resources/DConnectSDK_resources.bundle
- Debug時
- build/Debug-framework/DConnectSDK.framework
- build/Debug-resources/DConnectSDK_resources.bundle
- Release時
- build/Release-framework/dConnectDeviceChromeCast.framework
- build/Release-resources/dConnectDeviceChromeCast_resources.bundle
- Debug時
- build/Debug-framework/dConnectDeviceChromeCast.framework
- build/Debug-resources/dConnectDeviceChromeCast_resources.bundle
アプリを開発する際は、上記フレームワークとリンクさせ、バンドルをコピーさせるようにアプリのbuildターゲットで設定します。
ChromeCast Developerサイトにて、ChromeCastの開発者登録を行い、ApplicationIDをdConnectDeviceChromeCastのDPCastManager.mに記述する。
#import "DPChromecastManager.h"
#import <GoogleCast/GoogleCast.h>
#import "GCIPUtil.h"
#import "HTTPServer.h"
static NSString *const kReceiverAppID = @"[YOUR APPLICATION ID]";