gpt4 book ai didi

icloud - 如何让 NSMetadataQuery 将我保存的文档文件夹视为包?

转载 作者:行者123 更新时间:2023-12-01 04:03:50 24 4
gpt4 key购买 nike

我正在编写一个应用程序,可以在本地和 iCloud 上保存和加载文档。本地工作正常,但我在使用 iCloud 时遇到问题。

文档被保存为一个包 - UIDocument 读取和写入一个 NSFileWrapper,其中包含一个图像文件、一个缩略图文件和一个信息 plist。当我将文档保存到 iCloud 然后查看“管理存储”下的文件时,我看到的是单个文件而不是包;更重要的是,当我使用 NSMetadataQuery 搜索文件时,它会为每个单独的文件而不是包返回一个 NSMetadataItem。结果,我的应用程序没有意识到有任何包要加载,而 iCloud 非常无用。

我认为如果我设置了文档类型并正确导出了 UTI,那么这些包将得到正确处理。对吗?如果是这样,将文档类型设置为包的 list 是什么?我有:

  • 添加了文档类型
  • 将 LSTypeIsPackage 设置为 YES(我试过 string YES 和 bool YES)
  • 将 CFBundleTypeExtensions 设置为包含一个字符串的数组:文件后缀
  • 将 LSHandlerRank 设置为所有者
  • 导出具有相同标识符的 UTI
  • 将其设置为符合 com.apple.package
  • 添加了一个 UITypeTagSpecification 字典,其中包含一个键 public.filename-extension 的数组,其中包含一个字符串:文件后缀

  • 我也尝试添加一个匹配的导入 UTI 来匹配导出的 UTI,但没有运气。

    我错过了什么?

    更新:我注意到 this question 中的 OP正在看到我想要的行为(即使他不想要),所以它一定是可能的。

    最佳答案

    基于 this我尝试从我的 plist 中删除 LSItemContentTypes,它奏效了。

    关于icloud - 如何让 NSMetadataQuery 将我保存的文档文件夹视为包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962324/

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