我有一个适用于iCloud的应用程序 - 我可以毫无问题地创建,保存和编辑文件。
我遇到的问题是在其他设备上全新安装该应用。由于它是全新安装,无处不在的文件夹存在但没有任何内容。我想知道如何在远程 iCloud文件夹中搜索新安装的应用,该应用的帐户和文件名与在云端存储文档的原始应用相同。
我知道有这个功能:
[NSFileManager defaultManager] setUbiquitous: itemAtURL:destinationURL: error:
'setUbiquitous'可以设置为NO,itemAtURL是iCLoud远程URL,destinationURL是[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]返回的文件路径
但是如何获得itemAtURL,这听起来像是一个远程URL?或者这是一个错误的函数来调用?
更新:这是我的查询功能
NSMetadataQuery * tmpQuery = [[NSMetadataQuery alloc] init]; _query = tmpQuery;
[tmpQuery setSearchScopes:[NSArray arrayWithObjects: NSMetadataQueryUbiquitousDocumentsScope, nil]];
NSPredicate *tmpPred = [NSPredicate predicateWithFormat:@"%K == %@", NSMetadataItemFSNameKey, inDocName];
[tmpQuery setPredicate:tmpPred];
// we must add this so that we know when the query has completed
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:_query];
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(iCloudQueryDidUpdate:)
name:NSMetadataQueryDidUpdateNotification
object:_query];
});
[tmpQuery startQuery];
我认为这可能是我正在测试的方式。如果我从设备中删除了该应用,然后进入设置> iCloud并删除文档,似乎我也是从iCloud服务器中删除它们。可能是这种情况吗?