問題タブ [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.

0 投票する
2 に答える
2195 参照

ios - 同じ Mac で 2 つの iOS デバイスをデバッグする方法はありますか?

同じXcodeからは不可能だと思いますが、Xcodeを複数回開くことによってですか? それとも他のトリック?それらの間の CKSubscription と CloudKit 通信をテストしています。

0 投票する
2 に答える
1019 参照

ios - CloudKit レコードが更新されたことを別のデバイスに通知するにはどうすればよいですか?

CKSubscription のドキュメントには、次のように記載されています。レコードの変更によってサブスクリプションが起動すると、サーバーは、レコードに元の変更を加えたデバイスを除く、そのサブスクリプションを持つすべてのデバイスにプッシュ通知を送信します。

デバイス 1 が iPad で、デバイス 2 が iPhone で、どちらも同じiCloud アカウントでログインしているとします。両方のデバイスが特定のレコード タイプのレコード更新をサブスクライブしているとします。

私のコードは次のようになります(ハウスキーピングの一部を取り出しました)

あるデバイスがレコードを更新すると、他のデバイスに通知する必要があるように思えます。しかし、それは起こっていることではありません - 通知はありません。WWDC 2014 の Advanced iCloud ビデオでは、1 つのデバイスが通知を既読としてマークしたときに通知されることについて話していますが、私はそれについても成功していません。

同じアカウントにサインインしている別のデバイスがレコードを更新したときに、あるデバイスに通知することに成功した人はいますか?

0 投票する
0 に答える
316 参照

notifications - CloudKit サブスクリプションは、ダッシュボード操作でのみ機能します

私のサブスクリプションは単純な述語に基づいています

特定のinviteCodeを含む1つのレコードを監視し、レコードが削除されたときに通知を送信するだけです(招待が他のユーザーによって受け入れられました)。ただし、他のデバイスからプログラムで招待を削除した場合、プッシュ通知は発生しません。ただし、ダッシュボードから招待を削除すると、通知が送信されます。誰かがこのバグで私を助けることができますか?

PS。サブスクリプションがサーバーに正常に保存されていることは確かです-ダッシュボードに表示されます。

更新しました:

答えはここにありました CKSubscription による CKRecord の削除を観察してください。

0 投票する
1 に答える
549 参照

ios - CloudKit、リモート通知、aps-environment

CloudKit リモート通知を設定する際に、Info.plist にリモート通知フィールドを追加する「リモート通知」機能を有効にしました。しかし、コンソールに次のエラーが表示されます。

エラードメイン= NSCocoaErrorDomainコード= 3000「アプリケーションに有効な「aps-environment」資格文字列が見つかりません」UserInfo = 0x17db9850 {NSLocalizedDescription =アプリケーションに有効な「aps-environment」資格文字列が見つかりません}

iTunes Connect に送信すると、次のエラーがメールで送信されます。

プッシュ通知資格の欠落- アプリには、Apple プッシュ通知サービスへの登録に使用される API が含まれているように見えますが、アプリ署名の資格には「aps-environment」資格が含まれていません。アプリで Apple プッシュ通知サービスを使用している場合は、アプリ ID がプロビジョニング ポータルでプッシュ通知に対して有効になっていることを確認し、「aps-environment」資格を含むディストリビューション プロビジョニング プロファイルを使用してアプリに署名した後、再送信してください。

さて、プロビジョニング プロファイルを更新することになっていますが、それを実行してプッシュ通知を有効にしようとすると、サーバーで使用する SSL 証明書を作成する必要があります。私は CloudKit を使用していますが、サーバーはありません。プロビジョニング プロファイルを更新するにはどうすればよいですか?

0 投票する
1 に答える
168 参照

cloudkit - ユーザーがアプリの使用を開始したことを CKSubscription で通知する方法はありますか?

ユーザーがアプリの使用を開始した時期を知る必要があります。CKSubscription任意のレコード タイプを設定できることはわかっていますUsersが、動作しないようです。

0 投票する
2 に答える
539 参照

ios - CloudKit + 有効な aps-environment 資格エラーがありません

アプリでCloudKit サブスクリプションを使用しようとしましたがdidReceiveRemoteNotification、トリガーされません。

に保存CKSubscriptionしましたCloudKit。それらが存在することを確認するために、アプリの起動時に次のようにプロットします。

<CKSubscription: 0x15576310; ; Query Subscription: recordType=DailyVote, predicate=TRUEPREDICATE, subscriptionOptions=7, subscriptionID=1FA456A6-9BA5-411D-97B9-1EB57121A5D0, zoneID=(null)> predicate: TRUEPREDICATE subscriptionType: (Enum Value) subscriptionOptions: C.CKSubscriptionOptions

Apple docが推奨するように、デバイスをAPNサーバーに登録しようとしましたが、エラーデリゲートメソッドが呼び出され、メッセージが表示されました:

  • CloudKit機能はオンです
  • 無効なプロビジョニング プロファイルはありません
  • 私はトリックをしました: Xcode> Preferences> Accounts> pick your Account> pick your Team> View Details>PRESS REFRESH BUTTON
  • 新しいiCloudコンテナを使用して新しいアプリを作成し、すべてのロジックを移動しましたが、エラーは同じで、サブスクリプション通知は機能しません.
0 投票する
1 に答える
462 参照

ios - CloudKit からすべてのクライアント レコードを更新する方法は?

私のアプリは、保存するすべてのレコードをローカルにCloudKit保存します。したがって、これはビッグ データの小型電話の概念ではなく、すべてのデータ サーバーとすべてのデータ クライアントの概念です。アプリが再び起動したときに、すべての更新が時々必要です。

既存のすべてのレコード タイプを設定する必要がありCKSubscriptionますか?

  • サーバーからの通知が多いかもしれませんが、「サイレントモード」もあると思いますが、iCloud通知収集のストレージ容量に制限があるはずです。

アプリの起動時にすべてのローカル レコードを削除しCloudKit、更新プログラムを取得するために再度ダウンロードする必要がありますか?

  • 毎回あまりにも多くのデータを更新する必要があります。
0 投票する
1 に答える
68 参照

ios - ユーザーは設定から​​ CKSubscriptions を削除できますか?

サブスクリプションが受け入れられた後、ユーザーがサブスクリプションを拒否できるかどうかに興味がありますか?

0 投票する
1 に答える
241 参照

ios - CKSubscription で CKAsset の変更を確認する方法は?

CKAssetで保存された画像が変更されたかどうかを確認するにはどうすればよいですかCloudKit?

CKNotification doc は、desiredKeys について次のように述べています。

  • 配列には最大 3 つのキーを含めることができます。
  • NSString指定するキーの許容値はNSNumber、、、、、およびCLLocationです。値に他のデータ型が含まれるキーは指定できません。NSDateCKReference

CKAssetリストにない