如何使用CKSubscription发送多列信息

时间:2016-03-19 18:02:27

标签: ios swift apple-push-notifications cloudkit cksubscription

我可以使用CKNotificationInfo()和CKNotificationInfo.alertBody获得CKSubscription工作。所以我可以发送一条信息。我正在尝试使CKSubscription以字典格式向用户发送消息,用户名,位置等信息。我已经涉足CKNotificationInfo.alertLocaliztionKey和CKNotificationInfo.alertLocaliztionArgs,但似乎无法使其工作。感觉就像我错过了一些小东西,因为CKSubscription不应该让它变得麻烦。

1 个答案:

答案 0 :(得分:2)

因为这不是通知框架中的目的。你所得到的是关于什么已经改变的信息,然后你必须获取这些数据并做你想做的事情。我创建了一个应用程序,它既告诉用户某些内容发生了变化,又在后面静默刷新本地数据:

let cloudKitNotifiction = CKQueryNotification(fromRemoteNotificationDictionary: uif)
        if cloudKitNotifiction.notificationType == CKNotificationType.Query{
            if let recordId = cloudKitNotifiction.recordID{
                let ccs = CloudCoreSynchronizer()
                ccs.syncOneCustomerFromCloudToCore(recordId)
                resetBadgeCounter()
            }
        }

要完成这项工作,您必须启用推送通知和后台模式,如果您希望在应用程序处于后台时发生这种情况。希望这会有所帮助。 PS:只是忽略inapp购买的东西,它与此无关

enter image description here