- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用在 iOS 10 上运行的 xcode 8。尝试组合一个 super 简单的 NSMetadataQuery。现在腰部差不多一天了。设法让它进行查询,但它没有从我的 iCloud 返回任何文档,没有。
class ViewController: UIViewController {
var metadataQuery: NSMetadataQuery!
var metadataQueryDidUpdateObserver: AnyObject?
var metadataQueryDidFinishGatheringObserver: AnyObject?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
metadataQuery = NSMetadataQuery()
metadataQuery?.predicate = NSPredicate(format: "NSMetadataItemFSNameKey == '*'")
metadataQuery?.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope, NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope]
NotificationCenter.default.addObserver(self, selector: #selector(initalGatherComplete), name: NSNotification.Name.NSMetadataQueryDidFinishGathering, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(queryStarted), name: NSNotification.Name.NSMetadataQueryDidUpdate, object: nil)
metadataQuery.start()
}
func queryStarted(notification: NSNotification) {
print("queryStarted")
}
func initalGatherComplete(notification: NSNotification) {
metadataQuery.stop()
metadataQuery.disableUpdates()
let resultCounter = metadataQuery.resultCount
print("%lu", resultCounter,metadataQuery.results)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.NSMetadataQueryDidFinishGathering, object: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
它什么都不返回,没有错误,没有数据,只有空洞的空间。现在我是的,我没有在本地保存任何文档,但我对本地文档不感兴趣我想要 iCloud 文档。
我的 plist 是这样说的......
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.ch.cqd.iCloudQuery</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>iCloudQuery</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
我在这里错过了什么?
最佳答案
好的,
经过大量搜索,我想我找到了答案。这个应用程序创建了自己的 iCloud 子目录 [同名],如果我将文件复制到其中;我能看到他们。它有效。
但我只能看到文件而不能看到目录,这似乎是 NSMetadataQuery 的局限性。
我的调查还带我进行了扩展,其中似乎有六个或更多。这些 UIDocument 扩展之一,但等等,这也只提供单个文件。更好的是我可以在我的通用 icloud 帐户中看到文件夹,发布了一些代码 SO question在这里工作。
有一种方法可以识别自定义代码段以打开特定文件类型,我遵循并完成了本教程。
iOS Extensions: Document Provider Tutorial
它也很好用,如果这个链接坏了,谷歌一下。但这实际上是一个文件;我想要一个文件夹。
也许这就是答案。但这并不是很理想。
关于ios - NSMetadataQuery 什么都不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39881990/
我正在尝试使用 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
我是一名优秀的程序员,十分优秀!