Skip to content

dConnectBrowserForIOS9 Build

TakayukiHoshi1984 edited this page Mar 27, 2017 · 3 revisions

目次

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のアプリが実行されます。

Clone this wiki locally