ну, я заметил, что прошло около 4 месяцев после того, как вы задали этот вопрос. Может быть, это поможет другим ищущим здесь душам.
По сути, в iOS вы сначала открываете UIDocument, запрашивая все документы, а затем открывая то, что iCloud отвечает вам. Вот как вы начинаете запрос:
NSURL *baseURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (baseURL)
{
_metadataQuery = [[NSMetadataQuery alloc] init];
[_metadataQuery setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like '*'", NSMetadataItemFSNameKey];
[_metadataQuery setPredicate:predicate];
CL_DLog(@"Start query - %d",[_metadataQuery startQuery]);
}
Перед выполнением кода выше подпишитесь на эти уведомления, чтобы получить ответ.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinish:) name:NSMetadataQueryDidFinishGatheringNotification object:_metadataQuery];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinish:) name:NSMetadataQueryDidUpdateNotification object:_metadataQuery];
Тогда в своем ответе вы можете открыть документ
YourUIDocumentClassName * document = [[YourUIDocumentClassName alloc] initWithFileURL: documentURL];
if ([document documentState] != UIDocumentStateClosed)
{
CL_DLog(@"FYI - metadata document state is not StateClosed.");
}
[document openWithCompletionHandler:^(BOOL success) {
....
Вы можете проверить сеанс Apple на icloud и UIDocument https://developer.apple.com/videos/wwdc/2012/?id=218
Надеюсь, это поможет.
person
Dannie P
schedule
23.01.2013