-
Notifications
You must be signed in to change notification settings - Fork 9
dConnectBrowserForIOS9 Build
- 1. Buildに必要なパッケージ
- 2. Xcode側の準備
- 3. プロジェクトのImport
- 4. 外部ライブラリのImport
- 5. 独自のAppGroupIdを使用する場合
- 6. 必要なパッケージのBuild
iOS dConnectBrowserForIOS9のBuildに必要なパッケージは以下の通りになります。
| プロジェクト | 説明 |
|---|---|
| dConnectBrowserForIOS9 | iOS9対応版DeviceConnect用ブラウザ。 |
※必要なデバイスプラグインのライブラリなどについては、各デバイスプラグインのBuildマニュアルを参照したください。
iOS DeviceConnectでは複数のXcodeプロジェクトが関わってくるので、それらプロジェクトを一元管理する為の共同作業スペースとしてXcodeのWorkspaceを用意します。
DeviceConnect.xcworkspaceを使用すれば必要ありませんが、独自にビルドを行う場合は、DeviceConnect.xcworkspaceから各プロジェクトの参照を削除してください。
Workspaceの名称と保存場所は特に問いません。
「iOS dConnectBrowserForIOS9のBuildに必要なパッケージ」で挙げた物のbuildを行う為にまずWorkspaceに「必要なパッケージ」のXcodeプロジェクトをImportする必要があります。
基本的に、ただ実行するだけであれば、以下のようなディレクトリ構造でdConnectBrowserForIOS9.xcodeprojファイルをWorkspace上にドラッグアンドドロップするだけで構いません。
その場合、ディレクトリ構造がGitHubからCloneしたときのままの状態であることに注意してください。
つまり、以下のようなディレクトリ構造になっている必要があります。その理由として、dConnectBrowserForIOS9から、各デバイスプラグインのframwork&bundleまで相対的なパス指定が行われているためです。
dConnectBrowserForIOS9は、デバイスプラグインのFrameworkとbundleを各デバイスプラグインのbinというディレクトリに格納されているframeworkファイルとbundleファイルを参照してください。
そのため、各デバイスプラグインに更新があった場合は、buildディレクトリに生成されるframeworkやbundleをbinフォルダにコピーしなければ更新があったファイルが参照されないため、注意してください。
そして、dConnectBrowserForIOS9.xcodeprojファイルをworkspaceにドラッグアンドドロップしてください。
基本的には、dConnectBrowserForIOS9のプロジェクトファイルのみでも動作するが、DConnectSDKや各デバイスプラグインを一緒に編集したいといった場合は、以下のような手順でインポートを行ってください。
そしてdConnectSDKと同じ手順でiOS dConnectBrowserForIOS9デバイスプラグインのプロジェクトファイル「dConnectBrowserForIOS9.xcodeproj」をWorkspaceにImportしてください。
最終的にdConnectSDKとiOS dConnectBrowserForIOS9デバイスプラグインのファイル一式がナビゲーターに表示されれば完了です。
下記のページにて、所定の手順に従い、ライブラリをダウンロードしてください。
https://github.com/zootreeves/Objective-C-HMTL-Parser
dConnectBrowserForIOS9プロジェクトの以下の場所にObjective-C-HMTL-Parser内のソースコードをコピーします。
{レポジトリフォルダ}dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/libs/Objective-C-HMTL-Parser/
以上により、外部SDKへの依存関係が解決されます。
独自のAppGroupIdを使用する場合は、以下の三箇所を独自のAppGroupIdに修正する必要がある。
まずは、dConnectBrowserForIOS9のTARGETから、Capabilitiesを選択し、App Groupsを確認します。
その箇所に、独自に作成したAppGroupIdが表示されていると思いますので、そちらを選択してください。
次に、BookmarkShareのTARGETから、Capabilitiesを選択し、App Groupsを確認します。
その箇所に、独自に作成したAppGroupIdが表示されていると思いますので、そちらを選択してください。
次に、BookmarkDBFrameworkのGHDataManager.mというファイルを開いてください。
そのファイルの、303行目に独自のAppGroupIdを設定してください。
- (NSURL *)applicationDocumentsDirectory
{
return [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.deviceconnect.dConnectBrowserForIOS9"];
}以上により、独自のAppGroupIDによる動作を行うことができます。
「プロジェクトのImport」で必要なパッケージをbuildする為のプロジェクトをImportしたことで、プロジェクトのファイル一式に加え、Workspaceにbuildターゲットという物が追加されます。
必要なパッケージの内、どれをbuildするかを選択するのに今回使うのがbuildターゲットとなります。
各デバイスプラグインのbuildについては、各デバイスプラグインのbuildマニュアルを参照してください。
dConnectBrowserForIOS9
そして作業しているXcodeのWorkspace内でのbuildターゲットの切り替え方法は、Xcodeのウィンドウの左上、RunやStopボタンの右にあるのが現在選択されているターゲットであり、そのターゲットをクリックする事で表示されるWorkspace内のbuildターゲット一覧から対象のbuildターゲットを選択する事でbuildターゲットの切り替えを行う事ができます。
あとは先ほど示したbuildターゲットのbuild順序でbuildを行います。buildを行うにはRunボタンを押すか、ショートカット⌘+Bを使う等して実行する事ができます。
dConnectBrowserForIOS9では、App Groupsを使用しますので、Provisioningに含めておくのを忘れないでください。
3つのスキーマがあり、以下の順番でbuildしてください。
- 1.BookmarkDBFramework:ExtensionとBrowser共通ライブラリ
- 2.dConnectBrowserForIOS9:ブラウザ
- 3.BookmarkShare:ブックマーク共有用Extension
また、各プロジェクトにはDebugとReleaseというbuild設定があります。Debug build設定は開発段階のデバッグに適したパッケージのbuildを行い、Release build設定はデバッグ情報を除いて処理速度や成果物のデータサイズが快適化される形式でのパッケージのbuildを行い、エラーが発生しなければiOSの実機上でdConnectBrowserForIOS9のアプリが実行されます。