Cloudkit中的开发环境中的订阅类型未正确删除

时间:2015-10-28 13:32:34

标签: cloudkit cloudkit-environments

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

有谁知道如何解决它?

1 个答案:

答案 0 :(得分: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
...