Skip to content

中文说明

MrQ edited this page May 29, 2024 · 8 revisions

Terminal Watch Widget

终端小组件表盘,需要WatchOS 10及以上版本。

由于新版本的watchOS不再支持App常驻前台,所以使用小组件(Widget)的方式来实现自定义表盘。

Thanks for TermiWatch https://github.com/kuglee/TermiWatch/

未来更新

为了方便使用了苹果官方的框架 WeatherKit 来获得天气信息,但是WeatherKit仅支持付费开发者账号,免费账号无法使用。
后续我会添加其他方式获取天气信息,来方便使用
已引入和风天气,可自行申请Key 来替换WeatherKit。 https://dev.qweather.com

如何安装

预备工作&向Xcode添加开发人员帐户

可以参考TermiWatch的说明文档

  1. Xcode设置提示

    1. 项目文件导航器
    2. 查找导航器
    3. 项目主文件,点击右侧显示项目设置窗口
    4. Targets. 单击不同的Target以修改其设置
    5. Schemes. 切换Scheme以编译iPhone或Watch的应用程序

  2. 修改替换Bundle Identifier字段中的3个目标中的每一个**,请使用您的开发人员帐户名称。(不带*@xxxx.com*的Apple ID的名称。)


  1. 修改项目设置内的 team:
    1. 选择 Signing & Capabilities:
    2. 依次选中左侧TARGETS中的3个 targets 修改 Team 为你的team. (通常是你的名字.)
  2. 手动替换 bundle identifiers:
    1. 选择 Xcode menu -> Find -> Find and Replace in Project….
    2. Text 输入 void (或者比如 com.xxx.TermiWatch 中的 xxx )
    3. With 输入你的开发者账号. (Apple ID 不带 @xxxx.com的Apple ID.)
    4. 点击 Replace All 按钮.
  3. 如果报错信息显示 WeatherKit 或者 HealthKit, 去设置 Capability
    如果你不使用 WeatherKit, 则不需要设置 WeatherKit。

同时去登录开发者页面 https://developer.apple.com/account ,证书->Identifiers,找到上面设置的bundleID,
点击进入,在Capabilities找到WeatherKit和HealthKit打上☑️,在App Services找到WeatherKit☑️


  1. 添加 '和风天气'。 如果使用 '和风天气' 来替换 weatherkit https://dev.qweather.com/docs/
    1. https://id.qweather.com/#/login 注册账号,申请 API Key
    2. 参考文档 https://dev.qweather.com/docs/configuration/project-and-key/
    3. 复制 KeyHFWeatherKey 路径(/TermiWatchWidget/QConfiguration.swift)
    4. 找到 targets 设置,删除3个target里的 Weatherkit

安装App

  1. iPhone用数据线连接电脑
  2. 解锁iPhone 然后在弹出窗口选择信任你的电脑
  3. 选择 Xcode menu -> Product -> Destination. 在 Device 选择你的手机。
  4. 选择 Xcode menu -> Product -> Run.
  5. 等待编译完成的App安装到手机上.
  6. 打开手机 设置 -> 通用 -> 证书 & 设备管理 信任App
  7. 打开 Watch App 下拉找到 TermiWidget 安装.

Watch 设置

  1. 打开安装好的App,点击“同步表盘”。
  2. 检查 Watch App “我的表盘”,选择并设置表盘。

UI 自定义修改

  1. 找到 /TermiWatchWidget/QConfiguration.swift 可以修改文字、字体颜色
  2. 图片在 TermiWatchWidget/TermiWatchWidget_Widget/Assets.xcassets/LeftTopImage.imageset,可替换左上角图片
  3. 如果需要更多修改,直接找到相关UI代码修改 /TermiWatchWidget Watch App/View/QCommonView.swift

可能存在的问题

  1. 由于Widge的刷新机制,每天更新的次数有限制,所以数据更新会存在滞后。