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

2023-12-28

我正在尝试为包含带有用户 CKReference 的字段的记录设置 CKSubscription。但每当创建记录时,它都会忽略compoundPredicate的这一部分,并且通知永远不会出现。在 CKSubscription 的谓词中使用 CKReference 有什么不同吗?我进入仪表板在我自己的用户 recordID 下输入一条新记录(同时在模拟器中运行另一个用户),因为我相信我读到如果记录来自设备,它将不会收到通知。非常感谢任何见解,因为我已经在这个问题上坚持了一个星期,并且在网上找不到任何与此相关的内容。我能够获得真实类型谓词通知,所以我认为我的基本设置没问题。

在仪表板中,我看到两个测试用户都有一个通用订阅,但没有看到任一用户的任何特定 recordID(这重要吗?):

Notifications.read (equals string)
Notifications.user (equals reference)

当我执行 fetchAllSubscriptionsWithCompletionHandler 方法时,它确实会将此设备的当前用户的特定 recordID 显示为调试器中的 CKReference。所以我不知道为什么它不起作用。

这是我的代码,我首先创建 CKReference,然后将其用于我的谓词:

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 want the read field to be empty, which tells me user has not read my internal app notif.
  let compoundPred = NSCompoundPredicate(type: .AndPredicateType, subpredicates: [predicate, predicateTwo])


Now I set-up the subscription like this:

let subscription = CKSubscription(recordType: "Notifications",
        predicate: compoundPred,
        options: .FiresOnRecordCreation)

    let notificationInfo = CKNotificationInfo()

    notificationInfo.alertBody = "Someone replied to your post"
    notificationInfo.shouldBadge = true

    subscription.notificationInfo = notificationInfo

    publicDB.saveSubscription(subscription,
        completionHandler: ({subscription, error in.....etc})
      // handling this part

我也遇到了同样的问题,并在苹果网站上偶然发现了这条信息:

当创建谓词包含 CKReference 字段的订阅时,请确保在创建谓词时使用 CKRecordID 对象作为该字段的值。在这种情况下使用 CKRecord 对象当前不起作用。

当我将 CKQuerySubscription 的谓词更改为使用 CKRecordID 而不是 CKReference 时,它​​按预期工作。我意识到这是一个旧线程,但我很难找到这个问题的答案,因为谓词似乎在 CKQuery 和 CKQuerySubscription 之间表现不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CKReference 的 CloudKit 订阅通知未按预期工作 的相关文章

随机推荐

  • 使用 LINQ 生成 XML 时如何从元素中删除 xmlns?

    我正在尝试使用 LINQ 生成我的站点地图 站点地图中的每个 url 都是使用以下 C 代码生成的 XElement locElement new XElement loc location XElement lastmodElement
  • DropdownList 在加载时重置为索引 0

    我该如何重置我的asp DropDownList元素 其中有一个runat server 在 Firefox 中每次 重新加载 页面 按 F5 时索引 0 如果您建议使用 JavaScript 请注意 我没有使用表格 我不知道如何访问具有r
  • R DT 表格顶部的水平滚动条

    我有一个又宽又长的闪亮DT 默认情况下 我想在表格顶部显示水平滚动条 有没有办法做到这一点 我当前的 DT 定义如下所示 DT datatable dt rownames FALSE filter fbox style bootstrap
  • Android自定义对话框高度

    我正在学习 Android 对话框 但我对决定其高度的因素感到困惑 如果我使用此 XML 作为我的对话框布局
  • 如何在Java中高性能地显示多个SVG

    我想要的是 我的目标是能够在 Java 的单个绘图区域上显示大量 SVG 图像 每个图像都有自己的平移 旋转 缩放值 我正在寻找允许此操作的最简单的解决方案 甚至可以选择使用 OpenGL 来加快速度 我尝试过的 我最初的幼稚方法是使用 S
  • 带或不带加窗的 KISS FFT 输出

    我目前正在尝试使用 Kiss fft 将 fft 实现到 avr32 微控制器中 以进行信号处理 我的输出有一个奇怪的问题 基本上 我将 ADC 样本 使用函数生成器进行测试 传递到 fft 实际输入 256 n 大小 中 并且检索到的输出
  • 如何在C中读取和覆盖文本文件?

    我有一个文本文件 text txt 其内容为 为了简单起见 this is line one this is line two this is line three 再次为了简单起见 我只是尝试将每行中的第一个字符设置为 x 所以我想要的结
  • 当“myType”在运行时动态生成时,鉴别器“myType”不明确

    我有一个应用程序 它在运行时动态创建新类型 创建该类型的对象并将它们插入到类型的 MongoDB 数据库集合中object 使用 shell 我可以看到对象已正确插入并且 tvalue 是动态创建的类的正确名称 我正在尝试使用以下方法从我的
  • KeyCloak 用户联合和动态角色

    我正在使用本指南http www keycloak org docs 3 2 server development topics user storage html http www keycloak org docs 3 2 server
  • 如何在 Python 中生成随机字符串(长度为 X,仅 a-z)? [复制]

    这个问题在这里已经有答案了 可能的重复 python 生成带有大写字母和数字的随机字符串 https stackoverflow com questions 2257441 python random string generation w
  • 使用 Firefox(最新 32 位)浏览器的量角器未加载

    因此 由于某种原因 当我运行 Protractor 时 Firefox 最新 32 只会打开一个空浏览器 并且不会导航到 baseURL 我编写的测试在 Chrome 上工作得很好 但在 Firefox 上却不行 这可能与conf文件的设置
  • 如何从 Android 的 Google 获取当前时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有 Google API 可以从时区获取当前时间 如果有 我该如何使用它 我想从特定时区获取当前在
  • Android 中同时播放多个视频文件

    我曾在 iPad 上对 iOS 提出过同样的问题 但现在我想看看在 Android 中是否可行 目前我收到的回复是 iOS 内没有 如果在 Android 中可行 请解释一下使用了什么 API 这是我引用的原始问题 iOS 上的原始帖子可在
  • 如何枚举 SQL 中返回的行?

    我想知道是否可以枚举返回的行 不根据任何列内容 而只是产生一个顺序整数索引 例如 select count as usercount from users group by age 会返回类似的内容 1 12 2 78 3 4 4 42 那
  • 无法解析符号“createFromResource”

    我完全不明白这意味着什么 我已经进行了一些搜索 但到目前为止还没有找到任何帮助 我正在使用 android studio 并有一个对话框片段 我正在其中设置一个微调器 Spinner systemFontSpinner Spinner vi
  • Seaborn 热图更改 yticks 的日期频率

    我的问题与该主题遇到的问题类似 更改多索引数据帧的热图 xticks https stackoverflow com questions 66897981 change heatmaps yticks for multi index dat
  • 本地主机上的谷歌距离矩阵

    我正在尝试使用谷歌距离矩阵来找出从一个源到一个目的地的距离和时间 我正在调用该函数 postCode change function var address sydney var source melbourne var url https
  • EL 中的#{component} 到底是什么?

    根据https code google com p primefaces issues detail id 4720 https code google com p primefaces issues detail id 4720 The
  • GTK信号什么时候发出

    给定从用户连接到回调函数的信号 gtk main 线程将休眠 直到发出信号 我搜索了有关如何或何时发出的详细信息 但找不到任何我不知道的信息 更具体地说 它是异步发出的 以便我可以在某个函数中间调用信号 还是等待特定函数先返回 发出 切换页
  • CKReference 的 CloudKit 订阅通知未按预期工作

    我正在尝试为包含带有用户 CKReference 的字段的记录设置 CKSubscription 但每当创建记录时 它都会忽略compoundPredicate的这一部分 并且通知永远不会出现 在 CKSubscription 的谓词中使用