我正在尝试使用UIDocumentPickerViewController导出我的UIDocument子类。子类将数据写入FileWrapper,其UTI符合com.apple.package。但出现的文档选择器显示“iCloudDrive中的文档不可用,因为iCloudDrive设置已禁用。”从导出的容器包中可以看出,文档已经成功写入缓存。当我更改文档子类和自定义UTI以符合单个文件(例如public.plain-text)时,文档选择器工作正常并且我可以导出文件。所以问题似乎出在文档类型或导出的UTI上。我做错了什么还是这是一个错误?Info.plistCFBundleDocume
我有一个应用程序正在使用NSFileWrapper创建用户数据的备份。此备份文件包含文本和媒体文件(此处与压缩无关)。有时这些备份文件会变得非常大,超过200MB。当我调用NSFileWrapper-writeToURL...时,它似乎将整个内容加载到内存中作为写入过程的一部分。在旧设备上,这会导致我的应用程序因内存限制而被系统终止。是否有一种简单的方法可以避免NSFileWrapper将所有内容加载到内存中?我已经通读了这里所有我能找到的NSFileWrapper问题。关于如何解决这个问题有什么建议吗?这是备份文件的当前文件结构:BackupContents.backupxyz用户.
假设我有一个NSFileWrapper目录。该目录由几级目录和文件组成。有些文件很大。这些文件是全部加载到内存中,还是延迟加载?如果它们被加载到内存中,是否有任何替代NSFileWrapper的替代品具有类似的功能,不会将文件加载到内存中?我可以挂接到UIDocument中的东西吗?这是基于文档的应用程序,它使用与iCloud同步的UIDocument。文档中可以嵌入图像和视频。每个图像/视频都有一个显示在HTML文档中的预览图像(缩略图)。全尺寸图像或视频不应加载到内存中,而应按需加载。我还需要一种方法来添加资源而不将其加载到内存中。像“initWithAsset:(ALAsset*
我有一个基于UIDocument的应用程序,它使用NSFileWrapper来存储数据。“主”文件包装器包含许多其他目录文件包装器,每个包装器代表文档的不同页面。当保存一个只有一小部分页面被修改的大型文档时,UIDocument会在后台花费很长时间写入更改(在writeContents:andAttributes:safelyToURL中:forSaveOperation:错误:)。当然,它应该只写出对文件包装器的这一小改动……为什么要花这么长时间?我的contentsForType:error:覆盖返回一个新的目录文件包装器,其中包含主文件包装器的内容(laWWDC2012Sessi
我们最近将代码转换为使用UIDocument而不是直接在文件系统上操作文件,因此我们遇到了一些性能问题。我们想知道我们是否错误地使用了这个类,是否有其他人遇到过这些问题,以及解决这些问题的常用方法是什么。我们的应用我们有一个“鞋盒应用程序”来管理一堆文档,每个文档都包含多个可能非常重的图像文件、一个小的元数据文件和一个小的预览图像。用户的设备上可能有很多文档(1000多个文档)。每个文档的文件都分组在一个目录中,我们使用NSFileWrapper来读取和写入它们。当我们的应用程序启动时,它需要所有文档的元数据才能显示文档索引和预览图像的子集。用户滚动时会加载更多预览图像。为了获取该信息
我有以下Objective-C代码:NSFileWrapper*fileWrapper;NSMutableDictionary*wrappers=[NSMutableDictionarydictionary];...fileWrapper=[[NSFileWrapperalloc]initDirectoryWithFileWrappers:wrappers];我尝试将上面的代码转换为Swift:varfileWrapper:NSFileWrapper?letwrappers=NSMutableDictionary(dictionary:[:])....fileWrapper=NSFil
我想让我的应用程序文件系统保留其中每个文件的元数据,但也支持在用户端创建目录。我看过NSFileWrapper但它似乎将带有元数据的文件保存为目录。这是有道理的,但是现在我如何区分实际目录和NSFileWrapper目录?或者我应该改为在每个目录中使用隐藏的plist文件来跟踪元数据?在此先感谢您的帮助! 最佳答案 您可以使用setxattr在文件上存储额外的元数据键/值对。马特·汤普森(MatttThompson)在NSHipster上撰写了一篇出色的深度文章.这是文章中的示例,展示了如何设置属性值:#includeconstch
我有一个应用程序使用基于NSFileWrapper的UIDocument。我的文件包装器是一个名为“XXX.cp”的目录,有两个子文件“photo.data”和“photo.metadata”。它似乎可以很好地保存和加载文档,但是当我转到Settings\ManageStorage\Unknown时,子文件单独列出:我原以为它会显示“XXX.cp”而不是这两个子文件。我想我已正确设置和导出文档UTI:而且我认为我正在正确创建文件包装器(特别是因为它读/写良好):-(void)encodeObject:(id)objecttoWrappers:(NSMutableDictionary*)