我可以使用CKSubscription ()和CKNotificationInfo.alertBody完成CKNotificationInfo工作。这样我就能发送一条信息了。我试图让CKSubscription以字典格式向用户发送消息、用户名、位置等内容。我曾接触过CKNotificationInfo.alertLocaliztionKey和CKNotificationInfo.alertLocaliztionArgs,但似乎无法让它发挥作用。感觉好像我错过了一些小的东西,因为CKSubscription不应该让它工作那么麻烦。
发布于 2016-03-19 22:30:22
因为这不是通知框架中的意图。您要返回的是有关已更改的内容的信息,然后您必须获取这些数据并执行您想做的任何事情。我制作了一个应用程序,它告诉用户某些东西已经改变了,并且在后台悄悄地刷新本地数据:
let cloudKitNotifiction = CKQueryNotification(fromRemoteNotificationDictionary: uif)
if cloudKitNotifiction.notificationType == CKNotificationType.Query{
if let recordId = cloudKitNotifiction.recordID{
let ccs = CloudCoreSynchronizer()
ccs.syncOneCustomerFromCloudToCore(recordId)
resetBadgeCounter()
}
}要使这一工作,您必须启用推送通知和后台模式,如果您希望它发生时,应用程序在background.Hope,这是有帮助的。PS:只是忽略了inapp购买的事情,这与此无关。

https://stackoverflow.com/questions/36105223
复制相似问题