Skip to content

[App反馈][WATCHOS] iPhone与Apple Watch数据同步逻辑缺陷:旧设置覆盖新数据、删除操作未正确传播 #79

@Minazuki-Banki

Description

@Minazuki-Banki

反馈类型

  • 问题反馈(Bug)

详细描述

用户反馈iPhone与Apple Watch之间存在严重的同步冲突问题,具体表现为:

  1. 在iPhone上进行的设置变更,有时无法成功同步到Apple Watch;
  2. Apple Watch上的旧设置反而会反向同步回来,覆盖iPhone上的新设置;
  3. 涉及"供应商"类数据删除时,如果仅在Apple Watch上删除了某个供应商,而iPhone上未删除,则有很高概率该供应商会被重新同步回Apple Watch。

这些现象指向底层同步机制的缺陷:数据同步时对"时间戳"和"版本号"的比较逻辑存在问题,未能正确判断哪一端的数据才是最新的、应该保留的版本,导致删除操作(DELETE操作)未能被正确传播,旧数据反而被当作"最新数据"覆盖了新变更。

可复现步骤

  1. 在iPhone上修改某项设置(如添加/删除一个供应商)。
  2. 观察Apple Watch是否同步该变更。
  3. 在Apple Watch上进行相反的操作(如删除在iPhone上刚添加的项目,或添加已在iPhone上删除的项目)。
  4. 观察两设备同步后最终保留的是哪一份数据。

预期行为

数据同步应基于可靠的时间戳或版本号机制,正确识别并保留最新变更:新设置应覆盖旧设置,删除操作应在所有设备间正确同步且不应被已删除的旧数据反向覆盖。

实际行为

iPhone上的新设置无法同步到Apple Watch,Apple Watch上的旧设置会反向覆盖iPhone新数据,单向删除操作不能正确传播,已删除项目会重新出现。

环境信息

  • 平台: watchos
  • App 版本: 1.7.0 (Build 326)
  • Git 提交: 7080b45
  • 分发通道: TestFlight
  • 系统版本: Version 26.2.1 (Build 23S314)
  • 设备型号: Watch6,9
  • 语言: zh-Hans_US
  • 时区: Asia/Shanghai

最小诊断日志

  • timestamp=2026-06-01T06:41:09Z
  • provider_count=1
  • session_count=20
  • platform=watchOS
  • distribution_channel=testFlight
  • app_version=1.7.0(326)

服务端附注

  • 来源: source/app-feedback
  • 同步标记: 由用户提出自动更新的
  • 客户端IP哈希: 8fe8660b2df7c63f8dd79baaf09ccdbc21f67e43c85be62ce86191064b9d67d6

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions