gpt4 book ai didi

ios - 从应用程序访问 iCloud Drive 文件

转载 作者:可可西里 更新时间:2023-11-01 06:17:35 27 4
gpt4 key购买 nike

我想在我的应用程序中支持 iCloud,以便我可以存储和获取 PDF 文件。我的问题是“如何在不使用 UIDocumentPickerViewController 的情况下访问 iCloud 驱动器文件”。其实我想在我的应用程序中有自定义文件列表。

我试过这段代码

- (void) getAllFilesIniCloud
{
queryData = [[NSMetadataQuery alloc] init];
[queryData setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope]];
NSPredicate *pred = [NSPredicate predicateWithFormat: @"%K like '*.'", NSMetadataItemFSNameKey];
[queryData setPredicate:pred];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(queryDidFinishGathering:)
name:NSMetadataQueryDidFinishGatheringNotification
object:queryData];
[queryData startQuery];
}

- (void)queryDidFinishGathering:(NSNotification *)notification
{
NSMetadataQuery *pQuery = [notification object];
[pQuery disableUpdates];
[pQuery stopQuery];
[pFilesArray removeAllObjects];
for (NSMetadataItem *item in [query results])
{
NSURL *url = [item valueForAttribute:NSMetadataItemURLKey];
NSString * name = url.lastPathComponent;

if ([[name pathExtension] isEqualToString:@"pdf"] || [[name pathExtension] isEqualToString:@"PDF"])
{
NSString *fileName = [url.absoluteString lastPathComponent];

if (url && ![pFilesArray containsObject:fileName])
{
[pFilesArray addObject:fileName];
}

}
}
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSMetadataQueryDidFinishGatheringNotification object:pQuery];

queryData = nil;
[pTableView reloadData];
}

也尝试了范围

NSMetadataQueryUbiquitousDataScope
NSMetadataQueryUbiquitousDocumentsScope
NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope

我知道这段代码适用于 iCloud 中的应用程序目录。但是,如果用户将文件存储在 Mac 的 iCloud 中或通过网络存储,那么我的应用程序也应该能够访问该文件。

最佳答案

我遇到了同样的问题,请通过此线程在 iCloud 上进行澄清 https://forums.xamarin.com/discussion/comment/283726#Comment_283726

关于ios - 从应用程序访问 iCloud Drive 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33039718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com