【发布时间】:2015-06-02 12:45:06
【问题描述】:
我已经设置了 CKSubscription*,以便接收对记录类型的更改。
我正在使用公共数据库。
当我使用同一用户(同一 iCloud 帐户)进行测试时,我会收到通知。
如果我使用不同的用户(不同的 iCloud 帐户),我不会收到通知。
订阅是否设计为只能在同一用户的设备之间使用?
这里是描述订阅的文档:
使用 CKSubscription 对象来跟踪服务器上发生的更改。 订阅的行为类似于服务器上的持久查询,可以 跟踪记录的创建、删除和修改。什么时候 发生变化时,它们会触发推送通知的传递,以便 您的应用可以做出适当的响应。
无论哪个用户编辑记录,我都希望收到通知,并且订阅谓词应该仍然匹配。
更新
*每个用户都有一个具有相同谓词的订阅,基本上专注于具有特定属性值的单个记录类型。
此订阅的有效负载仅用于推送 shouldSendContentAvailable=YES。
文档如下:
当此属性为 YES 时,服务器包含 content-available 推送通知的有效负载中的标志。该标志导致系统 唤醒或启动当前未运行的应用程序。该应用程序是 然后给定后台执行时间以下载与 推送通知,例如更改的记录集。 如果 应用程序已在前台运行,包含此标志 没有额外的效果,并且通知被传递到应用程序 像往常一样委托处理。
recordType的安全权限是:
进一步更新
检查了设备在应该收到推送时没有收到推送的日志并看到了:
apsd[85]: Silent Push: Deny app not available
重启了设备,现在可以正常使用了!
【问题讨论】:
-
亲爱的投票者,这个问题有什么问题?
标签: cloudkit