问题标签 [nsfilewrapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何处理通过电子邮件发送到非 iOS 平台的 NSFileWrapper 文件?
我正在查看 NSFileWrapper 类,它在 iOS 上将许多文件组合成一个逻辑文件。(演示)
其他平台如何与这种格式交互?当通过电子邮件/http 发送此文档类型时会发生什么?
ios - 获取包内容作为 NSData
我的应用程序将一些备份文件创建为包(实际上是带有扩展名的目录,以及符合 com.apple.package 的导出 UTI)。
我希望能够将它们读取为 NSData,我可以将其附加到 MFMailComposeViewController 中的电子邮件。实际上,它不起作用,因为dataWithContentsOfURL:
当我尝试读取包时返回 nil (我认为因为它是一个目录,而不是一个常规文件)。
我知道我的包文件很好,因为当我从我的 iPhone 下载“应用程序容器”时,我可以在我的 Mac 上访问它们。
我使用 NSFileWrappers 生成它们,并调用该writeToURL:options:originalContentsURL:error:
方法。我不想使用serializedRepresentation
,因为它生成只能由 NSFileWrapper 读取的 NSData(我希望能够通过单击“显示包内容”在我的 Mac 上打开它们)。
这是不起作用的代码部分:
(data = nil
而文件已经创建好)
谢谢您的帮助
ios - 使用自定义文件包 UTI 导出 UIDocument
我正在尝试UIDocument
使用UIDocumentPickerViewController
. 子类将数据写入 aFileWrapper
并且其 UTI 符合com.apple.package
.
但呈现的文档选择器显示“iCloud Drive 中的文档不可用,因为 iCloud Drive 设置已禁用。”
文档成功写入缓存,从导出的容器包中可以看出。
当我更改文档子类和自定义 UTI 以符合单个文件(例如public.plain-text
)时,文档选择器工作正常,我可以导出文件。所以问题似乎出在文档类型或导出的 UTI 上。
我做错了什么还是这是一个错误?
信息列表
CustomDocument.swift
ViewController.swift
ios - (为什么)我应该在打开的文档中保留指向 FileWrapper 的指针吗?
我有一个基于 iOS 和 macOS 目标的工作文档项目。该文档是一个捆绑包,我让每个目标都能够从另一个目标打开文件。我正在查看有关 UIDocument 的一些在线教程(尤其是Ray Wenderlich 的这篇教程),他们在文档类中为 (NS)FileWrapper 保留了一个变量。我目前让我的模型在每次需要时懒惰地创建一个 FileWrapper。read(from fileWrapper: FileWrapper, ofType typeName: String)
当我在 NSDocument 或UIDocument 上解压缩模型对象时,我也会丢弃load(fromContents contents: Any, ofType typeName: String?)
fileWrapper。在文档打开时保留 FileWrapper 是否有任何充分的理由,或者我采用的方法是否同样有效?谢谢。
ios - 使用 iCloud 存储的 iOS 应用正在向我的文档添加 .icloud 文件扩展名
在我的 iOS (swift 3.0) 移动应用程序中,创建要存储在 iCloud 中的文档的设备能够再次加载和操作该文件。iCloud 将文件传输到另一台设备后,它们将无法再打开并显示“.”。附加到原始文件名和 .icloud 附加到末尾。
我的文档结构如下:
Project_Name.spp(目录文件包装器)包含一个project.data文件和其他目录文件包装器Page_Name.spg包含page.meta、page.plist和screenshot.jpg
除根目录文件包装器外,所有文件均重命名为:.project.data.icloud
这以前没有发生过,所以我不确定是什么代码更新会产生这种行为。任何想法都会有所帮助。
ios - 文件重命名失败,设备上的 NSCocoaErrorDomain Code=513
我正在尝试重命名文件(FileWrapper
包含UIDocument
子类),如下所示:
…但它在 上失败moveItem
,出现以下错误:
错误域=NSCocoaErrorDomain 代码=513 ““<strong>from_file”无法移动,因为您没有访问“<strong>My_folder”的权限。” UserInfo={NSSourceFilePathErrorKey=/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/ My_folder / from_file , NSUserStringVariant=(Move), NSDestinationFilePath=/private/var/mobile/Library/Mobile Documents/com~apple ~CloudDocs/ My_folder / to_file , NSFilePath=/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/ My_folder / from_file , NSUnderlyingError=0x1c1240ab0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not allowed"}}
有趣的是,它在模拟器上运行良好。
有人可以帮我解决这个问题吗?(x-张贴在 Apple 论坛上)
ios - 处理包含多个图像的 UIDocument 中的图像加载/存储
我有一个简单的模型对象Location
,其中包含一些文本项和一个images : [UIImages]?
. Location
所以Codable
我将文本位存储为 JSON,然后将图像写入相同的FileWrapper
.
我的问题是如何存储图像文件和 [UIImage] 数组之间的关系。图像必须以相同的顺序返回。有没有办法可以挂接到编码中,以便数组被指向图像的 URL 替换?
或者,我是否应该始终将图像作为单独的文件,例如在缓存目录中,并将 [UIImage] 替换为 [URL]
swift - 如何在 Swift 中将文件保存到具有自定义扩展名的文档包中
我需要将在我的 OSX 应用程序中创建的多个文件捆绑到具有自定义文件扩展名的文档包中,以后可以打开该文件进行修改/播放/等。
例如,我想保存以下文件:
- 快速时间.mov
- 文本.txt
- 信息列表
归档一个名为mybundle.cust
我基本上想做这个人在这里做的事情:
如何创建类似于 Logic 或 Final Cut 项目的打包文件
但我是 Swift 新手,一直在努力寻找解决此问题的示例代码。有人可以给我一个简单的开端吗?
ios - UIDocument、FileWrapper 和第三方文件提供程序
我在我的应用程序中使用文档包(通过 FileWrapper API),并且我正在使用 UIDocumentBrowserViewController 类进行文档管理。文档包基本上代表(文本)文件和文件夹的层次结构。当文档存储在设备或 iCloud 中时,一切正常。但是,当我尝试在远程位置创建文档时,情况就不同了,访问权限由第三方文件提供商提供,例如 Google Drive、Microsoft One Drive 或 Dropbox。每次我尝试在任何这些位置创建文档时,我都会调用 importHandler(fileURL, .move):
Dropbox:失败并出现一般错误消息:“操作无法完成。(DBFileProviderErrorDomain 错误 1。)”;
Google Drive:失败并显示略有不同的消息:“操作无法完成。(com.apple.DocumentManager 错误 1。)”
MS OneDrive:似乎成功了,但在尝试打开新创建的文档时,应用程序会收到一个 OS_dispatch_data 对象,而不是它所期望的 FileWrapper 对象。
我不确定发生了什么。我唯一能想到的是文档包仅在 Apple 文件系统上受支持。
非常感谢任何建议。谢谢你。
objective-c - 使用 NSFileWrapper 时,有没有办法通过多次写入 NSData 对象块来处理巨大的输出文件?
我是一个 macOS Cocoa 应用程序,我需要以我的应用程序专有格式保存一个 Bundle。出于这个原因,我决定查看 NSFileWrapper ,它似乎是处理该问题的最干净的解决方案。我的代码如下所示:
我的问题是我最终使用了非常大的 NSData 对象,这种方法需要大量内存。有没有办法使用 NSFileWrapper 按顺序编写小的 NSData 对象?任何帮助是极大的赞赏。