2

我在 iOS 11.4.1 上有一个 CloudKit 应用程序,经常通过 CKSubscriptions 更新记录。我发现在设备长时间(30 分钟到 2 小时)停止接收任何通知之前收到的推送通知的数量是有限制的。

有没有人遇到过这个问题?该应用程序处于活动状态,并且可以很好地接收来自 CKSubscriptions 的推送通知,但是在 3-5 分钟内收到 30-40 条通知后,它就停止接收它们。

甚至没有调用 didReceiveRemoteNotification。我在通话期间激活了 activityIndi​​cator。我还为每个 didReceiveRemoteNotification 调用了 completionHandler(.newData)。

大约 30 分钟到 2 小时后(应用程序始终处于活动状态),didReceiveRemoteNotification 开始再次调用记录更改。

我是否接近使用 CKSubscriptions 推送通知的一些限制?

我已经对此进行了彻底的测试,它与互联网连接无关,因为设备仍然可以向 CloudKit 发送更新,但没有收到推送通知。

我尝试过的: 1)限制我的保存 CKRecords 方法,以便将记录批量保存。不幸的是,每个记录更改都会调用一次 didReceiveRemoteNotification,所以同样的问题。2) 在开发和生产(从 App Store 下载)环境中发生 3) abort() 并重新打开应用程序不起作用 4) 尝试了 Apple 的 CloudShares 示例应用程序。我自己无法添加很多记录,但是当我的应用程序暂停推送通知时,CloudShares 应用程序仍会收到推送通知。5)最后,我在 didReceiveRemoteNotification 方法上尝试了一个计数器(没有调用任何数据更新方法),它在停止之前达到了大约 80-95。

谢谢!

4

0 回答 0