Xamarin 中的 watchOS 项目引用

有关 iOS 应用、手表应用和手表扩展之间的关系的说明。

watchOS 解决方案中的这三个项目将自动配置为以特定方式相互引用,以便正确生成和捆绑 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

捆绑标识符

你还需要确保捆绑标识符正确无误。 这三个项目应具有相同的标识符前缀,其中两个手表项目具有预定义的扩展名 watchkitextensionwatchkitapp,如下所示(针对 WatchKitCatalog 示例)

  • Xamarin.iOS 统一项目 - com.xamarin.WatchKitCatalog

  • WatchKit 扩展项目 - com.xamarin.WatchKitCatalog.watchkitextension

  • Watch 应用项目 - com.xamarin.WatchKitCatalog.watchkitapp

此外,请确保以下 Info.plist 设置正确无误

  • “手表应用”项目的 WKCompanionAppBundleIdentifier 与父/容器应用的捆绑 ID(即 iPhone 上运行的 ID)匹配;

  • “手表工具包扩展”项目的 WKApp 捆绑 ID 与“手表应用”项目的捆绑 ID 匹配。

你可以通过双击每个项目中的 Info.plist 文件来编辑标识符

以下屏幕截图是“手表扩展”的 Info.plist 文件,同时也显示了“手表应用”的标识符

以下屏幕截图是“手表应用”的 Info.plist 文件。 当前 Watch OS 版本为 8.2,因此手表应用的“部署目标”应为 8.2。 请注意,如果已安装 Xcode 6.3,此值可能设置为 8.3 - 你应将其更改为 8.2。

The watch Info.plist file

手表应用的部署目标可以不同于手表扩展和 iOS 应用。