問題タブ [ckfetchrecordchangesopera]

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 投票する
1 に答える
1423 参照

ios - CloudKit fetchRecordChangesOperation は、「AppDefaultZone は同期セマンティクスをサポートしていません」を返します

CKFetchRecordsChangeToken で CKFetchRecordChangesOperation を使用して変更を取得していますが、「AppDefaultZone は同期セマンティクスをサポートしていません」と表示されます。

問題のあるコードは次のとおりです。

そして、これが印刷されているエラーです

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

ios - cloudKit: 公開データベースでの CKFetchRecordChangesOperation

cloudKit を使用して iOS アプリを作成しています。デバイスと cloudKit の間のデルタを取得する cloudKit でデータのバッチ フェッチを実行しようとしていますが、公開データベースでは CKFetchRecordChangesOperation が機能しないようです。私の唯一のオプションは、私のデータを取得するための CKQuery ですか? 例えば:

よろしくお願いします。

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

macos - CKFetchNotificationChangesOperation の使用方法

購読しているCKFetchNotificationChangesOperationからの見逃したすべての通知を処理し、Mac アプリケーションで に転送するにはどうすればよいですか? そのメソッドのコードは次のとおりです。CKSubscription- (void)application:(nonnull NSApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo {

私のアプリはメニューレットであり、見逃した通知をチェックし、メニューレットがクリックされたときに適切に処理する必要があります。

更新:これは私が試したコードですが、配列は常に空で、エラーはありません。アプリを実行し、アプリを閉じ、レコードを削除してから、アプリを再度実行してテストしています。

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

ios - 機能しない UPDATE 通知の代替手段

UPDATE 通知が機能しなくなりました。Appleが何かを理解するまで、どのような回避策がありますか?

CKFetchNotificationChangesOperation が UPDATE、DELETE 通知を返さない場合がある レコードの更新に関する CloudKit プッシュ通知が 機能しなくなった

私の簡単な修正は、毎分、ユーザーがトリガーしたときにUIRefreshControl、最後の更新以降に変更されたすべてのレコードをダウンロードすることです。できます。でも、頭の中にもっといい考えがあるんだ、好奇心旺盛だ、君はどう思う?欠点。

Changeデータベースにテーブルを追加することを考えています。recordNamerecordTypechangeTypeフィールドがあります。、、文字列値をchangeType持つことができます。(またはそれに応じて int 列挙)insertupdatedelete

そしてCKSubscription、テーブルだけで作成し、観察しChangeます。カスタムテーブルでレコードが作成、更新、削除されるときは常に、そのアクションを実行し、2番目のアクションとしてChangeテーブルに「ログエントリ」を作成します。でのInsert操作でChangeあり、挿入通知が機能しているように見えるため、すべてのデバイスに通知されます。参照されたレコードをダウンロードできます。

欠点はありますか?

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

ios - CKFetchRecordChangesOperation で多くの変更が行われるのは正常ですか?

アプリで CloudKit を使用していますが、うまく機能しているようです。ただし、新しいデバイスでアプリを初期化するときは、

以前のすべての削除と変更が同期されているように見えるため、多くの変更を取得します。

より良い方法はありますか?たとえば、現在のデータの完全なセットをダウンロードして、serverChangeToken を現在の値に設定するだけです。

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

cloudkit - CloudKit: 削除されたレコードの CKQueryOperation

を使用せずに、最近削除されたアイテム (おそらく特定のタイムスタンプから) を CloudKit にクエリする方法はありますCKFetchRecordChangesOperationか? 私はパブリック データベースを使用しているため、カスタム ゾーンを使用できません (これは の要件になりますCKFetchRecordChangesOperation) ... そのため、パブリック データベースでこれをシミュレートする方法が必要です。

CloudKit レコードの変更について、ローカルの Core Data キャッシュを効率的に更新できるようにしたいと考えています。CloudKit レコードを照会すると、CKRecord にはcreationDateandmodificationDateプロパティがあり、最近作成または変更されたレコードを照会できますが、CloudKit で削除されたレコードでは機能しません。

ここで効果的な戦略は何でしょうか?

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

ios - CKFetchRecordChangesOperation がジャンク データを最初に返す

previousServerToken が null の場合、CKFetchRecordChangesOperation は最初のデータ セットをダウンロードするために複数のパスを必要とするように見え、moreComing フラグがクリアされるまで再試行します。

レコードが多すぎるからではありません。私のテストでは、約 40 のメンバー レコードしかなく、それぞれが 6 つのグループのいずれかに属しています。

最初のパスでは、不適切な形式のメンバー レコードが 2 つ与えられます。2 番目のパスでは、まだダウンロードされていない、または何もダウンロードされていないグループからいくつかのメンバー レコードが送信されることがあります。3 回目のパスの後でのみ、残りのすべてのグループとメンバーが期待どおりにダウンロードされます。

なぜこれが考えられるのでしょうか?

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

cloudkit - CKFetchDatabaseChangesOperation がレコード ゾーン ID を返さない

アプリで CloudKit を使用しており、WWDC ビデオ「CloudKit のベスト プラクティス」のベスト プラクティスに従うことから始めました。

最初に行うことは、私が好きな変更を確認することです。

フェッチを設定しているプラ​​イベート データベースにレコードがありますが、取得できるのはchangeTokenUpdatedBlockとだけfetchDatabaseChangesCompletionです。

recordZoneWithIDChangedBlockこの操作を実行すると、ヒットが発生し、プライベート データベースのデフォルト ゾーンがこのブロックに渡されることを期待する必要があると言うのは正しいですか?

これは、 my を呼び出したときにfetchDatabaseChangesCompletion、レコード ゾーン ID の配列が空であるため、取得するものが何もないことを意味します: (注意、errornil です)