Задержка распространения SQLite через iCloud - PullRequest
0 голосов
/ 12 февраля 2012

Я создал приложение SQLite в стиле библиотеки, используя код из примера приложения Recipes, и оно работает - обновления на одном устройстве (в конечном итоге) надежно распространяются на все другие устройства, на которых запущено то же приложение.Я тестировал его с несколькими событиями в час в течение всего дня, и все журналы транзакций попадают на каждое устройство.Однако время распространения обновлений сильно варьируется.Если я открою приложение и оставлю его в покое, пройдет довольно много времени, прежде чем облако отправит в приложение транзакции обновления, и поэтому то, что на экране останется старыми данными в течение того же самого долгого времени.Хуже того, нет никаких признаков того, что данные устарели.

Если я заставлю приложение опубликовать изменение в облаке, обновятся с распространения облакавниз сравнительно скоро.Это говорит о том, что я мог бы использовать хак, который периодически публикует бессмысленные изменения в базе данных, но даже тогда я не буду знать, получил ли я все изменения.

Первый вопрос: есть ли методы, которые будут форсировать транзакцииразмножаться существует? a Эта тема предлагает не.

Второй вопрос: есть ли способ определить, устарела ли локальная база данных?Я не хочу беспрерывно щекотать облачную копию, но делать это время от времени, пока база данных не станет текущей, может оказаться не такой уж плохой идеей.

1 Ответ

0 голосов
/ 13 февраля 2012

1) если вы найдете такие методы, пожалуйста, дайте мне знать.

2) здесь тоже самое. Я даже не нашел надежного способа определить, является ли запущенный в данный момент экземпляр приложения iCloud первым, т. Е. Другие экземпляры уже отправили обновления в iCloud до получения первого нажатия (что может занять некоторое неизвестное время)

...