我可以使用 CKNotificationInfo() 和 CKNotificationInfo.alertBody 获得 CKSubscription 工作。所以我可以发送一条信息。我正在尝试让 CKSubscription 以字典格式向用户发送消息、用户名、位置等信息。我已经涉足 CKNotificationInfo.alertLocaliztionKey 和 CKNotificationInfo.alertLocaliztionArgs 但似乎无法使其工作。感觉就像我错过了一些小东西,因为 CKSubscription 不应该让它工作起来那么麻烦。
问问题
72 次
1 回答
2
因为这不是通知框架的意图。您得到的是关于 WHAT 已更改的信息,然后您必须获取这些数据并执行您想做的任何事情。我制作了一个应用程序,它既可以告诉用户某些事情发生了变化,又可以在后面静默刷新本地数据:
let cloudKitNotifiction = CKQueryNotification(fromRemoteNotificationDictionary: uif)
if cloudKitNotifiction.notificationType == CKNotificationType.Query{
if let recordId = cloudKitNotifiction.recordID{
let ccs = CloudCoreSynchronizer()
ccs.syncOneCustomerFromCloudToCore(recordId)
resetBadgeCounter()
}
}
要完成这项工作,您必须启用推送通知和后台模式,如果您希望它在应用程序处于后台时发生。希望这会有所帮助。PS:inapp购买的东西就不管了,和这个没关系
于 2016-03-19T22:30:22.480 回答