Xamarin での watchOS プロジェクト参照
iOS アプリ、ウォッチ アプリ、ウォッチ拡張機能の関係の説明。
watchOS ソリューションの 3 つのプロジェクトは、watchOS 3 アプリを正しくビルドしてバンドルするために、特定の方法で相互に参照するように自動的に構成されます。 これらのプロジェクト参照とバンドル識別子の設定については、参考のために以下で説明します。
プロジェクトの参照
各プロジェクトの [参照] ノードをダブルクリックして、参照を表示します。
iPhone アプリ は ウォッチ アプリを参照します
ウォッチ アプリはウォッチ アプリ拡張機能を参照します
ウォッチ アプリ拡張機能は、他のいずれのプロジェクトも参照しません
バンドル識別子
バンドル識別子が正しいことを確認する必要もあります。
3 つのプロジェクトはすべて "同じ" 識別子プレフィックスを持つ必要があります。2 つのウォッチ プロジェクトには、次のように watchkitextension
と watchkitapp
の拡張子が事前に定義されています (WatchKitCatalog の例の場合)。
Xamarin.iOS Unified プロジェクト -
com.xamarin.WatchKitCatalog
WatchKit Extension プロジェクト -
com.xamarin.WatchKitCatalog.watchkitextension
Watch App プロジェクト -
com.xamarin.WatchKitCatalog.watchkitapp
また、次の Info.plist 設定が正しいことを確認します。
ウォッチ アプリ プロジェクトの
WKCompanionAppBundleIdentifier
は親/コンテナー アプリのバンドル ID (つまり、iPhone で実行されるバンドル ID) と一致します。Watch Kit 拡張機能プロジェクトの WKApp バンドル ID は、Watch アプリ プロジェクトのバンドル ID と一致します。
各プロジェクトの Info.plist ファイルをダブルクリックして、識別子を編集できます。
このスクリーンショットは、Watch 拡張機能の Info.plist ファイルで、ウォッチ アプリの識別子も示されています。
このスクリーンショットは、ウォッチ アプリの Info.plist ファイルです。 現在の Watch OS バージョンは 8.2 であるため、ウォッチ アプリの展開ターゲットは 8.2 である必要があります。 Xcode 6.3 がインストールされている場合、この値は 8.3 に設定されている可能性があります。8.2 に変更する必要があります。
ウォッチ アプリの展開ターゲットは、ウォッチ拡張機能および iOS アプリとは異なってもかまいません。