- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 iCloud Drive 中执行 NSMetadataQuery
时出现以下错误:
[ERROR] cannot query iCloud Drive items: Error Domain=BRCloudDocsErrorDomain Code=16 "Sync is restricted for this client" UserInfo={NSDescription=Sync is restricted for this client}
我有一个免费的开发者帐户。但是,我没有发现任何有关使用付费开发者帐户以在 iCloud Drive 中使用 NSMetadataQuery
的要求。
请注意,我发现必须使用付费开发者帐户才能使用与 iCloud Drive 不同的 iCloud Key-Value 和文档存储。
我使用以下代码进行查询(调用 Test().getAllFilesIniCloud()
):
class Test {
let metadataQuery = NSMetadataQuery()
func getAllFilesIniCloud() {
metadataQuery.searchScopes = [
NSMetadataQueryUbiquitousDocumentsScope,
NSMetadataQueryUbiquitousDataScope,
NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope,
]
let predicate = NSPredicate { (any, dict) -> Bool in
print(any as Any, dict as Any)
return false
}
metadataQuery.predicate = predicate
NotificationCenter.default.addObserver(
self,
selector: #selector(self.queryDidFinishGathering(_:)),
name: .NSMetadataQueryDidFinishGathering,
object: metadataQuery)
NotificationCenter.default.addObserver(
self,
selector: #selector(self.queryDidStart(_:)),
name: .NSMetadataQueryDidStartGathering,
object: metadataQuery)
NotificationCenter.default.addObserver(
self,
selector: #selector(self.queryDidUpdate(_:)),
name: .NSMetadataQueryDidUpdate,
object: metadataQuery)
NotificationCenter.default.addObserver(
self,
selector: #selector(self.queryGathering(_:)),
name: .NSMetadataQueryGatheringProgress,
object: metadataQuery)
metadataQuery.enableUpdates()
if metadataQuery.start() {
print("query did start")
}
}
@objc func queryGathering(_ notification: NSNotification) {
print("gathering")
self.getValuesOf(notification: notification)
}
@objc func queryDidStart(_ notification: NSNotification) {
print("didStart")
self.getValuesOf(notification: notification)
}
@objc func queryDidUpdate(_ notification: NSNotification) {
print("didUpdate")
self.getValuesOf(notification: notification)
}
@objc func queryDidFinishGathering(_ notification: NSNotification) {
print("didFinish gathering")
metadataQuery.disableUpdates()
metadataQuery.stop()
self.getValuesOf(notification: notification)
}
func getValuesOf(notification: NSNotification) {
let metadataQuery = notification.object as! NSMetadataQuery
metadataQuery.disableUpdates()
for item in metadataQuery.results as! [NSMetadataItem] {
let url = item.value(forAttribute: NSMetadataItemURLKey) as! URL
print(url)
}
metadataQuery.enableUpdates()
}
}
当开始查询时,它只打印:
didStart
... [default] [ERROR] cannot query iCloud Drive items: Error Domain=BRCloudDocsErrorDomain Code=16 "Sync is restricted for this client" UserInfo={NSDescription=Sync is restricted for this client}
query did start
最佳答案
你需要在你的项目中添加iCloud到Capability,然后选择key-value + iCloud Documents + 添加你的容器。我遇到了同样的问题。
关于ios - 在 iCloud Drive 中执行 `NSMetadataQuery` 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57380800/
我正在尝试使用 NSMetaDataQuery 在 iCloud 中探索我的应用可用的文件。我能够开始查询,但它永远不会结束。这是我的代码。 func report1() { let file
我正在寻找一个可以从 Cocoa API 中使用的类,以在整个系统上执行 Spotlight 搜索。我查看了 NSMetadataQuery 并相信这是这个类,但是我不明白如何做到这一点;主要是NSP
我正在尝试创建一个带有谓词的 NSMetadataQuery。在某一时刻,我可能想要收集 iCloud 在另一时刻可能拥有的所有图像的所有视频。别的什么都不要,就是搜视频或者搜图。不能同时进行。 我创
使用在 iOS 10 上运行的 xcode 8。尝试组合一个 super 简单的 NSMetadataQuery。现在腰部差不多一天了。设法让它进行查询,但它没有从我的 iCloud 返回任何文档,没
我尝试在我的 Mac 上列出我制作的应用程序的所有文件。我使用 NSMetadataQuery 但它不起作用。 代码如下: import Cocoa class ViewController: NSV
我正在尝试一些代码来使用 NSMetaDataQuery 获取基于应用程序路径 在捆绑标识符上。我正在关注在 apple dev 中找到的 hte 示例代码站点:静态 Spotlight 搜索实现。
我无法理解更新如何使用 NSMetadataQuery。 我正在尝试确定文件是否已从 iCloud 下载完成。我最初的查询很清楚地告诉我文件没有下载,我可以开始下载,但如果下载文件需要任何时间,我想设
我正在使用 UIManagedDocument 来管理我在 iCloud 中的文件。像这样设置 NSMetadataQuery 之后: iCloudQuery = [[NSMetadataQuery
我正在尝试执行 NSMetadataQuery在 本地 macOS 文件夹 (不在 iCloud 中)像这样使用 Appkit: let query = NSMetadataQuery()
我正在为我的应用程序制作一个备份管理器(通过 iCloud)。我做了一些测试,基本原理有效。但几天后就停了。我正在使用 NSMetadataQuery 搜索备份文件是否存在。我的备份文件名为例如Bac
原始搜索运行良好,但查询不会注意到对不可见项目的任何更改。 可以再次运行查询,它将找到更新。 查询非零,并且尚未取消订阅聚光灯通知。 这是错误还是预期行为? 我已经在几个不同的项目中对此进行了多次测试
我在聚光灯执行时对本地数据执行查询(NSMetadataQuery),并根据文件的修改日期对结果进行排序,到目前为止一切正常。但我无法理解如何对结果进行分组,例如我希望应用程序在一组中,文档在其他组中
我正在编写一个应用程序,可以在本地和 iCloud 上保存和加载文档。本地工作正常,但我在使用 iCloud 时遇到问题。 文档被保存为一个包 - UIDocument 读取和写入一个 NSFileW
我正在执行 NSMetadataQuery,并获取文件和目录的所有 URL。 func initSearchQuery(){ print("\(logClassName): initSearc
我有以下代码: // Main thread NotificationCenter.default.addObserver( self, selector:#selector(queryDid
默认情况下,NSMetaDataQuery 结果通知在主线程上接收。似乎您必须在主线程上调用 query.startQuery,但您可以使用 [query.setOperationQueue:] 设置
我尝试使用 NSMetadataQuery 和 NSPredicate 来搜索文件。经过几个小时的尝试和搜索解决方案(我是 swift 的新手),我有一个小例子。它编译得很好,但结果为零。我尝试了不同
当我禁用 iCloud 时,我似乎无法让 NSMetadataQuery 工作。我输入了有效的搜索 URL,但它从未注册为完成: //Check for iCloud NSURL *ubiq = [[
我试图限制 NSMetadataQuery 项的范围。我知道有 -setSearchScope: 方法(请参阅 docs ),但它只能让我决定项目将在哪些目录中搜索。 如果我需要从范围中排除一个或多个
在我的 Mac 应用程序中,我有一个 NSMetadataQuery 来查看应用程序的 iCloud 目录。当用户决定从应用程序内启用 iCloud 时,我按以下顺序执行以下操作: 调用 [[NSFi
我是一名优秀的程序员,十分优秀!