Swift &引用;“取消订阅”;从CKQuerySubscription,但不删除它(多个用户)

Swift &引用;“取消订阅”;从CKQuerySubscription,但不删除它(多个用户),swift,swift3,cloudkit,Swift,Swift3,Cloudkit,我有一个角色类型,多个用户为其订阅了recordCreation更改 使用其subscriptionID,可以很容易地将新用户添加到此CKQuerySubscription,但是,当我尝试使用CKContainer.default().publicCloudDatabase.delete(使用subscriptionID:)方法从订阅中“取消订阅”其中一个用户时,就会出现问题 它不只是停止此设备接收任何进一步的通知,而是删除订阅(对于所有其他用户也是如此) 因此,我的问题是:如何从CKQuery

我有一个角色类型,多个用户为其订阅了
recordCreation
更改

使用其
subscriptionID
,可以很容易地将新用户添加到此
CKQuerySubscription
,但是,当我尝试使用
CKContainer.default().publicCloudDatabase.delete(使用subscriptionID:)
方法从订阅中“取消订阅”其中一个用户时,就会出现问题

它不只是停止此设备接收任何进一步的通知,而是删除订阅(对于所有其他用户也是如此)


因此,我的问题是:如何从
CKQuerySubscription
中删除一个用户,而不删除其他用户的订阅?我很好奇,您是如何将用户添加到现有订阅的?我只需使用以下构造函数指定订阅的ID:let updateSubscription=CKQuerySubscription(记录类型:“更新”,谓词:nspreditate(值:true),subscriptionID:“63453537-75E8-4A53-82A1-75757F99E1CB”,选项:.firesOnRecordCreation)然后将此用户“添加”到现有订阅中。这是一种糟糕的做法吗?我本以为会为每个具有该ID的用户创建单独的sub。不过,你可能已经暴露了我自己的应用程序中存在冲突的可能性。我的目的是让每个用户对每个感兴趣的记录都有自己的sub。他们可以通过删除自己的sub来取消订阅。我必须取消sub id的冲突,这样每个sub对每个记录类型都有一个唯一的id。但我从未考虑过用户之间的ID冲突。我需要检查一下好吧,这是个好主意。。。但是我不能提交多个相同的订阅,即使来自不同的用户。我在引用“重复订阅”时出错。。。当我对一个用户多次使用同一谓词时,我只看到“重复”错误。我没有看到多个用户创建相同的Sub。我很好奇,您是如何将用户添加到现有订阅的?我只是使用以下构造函数指定订阅的ID:let updateSubscription=CKQuerySubscription(记录类型:“Update”,谓词:nspreditate(值:true),subscriptionID:“63453537-75E8-4A53-82A1-75757F99E1CB”,选项:.firesOnRecordCreation)然后,这会将该用户“添加”到现有订阅中。这是一种糟糕的做法吗?我希望为每个具有该ID的用户创建单独的sub。不过,您可能暴露了我自己的应用程序中存在冲突的可能性。我的目的是让每个用户都有自己感兴趣的记录的sub。他们可以通过删除自己的sub来取消订阅own sub。我必须消除sub id的冲突,这样每个sub对每个记录类型都有一个唯一的id。但我从未考虑过用户之间的id冲突。我需要检查一下。:)啊,好吧,这是个好主意……但我不能提交多个相同的订阅,即使来自不同的用户。我遇到一个错误,指的是“重复订阅”"... 当我对一个用户多次使用同一谓词时,我只看到“重复”错误。我还没有看到多个用户创建相同的sub。