例如当前已经有一个iOS应用,希望为它添加一个WatchOS应用(Apple Watch扩展),可以按照以下步骤操作:
添加WatchOS扩展
在 Xcode 中,选择项目导航器中的项目文件(.xcodeproj)。
在 TARGETS 部分,点击左下角的 + 按钮来添加新的目标(Target)。

在弹出的选项中,选择 WatchOS,然后选择 Watch App for iOS App。


在添加 WatchOS 扩展时,Xcode 会提供几个不同的选项。
1、Watch-only App
这是一个完全独立的 WatchOS 应用,它不依赖于任何 iOS 应用。这意味着应用只运行在 Apple Watch 上,不能与 iPhone 进行交互。通常,这种选择适用于想要构建只在 Apple Watch 上运行的应用,而不需要与 iPhone 应用进行数据交换或同步的情况。
适用场景:
完全独立的 Apple Watch 应用。
不需要与 iOS 应用共享数据或功能。
2、Watch App with New Companion iOS App
选择这个选项会同时创建一个新的 iOS 应用和 WatchOS 应用。换句话说,Xcode 会创建两个项目,一个是 iOS 应用,另一个是与之配对的 WatchOS 应用。这适用于同时开发一个新的 iOS 应用和与其关联的 Apple Watch 应用的情况。
适用场景:
打算从头开始开发一个新的 iOS 应用和 WatchOS 应用。
希望 WatchOS 应用和 iOS 应用是彼此独立但有紧密配合的。
3、Watch App for Existing iOS App
这个选项适用于已有一个 iOS 应用,并希望为其添加一个 WatchOS 扩展。选择该选项后,Xcode 会为现有的 iOS 应用添加一个 WatchOS 扩展(包括 WatchKit App 和 WatchKit Extension),可以使用 WatchConnectivity 等功能来进行数据同步。
适用场景:
已经有一个 iOS 应用,并希望为它添加一个 WatchOS 应用。
需要在 iPhone 和 Apple Watch 之间共享数据(例如,使用 WatchConnectivity)。
希望 WatchOS 应用作为现有 iOS 应用的扩展来提供额外的功能。

点击“Finish”后,弹出提示表明需要激活某个特定的Scheme,才能构建和调试创建的WatchOS应用。点击“Activate”按钮,激活BankletWatch Watch App这个Scheme,这样Xcode就会使用这个Scheme来构建和调试WatchOS应用。

创建完成后,在Xcode项目中显示Watch App的目标。

配置WatchKit扩展和Watch App
打开Xcode项目,找到TARGETS,选择Watch App,首次使用Watch App还需要将设备在开发者账户中进行注册。

在Xcode中找到连接的Apple Watch,运行项目后,可以在Apple Watch上查看关联的应用。


打开Watch App的文件时,可能会因为Lottie报错的情况,具体请见《Xcode报错信息提示 No such module ‘QuartzCore’》
如果遇到无法链接Watch的情况,请见《Xcode提示Connecting to 方君宇的Apple Watch》

默认的情况下,Watch App的图标是空的,因此还需要在Assets中单独配置Watch图标。

配置AppIcon后,Watch端显示应用图标。

总结
虽然创建Apple Watch应用很简单,同时延伸出来的问题比较复杂,比如不支持QuartzCore,如果引入的包含有QuartzCore,则必须通过条件导入来避免在Watch系统的报错。
相关文章
1、Xcode提示Connecting to 方君宇的Apple Watch:https://fangjunyu.com/2025/02/19/xcode%e6%8f%90%e7%a4%baconnecting-to-%e6%96%b9%e5%90%9b%e5%ae%87%e7%9a%84apple-watch/
2、Xcode报错信息提示 No such module ‘QuartzCore’: https://fangjunyu.com/2025/02/18/xcode%e6%8a%a5%e9%94%99%e4%bf%a1%e6%81%af%e6%8f%90%e7%a4%ba-no-such-module-quartzcore/