2012-02-12 2 views
0

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

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

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

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

ответ

0

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

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

+0

В качестве эксперимента я добавил код в свое приложение, в котором использовалась публикация облачных значений для ключевых слов, чтобы отслеживать, когда были обновлены категории контента в моей базе данных, и по тому, что UUID, а затем использовала эту метку даты для элементов цвета в пользовательском интерфейсе, который представлял операторы. – Feldur

+0

Эксперимент не сработал, так как никогда не нашел случая, когда данные с ключом обновлялись раньше фактических транзакций основных данных. Мой алгоритм регистрации дат значения ключа таков, что дата-метра всегда будет обновляться после транзакции данных, если они будут сериализованы во времени или даже в том же журнале. Это коррелированное поведение, хотя и вполне правдоподобное, не является тем, что я видел в явном виде. – Feldur

+0

Благодарим за отправку результатов. –

Смежные вопросы