0

プログラムで alertBody を使用して cksubscription を作成しましたが、正常に動作します。開発環境でのテスト目的で、(コードを使用せずに) クラウドキット ダッシュボードからそのサブスクリプションを削除し、同じコードを使用して別の alertBody で cksubscription を再度作成しました。これを作成した後、両方のアラートボディを含む 2 つのアラート メッセージを受け取りました。何が問題なのですか?ダッシュボードにはサブスクリプションの種類が 1 つしか表示されず、プッシュ通知が発生すると 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 に答える