Xamarin での watchOS プロジェクト参照

iOS アプリ、ウォッチ アプリ、ウォッチ拡張機能の関係の説明。

watchOS ソリューションの 3 つのプロジェクトは、watchOS 3 アプリを正しくビルドしてバンドルするために、特定の方法で相互に参照するように自動的に構成されます。 これらのプロジェクト参照とバンドル識別子の設定については、参考のために以下で説明します。

プロジェクトの参照

各プロジェクトの [参照] ノードをダブルクリックして、参照を表示します。

  • iPhone アプリウォッチ アプリを参照します

    Screenshot shows the Projects tab.

  • ウォッチ アプリウォッチ アプリ拡張機能を参照します

    Screenshot shows the Projects tab with MyWatchApp dot OnWatchExtension selected.

  • ウォッチ アプリ拡張機能は、他のいずれのプロジェクトも参照しません

    Watch App Extension does not reference the other projects

バンドル識別子

バンドル識別子が正しいことを確認する必要もあります。 3 つのプロジェクトはすべて "同じ" 識別子プレフィックスを持つ必要があります。2 つのウォッチ プロジェクトには、次のように watchkitextensionwatchkitapp の拡張子が事前に定義されています (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 に変更する必要があります。

The watch Info.plist file

ウォッチ アプリの展開ターゲットは、ウォッチ拡張機能および iOS アプリとは異なってもかまいません。