2015-02-25 4 views
0

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

Я реализовал

   _metadataQuery = [[NSMetadataQuery alloc] init]; 
       _metadataQuery.searchScopes = @[NSMetadataQueryUbiquitousDataScope]; 
       _metadataQuery.predicate = [NSPredicate predicateWithFormat:@"%K like %@", NSMetadataItemFSNameKey, fileName]; 
       [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(metadataQueryDidUpdate:) name:NSMetadataQueryDidUpdateNotification object:_metadataQuery]; 
       [_metadataQuery startQuery]; 

и это дозвонились, например, когда я сохраняю документ (так, в основном, он работает).

А также

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(documentStateChanged:) name:UIDocumentStateChangedNotification object:self]; 

для подклассов UIDocument.

В Xcode я вижу некоторые действия для загрузки мое приложение после того, как я делаю изменения на другом устройстве ... (но никогда не показывают каких-либо закачивать деятельности, даже если я вижу на других данных устройств, получающих быть актуализированы)

Но соответствующие методы не вызываются. Если я делаю холодный перезапуск приложения - все в порядке (я получаю «новые» данные).

Любые идеи, которые могут отсутствовать? Примечания: может быть это как-то отношение - я закрываю документ сразу после прочтения, поэтому документ, как правило, в состоянии «закрыт» ...

ответ

0

Кажется, я повторно неправильный пример, пришлось использовать

_metadataQuery.searchScopes = @ [NSMetadataQueryUbiquitous Документы Сфера];

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