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

SwiftUI中如何将CKShare默认权限设置为只读?

如何将UICloudSharingController的默认共享权限设为仅查看(Read Only)

在iOS 16中,UICloudSharingController新增了initialPermission属性,专门用于指定共享面板打开时默认选中的权限选项。你只需在配置控制器时添加一行代码即可实现需求:

修改你的makeUIViewController方法,在设置availablePermissions后添加initialPermission的赋值:

func makeUIViewController(context: Context) -> UICloudSharingController {
    share[CKShare.SystemFieldKey.title] = recipe.rName
    let controller = UICloudSharingController(share: share, container: container)
    controller.modalPresentationStyle = .formSheet
    controller.delegate = context.coordinator

    controller.availablePermissions = [.allowReadWrite, .allowReadOnly]
    // 设置默认权限为仅查看
    controller.initialPermission = .allowReadOnly
    return controller
}

说明

  • 该属性仅在iOS 16及以上版本可用,完全匹配你的使用环境(iOS 16.0),无需额外版本适配。
  • 确保initialPermission的值包含在你设置的availablePermissions数组中,否则不会生效。你已经配置了允许两种权限,因此直接设置.allowReadOnly即可。

内容的提问来源于stack exchange,提问作者JohnSF

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:01:02