Tag: ckreference

针对CKReference的CloudKit预订通知未按预期工作

我试图设置一个CKSubscription的logging,其中包含一个CKReference字段的字段给用户。 但是,无论何时创buildlogging,都会忽略compoundPredicate的这一部分,并且通知永远不会到来。 在CKSubscription的谓词中使用CKReference有什么不同吗? 我进入仪表板input一个新的logging下我自己的用户recordID(当在模拟器中运行另一个用户),因为我相信我读了如果logging来自设备,它将不会收到通知。 任何洞察力都非常感谢,因为我已经坚持了一个星期,并找不到任何特定于此的任何事情。 我能够得到真正的types谓词通知,所以我认为我的基本设置是好的。 在仪表板中,我看到了两个testing用户的通用订阅,但没有任何用户的具体recordID(这是否重要?): Notifications.read (equals string) Notifications.user (equals reference) 当我执行fetchAllSubscriptionsWithCompletionHandler方法时,它会在debugging器中显示当前用户的特定recordID作为CKReference。 所以我不知道为什么不行。 这是我的代码,我首先创buildCKReference,然后用它作为我的谓词: var recordIDString = CKRecordID(recordName: "_a86dac8ee05f8c6ab35746bf9663d7b8") // I normally store this string in the NSUserDefaults. let userRef = CKReference(recordID: recordIDString, action: .DeleteSelf) let predicate = NSPredicate(format: "user = %@", userRef) let predicateTwo = NSPredicate(format: "read = %@", "") // I […]

CloudKit删除CKReference的自选项不起作用

有没有人有经验使用CloudKit选项DeleteSelf的CKReference ? 以下是我从文档中获得的内容: DeleteSelf 引用logging的删除操作。 删除logging还会删除包含指向该logging的CKReference对象的任何logging。 删除其他logging可能会触发级联删除更多logging。 这些删除在默认区域中是asynchronous的,在自定义区域中是立即的。 所以我一直在testing这个,我已经使用CloudKit Dashboard和使用我的应用程序创build了多个CKReference对象。 每当我用我的应用程序做,我创build的参考如下所示: let reference:CKReference = CKReference(recordID: savedFriend.friendID, action: CKReferenceAction.DeleteSelf) 我知道它被指定为删除自己,因为在仪表板中它显示选项被选中: 我必须做错事,因为每当我去手动删除使用仪表板引用的logging,或者设置我的应用程序以编程方式删除它,logging消失,但引用永远不会被删除。 我想也许我应该等待,最终会发生,但几个小时后,它仍然在检查,像它应该已经删除本身。 这是有点令人沮丧,因为我devise了一些我的代码假设这将工作,现在我可以有一个应用程序浪费资源,试图find一个不存在的CKRecord了。 我不应该依靠这个来工作吗? 我感谢任何帮助或build议,我可以得到。 更新〜04/07/2016 我跳了枪回到这里,并发布了一个更新,这个问题已经解决了。 我并不完全相信这个问题不会回弹,所以我昨晚寻求一些安慰。 我创build了5个不同的CKRecords并创build了各种不同的CKReference对象来在我的数据库中引用它们。 然后我开始在每个引用上设置CKReferenceAction.DeleteSelf选项(我通过仪表板手动尝试了两个,其他三个以编程方式完成)。 无论如何,我等了几分钟,然后删除引用logging…十分钟后,参考文献仍然存在。 我又等了5-10分钟,他们还在那里,所以我上床睡觉,早上一定要走了,对不对? 错误! 十二个小时后, CKReference条目仍然存在 ,引用的logging仍然消失。 我肯定是在挠头,似乎是CloudKit的一个bug。 我应该提到,我也注意到我的仪表板中有一些奇怪的行为。 在过去的四天左右,在左下angular一直说它是“重build发展数据”,这里是一个例子: 这可能会导致这个问题? 有没有人熟悉这个问题,并知道解决这个问题的方法? 任何build议,将不胜感激。 我已经向苹果提交了一个错误报告。