🛎️

CloudKit 调试技巧:如何查看测试账户的云端数据

核心速览:CloudKit 控制台默认仅显示开发者本人的数据。若要查看真机测试使用的“个人账户”或“沙盒测试账户”的数据,需点击控制台中的 “Act As iCloud Account” 按钮进行切换登录。

问题描述

很多开发者在开发 Core Data 或 SwiftData 的云同步功能时,会遇到一个典型困惑: 在真机上使用测试账户(或个人主力账号)成功写入了数据,同步状态也显示正常,但在 CloudKit Dashboard(控制台)中查询记录时,却空空如也。

原因分析

这是由于 CloudKit 的隐私隔离机制:

  1. 身份不一致:CloudKit 控制台默认使用你的 Apple Developer 开发者账号 登录。
  2. 数据隔离:私有数据库(Private Database)的数据是严格隔离的。开发者账号只能看到属于它自己的数据,无法直接查看其他 iCloud 账户(包括你自己的非开发者测试号)产生的数据。

解决方案

CloudKit 控制台提供了一个名为 “Act As iCloud Account” 的功能,允许开发者在控制台会话中“扮演”另一个 iCloud 用户。

操作步骤

  1. 登录 CloudKit Console

  2. 进入你的 App 容器,点击页面左侧的 “Act As iCloud Account” 按钮。

    CloudKit Act As iCloud Account Button

  3. 在弹出的窗口中,输入你在真机/模拟器上测试用的 iCloud 账户和密码

    CloudKit Login Window

  4. 登录成功后,Query Records 的结果将显示该测试账户下的数据。

注意事项

  • 会话时效性:该登录状态是临时的。如果你刷新页面、切换 Container、切换环境(Development/Production)或点击 “Stop Acting As…”,都会自动登出测试账户,恢复为开发者账户。
  • 双重认证:如果测试账户开启了双重认证(2FA),登录时同样需要输入验证码。
相关提示

订阅 Fatbobman 周报

每周精选 Swift 与 SwiftUI 开发技巧,加入众多开发者的行列。

立即订阅