规划你的 watchOS App
如果你刚接触 Apple Watch 软件开发,请花些时间来熟悉将要用到的工具和技术。Apple 提供了你入门所需的一切,各种 watchOS 技术也能帮助你实现 App 理想的功能和性能。
![含有 watchOS App 新创意和技术的故事板。](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/planning-watchos-marker-large_2x.png)
探索无限可能
用户习惯在 Apple Watch 上快速获取最重要的信息,因为 Apple Watch 就在手腕上,随时随地,触手可及。而且它能发出及时的通知、帮助用户保持身材、提供新闻与资讯,或者通过其他方式来满足用户对信息和娱乐的需求。
用户可以直接从 App Store 下载适用于 Apple Watch 的独立 App,或是 iOS App 的配套 App,并在 Apple Watch 上使用。App 固然重要,而复杂功能和通知也能帮助提高用户活跃度。
![watchOS 复杂功能屏幕的截屏。](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/complications_2x.png)
复杂功能
复杂功能是表盘上预定义区域内显示的小型视觉元素。它们可用于展示你的 App 的最重要信息,并能帮助提高用户活跃度。如需更多信息,请查看“WidgetKit 框架”。
![watchOS 通知屏幕的截屏。](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/notifications_2x.png)
通知
通知显示有时限性的信息,利用触觉反馈、声音和视觉线索来引起用户注意。创建来自 App 本地的通知,或者从服务器将通知远程推送到 Apple Watch。如需更多信息,请查看“User Notifications 框架”。
![watchOS App 屏幕的截屏。](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/applications_2x.png)
App
App 提供全屏方式来供用户查看你的内容并与之交互。watchOS App 应该仅专注于用户即刻需要的最相关数据。例如,天气 App 可以仅显示当前的预报信息,省略掉详细的地图和数据。请查看“SwiftUI”。
从何处着手
软件开发从 Xcode 开始,这是 Apple 的集成式开发环境。Xcode 提供一套齐全的软件开发工具,包括项目管理支持、代码编辑器、可视化 UI 编辑器、调试工具、面向不同设备的模拟器,以及用于评估性能的工具,等等。Xcode 还包含一整套系统代码模块 (称为框架),以辅助你开发软件。
Xcode 包含适用于 iOS、iPadOS、macOS、Apple tvOS 和 watchOS 的 SDK。
Xcode 项目能助你管理 watchOS App 的代码和资源 — 无论你是想要创建新项目,还是将 watchOS App 添加到现有项目。
创建一个新项目来开发仅适用于 Apple Watch 的 App,或者同时开发 watchOS 和 iOS App。仅适用于 Apple Watch 的 App 提供 Apple Watch 独有的体验,没有配套的 iOS App。另外,你也可创建同时包含 watchOS App 和 iOS App 的项目,将它们放在一起开发。
打开现有的 iOS 项目,添加配套的 watchOS App。配套的 watchOS App 将完全在 Apple Watch 上运行,但它同时会与你 iOS App 的功能相匹配或提供补充功能。例如,watchOS 上的健身 App 可以收集体能训练数据,并在 iOS 上显示和分析这些数据。而这两个 App 也会一起在 iOS 上的 App Store 发布。
![](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/watchos-xcode-start_2x.png)
![](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/watchos-xcode-start-dark_2x.png)
要在 Xcode 中创建新项目,请选取“File”(文件) >“New”(新建) >“Project”(项目),然后按提示操作。对于新的 watchOS App,请使用 SwiftUI 来构建 App 的 UI 和基础架构。SwiftUI 的声明式编程模型可降低你代码的复杂度,并减少在不同尺寸的 Apple Watch 上管理你的界面所需的工作。如需有关如何使用 Xcode 的信息,请查看 Xcode 文档。
SwiftUI 可与 Apple 的数据管理技术无缝协作,为你的界面创建提供支持。Swift 标准资料库和 Foundation 框架 提供了数组和字典等结构类型,以及字符串、数字、日期和其他常用数据值等值类型。对于你定义的任何自定类型,可以采用 Swift 的 Codable 支持 将这些类型持久保留在磁盘上。如果你的 App 管理大量的结构化数据,Core Data 和 CloudKit 提供了面向对象的模型来管理和持久保留你的数据。
采用 Swift
使用 Swift 编程语言编写你的代码。Swift 的语法非常简洁,从设计上保证安全,而且还有让代码更富表现力的现代特性。Swift 代码还能生成运行速度飞快的软件。
《Swift 编程语言指南》
《Swift 编程语言指南》 全面概述了 Swift 编程语言,是你 Swift 学习之旅的理想起点。
设计用户体验
App 通过提供引人入胜的体验来留住用户。为创造这种体验,你的 UI 需要外观精美、布局易于理解,并且凸显恰当的内容。此外,UI 交互也要直观明了,并与现有的模式吻合。最重要的是,在 Apple Watch 上呈现的界面要感觉自然。
![](https://cdn.statically.io/img/developer.apple.com/watchos/planning/images/apple-design-resources_2x.png)
《人机界面指南》
Apple 的《人机界面指南》提供了宝贵的信息,指导你设计 App 界面、导航内容,以及管理 Apple Watch 上的交互。在探索 watchOS 生态系统时,务必重视并仔细阅读这些指南,使用相应的 Apple 设计资源来深入设计你的 App。
要确保在 Apple Watch 上提供出色的体验,请务必支持以下功能:
全天候显示
一些 Apple Watch 机型配备全天候显示功能,表盘一直都保持点亮。准备好让你的 App 在处于全天候显示状态时呈现最新的内容。请查看“针对全天候显示状态设计你的 App”��
多种尺寸的 Apple Watch
Apple Watch 提供 38 毫米到 45 毫米不等的多种尺寸,SwiftUI 可帮助你让界面适应所有设备尺寸。使用模拟器来预览你的界面,并根据需要调整布局。请查看“支持多种 Apple Watch 尺寸”。
可缩放图像
融合 SF Symbols,让你的 App 更自如地适应更改。“SF Symbols”App 提供一个由可配置的矢量图像组成的庞大集合,这些图像能够自然地适应外观和尺寸变化。它们也能与 San Francisco 系统字体完美搭配,在不同 Apple 平台上形成统一的外观。请查看“在你的 UI 中配置和显示符号图像”���
与 Apple Watch 交互主要通过触摸屏和数码表冠来完成。系统也支持通过 Siri 进行基于语音的输入,以及辅助触控等辅助功能输入方式。用户可能会只会快速浏览 Apple Watch 屏幕几秒钟,因此请通过立刻显示相关信息来彻底省却交互的必要。
在开发期间采用最佳做法
以下做法能帮助你为每个用户提供最佳体验:
保护用户的隐私
隐私非常重要,因此请告知用户你将如何使用他们的数据。如果你收集数据,请提供隐私声明来阐述你将如何使用这些信息。如果你使用会操作个人数据的 Apple 技术,请附上使用说明,以便系统在首次使用时显示。如需更多信息,请查看“保护用户的隐私”。
保护你收集和储存的数据
如果你确实要收集数据,请务必保护这些数据免受恶意攻击。将密码、财务数据或个人身份信息等非常敏感的数据储存在用户的加密钥匙串 中。使用磁盘加密 或其他 Apple 安全技术 来储存其他个人数据。使用 Apple CryptoKit 对你储存在本地或发送到 App 外的数据进行加密。
审查你的辅助功能支持
Apple 已将辅助功能支持直接内置于其各项技术中,但屏幕阅读器和其他辅助功能仍需依赖你的 App 提供的信息。SwiftUI 可以描述 UI 的每一部分,但只有你知道这些部分是如何在一起协同工作的。检查辅助功能标签和其他描述,确保它们提供了实用的信息,并确保基于焦点的导航简约且直观。如需更多信息,请查看“辅助功能”。
打造国际化和本地化的 App
针对其他地区和语��打造本地化的 App,拥抱全球化市场。利用 Foundation 框架 准备你的 App,它可提供代码来根据不同语言和地区对字符串、日期、时间、货币和数字进行格式调整。确保你的 UI 对从左到右和从右到左的语言都有良好呈现。将 App 资源本地化,并将它们添加到你的 Xcode 项目中。如需有关国际化和本地化流程的信息,请查看“本地化”。
为每个人而设计
在开发内容时考虑社会和文化方面的差异,避免使用对你的部分受众隐含负面或贬损意义的图像和词语。如需更多信息,请查看“包��性”。
全面测试和调试 App
在开发环节,使用内建 Xcode 调试器在出现问题时进行调试。使用 XCTest 构建自动化测试套件并在每次构建时运行,以验证新代码的运行是否与预期相符。使用 Xcode Cloud 的持续集成系统,实现自动构建你的 App、自动完成测试循环及向 QA 团队自动分发。
优化你的 App 性能
利用 Xcode 附带的 Instruments App,排查代码中的瓶颈和其他性能问题。对运行代码进行性能测试,查找内存泄漏,分析资源使用,以及进行更多其他检查。如需有关使用 Instruments 收集指标的信息,请查看“提升 App 的性能”。
为 App 选择商业模式
通过各种商业模式在全球范围内分发你的 App,包括免费、免费但提供 App 内购买项目、付费下载等。你所构建的界面应能提供一致性的体验,并支持你所选择的商业模式。如需更多信息,请查看“为 App 选择商业模式”。
如何更进一步
当你的 App 准备就绪并能正常运行时,请探索更多方法来进一步完善用户体验。小小改变也能带来大不同 — 哪怕只是加入一个特定功能,或者换一种方式呈现你的内容。例如:
倡导选择健康生活方式
Apple Watch 是收集健康和健身信息的首要工具。如果你的 App 收集健康相���数据,请使用 HealthKit 来储存这些数据。将数据添加至 HealthKit 存储库可确保其安全,并处于 Apple Watch 所有者的掌控之中。他们可以在 iOS 上的“健康”App 中查看这些信息,并了解自己总体健康和健身方面的潜在重要趋势。
从 Apple Watch 支持你的蓝牙设备
Apple Watch 支持通过多种标准蓝牙协议通信,你也可以添加对自定协议的支持。如果你的公司生产蓝牙扬声器或耳机、或血压血糖监测仪等蓝牙医疗设备,请使用 Core Bluetooth 在你的 App 与硬件之间进行通信。
围绕新功能添加运行时条件检查
当你更新 App 以支持 watchOS 新版本时,请在面向新功能的代码附近添加运行时条件检查。运行时检查可以消除发布 App 不同版本的必要:一个版本面向运行 watchOS 新版本的用户,另一个面向运行旧版本的用户。所有人都运行相同的 App,并且运行 watchOS 新版本的用户可以使用你增加的新功能。如需有关添加运行时检查的信息,请查看“在特定平台或操作系统版本上运行代码”。
探索更多
进一步了解各种技术,它们不仅带来独特的功能,还可与不同 Apple 平台紧密集成,形成一个无缝的生态系统来帮助 App 和游戏跨平台运行,包括 iOS、iPadOS、macOS、Apple tvOS、visionOS 和 watchOS。