You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UICloudSharingController结合Core Data与CloudKit时添加参与者失败的技术问询

Core Data + CloudKit 结合 UICloudSharingController 添加参与者异常问题解析

今年夏季苹果发布了一款SwiftUI示例应用,演示如何通过Core Data、CloudKit和UICloudSharingController实现iCloud用户间的数据共享,但在Core Data与CloudKit结合的场景下,使用UICloudSharingController添加更多参与者时出现异常。

最小复现示例(MRE)

  • 可直接使用苹果官方的上述示例应用
  • RayW的同类型示例应用存在相同问题
  • 纯CloudKit的示例应用无此异常

复现步骤

  • 创建新共享
  • 通过UICloudSharingController管理共享
  • 选择“添加更多参与者”
  • 通过短信或其他服务共享,首次尝试成功,后续尝试失败

预期结果

可通过UICloudSharingController借助短信、邮件等平台添加新参与者,共享链接在所有设备上正常显示。

实际现象

  • iOS 16+系统:通过短信共享会触发Collaboration框架,弹出“发生错误,无法启动协作”提示;触发该错误后,邮件等其他平台也无法生成共享链接;首次成功共享的链接在接收设备上显示异常。
  • iOS 15系统:UICloudSharingController会直接关闭弹窗,无提示信息。

控制台日志

首次出现问题时会输出如下日志,后续尝试不再生成该日志:

CoreDataCloudKitShare[3672:1242159] systemSharingUIDidSaveShareBlock received error: <CKError 0x28314d8c0: "Server Record Changed"
(14/2004); server message = "client oplock error updating record"; op
= 134D57570A63DF3A; uuid = 8F070F8B-0AC0-4FFE-A52D-154BCBF3196C; container ID = “containerID>

其中containerID为对应CKContainer的ID。

问题进展与解决方案

  • 该问题已提交苹果反馈(编号FB11623246),并在苹果开发者论坛进行提问,确认是已知高优先级回归Bug。
  • iOS 16.4 beta 2及后续版本修复了UICloudSharingController的核心问题,但新增了附件添加错误;经与苹果官方沟通后,所有问题已完全解决,苹果同时更新了官方示例应用。

内容的提问来源于stack exchange,提问作者blu-Fox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:55:27