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