在 WWDC 2015 中提到 watch 支持本机应用程序,但我看不到新 Xcode 7 中的选项,用于在没有配套应用程序的情况下构建 Apple Watch 应用程序。如果存在,请让我知道这样做的方法。
4 回答
实际上,watchOS 应用程序与 iOS 配套应用程序相关联。
在这两个版本中,每个 watchOS 应用程序都有两个目标:WatchKit 应用程序 - 包含故事板、图标等 - 和 WatchKit 扩展程序,其中包含代码。
watchOS 1 (old WatchKit) + iOS 8 组合中,WatchKit App 安装在 Apple Watch 上,WatchKit Extension 和 iOS app 都安装在用户的 iPhone 上。
换句话说,在watchOS 2 + iOS 9组合中,WatchKit App和WatchKit Extension都安装在用户的Apple Watch上,iOS App是唯一安装在iPhone上的代码和视图。
运行 iOS 应用程序只需要一个目标,因此它可以在没有 Apple Watch 的情况下运行(从第一个 iPhone 操作系统开始)。
但是运行 watchOS 应用需要 WatchKit App 和 WatchKit Extension。在 watchOS 1(旧的 WatchKit)中,因为一个在 iPhone 上,另一个在 Apple Watch 上,所以运行的应用程序需要通过蓝牙在它们之间连接,所以你必须随身携带你的 iPhone。在 watchOS 2 中,两者都在 Apple Watch 上,因此运行应用程序不需要连接到 iPhone 和附近有 iPhone。您可以将它们与 watchOS 2 SDK(在 Xcode 7 中)中包含的 WatchConnectivity 框架连接。
所以在 watchOS 2 中,应用程序可以独立运行,但它们根本不是独立的。它们在 iPhone 上安装时安装在 Apple Watch 上,并且可以相互连接。当您创建新的 watchOS 应用程序时,您必须在将其提交到 iTunes Connect 时将其包含在您的 iPhone 应用程序中。
注意:这使 watchOS 应用程序更快、更可靠。
您还不能构建原生手表应用程序。也许在 Xcode 7 的后续版本中,但到目前为止,Apple 宣布的只是“在不久的将来的某个时候”,您将能够构建一个原生 Watch 应用程序。
在 watchOS 2 中,手表应用程序是“原生”的,因为 WatchKit 扩展现在运行在 Apple Watch 上,而不是用户的 iPhone 上。这意味着它不能再使用共享应用程序组与 iPhone 应用程序共享数据,而是必须使用新的 Watch Connectivity 框架来回传递数据。这也意味着手表应用程序可以在没有手机的情况下更快、更强大。
但是,至少在今年,手表应用程序仍必须与配套的 iOS 应用程序捆绑在一起。
在 iOS 13 中,可以创建独立的 watchOS 应用程序。更多信息可以在这里找到。您必须下载 Xcode 11 才能创建独立的 watchOS 应用程序。