Моя база данных CloudKit генерирует новый токен изменений каждый раз, когда я запрашиваю его об изменениях, даже если никаких изменений не было сделано.
Я рад опубликовать код, но не думаю, что это имеет отношение к вопросу, и я не хочу перегружать пост.Я публикую ниже некоторые результаты консоли, которые я использую для отладки, чтобы показать, что я сохраняю и использую токены, но база данных отправляет новые при каждой синхронизации.Как видите, я ничего не меняю в базе данных.Для справки: зона записи не каждый раз отправляет новые токены, только база данных.
Это ожидаемое поведение?Если нет, какие-либо мысли о том, почему / как это происходит?
? SyncOperation fires on Simulator, Private ?
☣️ FetchDatabaseChangesOperation fires ?
☣️ FetchDatabaseChangesOperation changeTokenUpdatedBlock
☣️ token used: <CKServerChangeToken: 0x7b04000029f0; data=AQAAAWpzvY7V>
☣️ server says: <CKServerChangeToken: 0x7b0400025330; data=AQAAAWpzvoVX>
☣️ saving token: <CKServerChangeToken: 0x7b0400001130; data=AQAAAWpzvoVX>
☣️ FetchDatabaseChangesOperation complete ?? ⏱0.26
? FetchRecordZoneChangesOperation no changes ??
? ModifyObjectsOperation - no changes ??
? UploadChangesOperation - no uploads ??
? ModifyObjectsOperation - no changes ??
? SyncOperation complete ?? ⏱0.28
☁️ ? Pull to refresh fires
? SyncOperation fires on Simulator, Private ?
☣️ FetchDatabaseChangesOperation fires ?
☣️ FetchDatabaseChangesOperation changeTokenUpdatedBlock
☣️ token used: <CKServerChangeToken: 0x7b0400001f50; data=AQAAAWpzvoVX>
☣️ server says: <CKServerChangeToken: 0x7b0400001e90; data=AQAAAWpzvopq>
☣️ saving token: <CKServerChangeToken: 0x7b0400025350; data=AQAAAWpzvopq>
☣️ FetchDatabaseChangesOperation complete ?? ⏱0.24
? FetchRecordZoneChangesOperation no changes ??
? ModifyObjectsOperation - no changes ??
? UploadChangesOperation - no uploads ??
? ModifyObjectsOperation - no changes ??
? SyncOperation complete ?? ⏱0.25
☁️ ? Pull to refresh fires
? SyncOperation fires on Simulator, Private ?
☣️ FetchDatabaseChangesOperation fires ?
☣️ FetchDatabaseChangesOperation changeTokenUpdatedBlock
☣️ token used: <CKServerChangeToken: 0x7b0400001f50; data=AQAAAWpzvopq>
☣️ server says: <CKServerChangeToken: 0x7b0400000d00; data=AQAAAWpzvo3P>
☣️ saving token: <CKServerChangeToken: 0x7b0400026840; data=AQAAAWpzvo3P>
☣️ FetchDatabaseChangesOperation complete ?? ⏱0.13
? FetchRecordZoneChangesOperation no changes ??
? ModifyObjectsOperation - no changes ??
? UploadChangesOperation - no uploads ??
? ModifyObjectsOperation - no changes ??
? SyncOperation complete ?? ⏱0.13
РЕДАКТИРОВАТЬ ДОБАВИТЬ:
Если я перехожу к панели мониторинга и выбираю изменения зоны с тех пор любой из этих жетонов изменений, это дает мне правильный ответ, что никаких изменений нет:
Я не понимаю, почемугенерирует новые токены, если нет новых изменений?