問題タブ [cksubscription]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - ユーザーが iCloud にログインしていない場合、CloudKit を使用してアプリでサブスクリプションを使用できますか?
ユーザーがログインしていない場合、サブスクリプション通知の使用を防ぐことができますか?
ios - CKReference の CloudKit サブスクリプション通知が期待どおりに機能しない
ユーザーへの CKReference を持つフィールドを含むレコードの CKSubscription をセットアップしようとしています。ただし、レコードが作成されるたびに、compoundPredicate のこの部分が無視され、通知は送信されません。CKSubscription の述語で CKReference を使用することについて何か違いはありますか? ダッシュボードに移動して、(シミュレーターで別のユーザーを実行しているときに) 自分のユーザー recordID の下に新しいレコードを入力します。これは、レコードがデバイスからのものである場合、通知を受信しないことを読んだためです。私はこれに1週間立ち往生しており、これに固有のものをオンラインで見つけることができないため、洞察をいただければ幸いです。真の型の述語の通知を受け取ることができるので、基本的な設定は問題ないと思います。
ダッシュボードには、両方のテスト ユーザーに対して 1 つの汎用サブスクリプションが表示されますが、どちらのユーザーにも特定のレコード ID は表示されません (これは問題ですか?)。
fetchAllSubscriptionsWithCompletionHandler メソッドを実行すると、このデバイスの現在のユーザー固有の recordID がデバッガーの CKReference として表示されます。だから、なぜうまくいかないのかわからない。
最初に CKReference を作成し、それを述語に使用するコードは次のとおりです。
ios - CloudKit と CKSubscriptions
Apple が CKSubscriptions で提供する CloudKit とプッシュ通知に関する非常に奇妙な問題に対処しています。
まず、すべてが正常に機能しています。CKNotification を受け取ることができます。開発スキーマにいくつかの変更を加えるまで、数日間機能しました。新しいフィールドを追加しただけで、他には何も変わっていません。
その瞬間から、CKNotifications を受信できなくなりました。私はコードを変更していないので、間違いはなかったと確信しています。クラウド ダッシュボードからスキーマに新しいフィールドを追加しただけです。
この問題に取り組んでいるのは私だけですか?修正プログラムが存在するかどうか知っていますか?
ありがとう。
更新: CKReference であるフィールド「リスト」の場合、DeleteSelf アクションが設定されている場合、通知は発生しません。アクションが None の場合、通知は発生します。ところで、DeleteSelf が必要です。
ios - CloudKit 既存の CKSubscription を変更する
publicDatabase に保存された既存の CKSubscription を直接変更することはできませんか?
クラスのドキュメントを見ると、削除することしかできず、新しい動作を持つ新しい CKSubscription を作成できます。
これは正しいです ?
ありがとう
ios - CloudKit で CKSubscriptions を理解するのに苦労しています
数週間にわたって CKSubscription 機能について読み、使用しようとしましたが、一般的な質問に関する情報が見つかりません。Apple のドキュメント、オンライン チュートリアル、購入した本、SO に関する質問を読みましたが、基本的なことはまだ理解できていません。どんな助けでも大歓迎です。
答えが見つからない質問は次のとおりです。
1)。サブスクリプション ID の目的は何ですか? 便利なinitにはそれが含まれていないのに、なぜ指定されたinitに必要なのですか? 使用する場合、アプリのすべてのユーザーに対して同じですか?
2)。ここで、subscriptionID の登録を解除できると誰かが言及しているのを見ました。なぜ、またはどのようにこれを行うのですか?
3)。パブリック データベースとユーザーのプライベート データベースの両方でサブスクリプションを設定できますか?
4)。すべてのユーザーに同じクエリ ベースのサブスクリプションがある場合、データベースに一覧表示されるサブスクリプションは 1 つだけになりますか?
たとえば、特定のユース ケースで通知を受け取るのに問題があります。True述語を機能させることができ、通知が来るので、私のセットアップでは問題ありません。したがって、サブスクリプションがどのように機能するかの基本をまだ理解してはいけません。
別のユーザーが投稿にコメントしたときに新しいレコードが作成されるたびに起動するサブスクリプションをセットアップしようとしています。この新しいレコードには、投稿を作成したユーザーへの参照が含まれます。両方のユーザーのデータベースに表示される唯一のサブスクリプションは、Notifications.user (equals 参照) です。したがって、このサブスクリプションは 1 つしか表示されないと思います (?)。しかし、サーバーはどのようにしてすべてのユーザーのレコード ID を追跡したり、特定のデバイスに送信するタイミングを認識したりするのでしょうか?
問題は、通知が機能しないことです。ダッシュボードにレコードを手動で追加し、他のユーザーのレコード ID を CKReference に設定します。レコードを追加している間、フィールドに CKReference として追加したユーザーのアカウントの下で、デバイスのバックグラウンドでアプリを実行しています。誰かがこのユーザーの投稿にコメントしたため、クエリがトリガーされてプッシュ通知が送信されることを期待しています。
サブスクリプションをセットアップするための私のコードは次のとおりです。
ios8 - クラウドキット。サブスクリプションに関する問題
サブスクリプションに関する情報がよくわかりません。私はプライベートデータベースを持っています。サブスクリプションを作成するテーブルがあります。1 つの iCloud アカウントで 2 つのデバイスをサブスクライブすると、エラーが発生します。
CKError 0x165c6ac0: "サーバーは要求を拒否しました" (15/2032); サーバー メッセージ = "サブスクリプションは 'C6051A24-2DB5-47EA-98D2-7D8786AA6D3B' と重複しています"; uuid = 48AC7472-006A-4FD7-84A9-DB342C83C199; コンテナー ID = "iCloud.com. *. *"
多分私は何か間違ったことをしていますか?サブスクリプションの通知を両方のデバイスで受信するにはどうすればよいですか?
編集:
また。サブスクリプションを 1 つだけ作成します。メソッド fetchAllSubscriptionsWithCompletionhandler を使用すると、テーブルごとに 3 ~ 4 のサブスクリプションが表示されます。でも1つしか作ってないから変。通知を受け取ると、必要以上の通知が表示されます。
ios - プライベート データベースの CloudKit サブスクリプション
CloudKit を使用してデータを iCloud にバックアップする機能を追加したいアプリがあります。「バックアップ」部分は正しく機能しているようです (私のレコードはプライベート データベースにあります。
ここで、CKSubscriptions を使用して、すべてのデバイスを同じデータと同期させたいと考えています。クエリに基づいて (ゾーンに基づいていない) レコードの作成/更新/削除を監視する CKSubscription を実装しようとしました。
今まで、デバイスへの通知をトリガーできませんでした。
ゾーンに基づいてサブスクリプションを作成できることは知っています。ゾーンはプライベート DB にあるため、CKSubscriptions はプライベート DB で機能すると思います。しかし、ゾーンを実装したくありませんでした (それ以外の場合は必要ありません)。
質問: クエリに基づくプライベート DB の CKSubscriptions に問題はありますか?
ios - CloudKit: クエリ サブスクリプション リクエスト
CloudKit を使用してアプリで作業しており、CloudKit へのサブスクリプションを作成しています。ここに私のコードがあります:
皆さんへの質問です。CloudKit へのユーザー サブスクリプションをクエリまたは検証するにはどうすればよいですか?
ios - CKSubscription が機能しない
私はCKSubscriptions
App DelegateのdidFinishLaunchingWithOptions
メソッドで2つを作成しています。
ログアウトするNSError
とnullが返され、その後アプリを開くたびに正しく取得できるため、これらは正常に作成されます。ただし、一方のデバイス (iPhone など) でレコードが作成または削除されると、もう一方のデバイス (Mac など) では通知が発生しません (または正しく受信されません)。Macで通知を聞いている方法は次のとおりです。
NSLog
残念ながら、それは決して発火しません。