0

我以编程方式使用 alertBody 创建了 cksubscription,它工作正常。为了在开发环境中进行测试,我从 cloudkit 仪表板中删除了该订阅(不使用代码),并再次使用相同的代码创建了具有不同 alertBody 的 cksubscription。创建这个后,我收到了两个警报体的 2 条警报消息。我没有得到什么问题?在仪表板上,它仅显示一种订阅类型,当推送通知触发时显示 2 条消息。

有谁知道如何解决它?

4

1 回答 1

0

在仪表板中,您只会看到为您登录到仪表板的用户设置的订阅。当您删除该订阅时,您只会为该用户删除它。如果您的设备使用其他用户登录,则旧订阅仍然存在。

您可以在运行时检查可用订阅。你可以使用这样的代码:

    self.database.fetchAllSubscriptionsWithCompletionHandler({subscriptions, error in
            for subscriptionObject in subscriptions! {
                if let  subscription: CKSubscription = subscriptionObject {
                    self.database.deleteSubscriptionWithID(subscription.subscriptionID, completionHandler: {subscriptionId, error in
...
于 2015-10-28T13:56:22.277 回答