标签: ckshare

使用 NSPersistentCloudKitContainer 在用户之间共享核心数据

Apple 在NSPersistentCloudKitContaineriOS 13 中引入了,这使我们能够将 CloudKit 与 Core Data 一起使用。我让它在不同的设备上几乎立即工作,但我的主要问题仍然存在。

是否可以以简单的方式与其他用户共享数据?我一直在阅读,CKShare但不知道如何NSPersistentCloudKitContainer以简单的方式从这里开始。

core-data ios cloudkit ckshare nspersistentcloudkitcontainer

15
推荐指数
2
解决办法
2362
查看次数

无法与 UICloudSharingController 共享;随着“上传”消息消失

在视图顶部显示 UICloudSharingController 时,它会显示屏幕,当我选择消息选项向我想与之共享的人发送消息时,它会提供一个带有“上传”消息的旋转轮,并消失 - 附加截屏.

但是,当我转到 cloudkit 仪表板时,根记录已共享。但我不能与特定的人分享。是因为它共享了全局吗?我该如何解决?

self.shareInfraRecord(zoneID: appDelegate.privateContactZoneID, completion: { (status) in
     if ( status == false) {
             return
      }
    })

func shareInfraRecord(zoneID: CKRecordZone.ID, completion: @escaping(Bool) -> Void) {
    
    if let rootRecord = self.rootRecord {
        if self.rootRecord?.share == nil {
            let sharingController = UICloudSharingController { (controller, preparationHandler: @escaping (CKShare?, CKContainer?, Error?) -> Void) in
                
                let shareID = CKRecord.ID(recordName: UUID().uuidString, zoneID: zoneID)
                var share = CKShare(rootRecord: rootRecord, shareID: shareID)
               
                share[CKShare.SystemFieldKey.title] = Cloud.ShareInfrastructure.ContactShareTitleKey as CKRecordValue?
                share[CKShare.SystemFieldKey.shareType] = Cloud.ShareInfrastructure.ContactShareTypeKey as …
Run Code Online (Sandbox Code Playgroud)

cloudkit ckshare

7
推荐指数
1
解决办法
68
查看次数