gpt4 book ai didi

objective-c - 如何在 OSX 上基于文档的应用程序中导出包文件?

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:43 27 4
gpt4 key购买 nike

在我的应用程序中,我想加载用户选择的某些图像,进行一些修改,然后以我自己的文件格式保存一份副本。因为我想跟踪用户修改,所以我决定将我的文件导出为一个包(包)。

因此,在我的文档类中,有一个保存图像文件的 NSImage 对象。在 fileWrapperOfType:error: 方法中,我设置了一个 NSFileWrapper 对象,并将该对象放入其中。这是代码:

NSDictionary *fileWrappers = [self.documentFileWrapper fileWrappers];
if (image != nil) {
NSBitmapImageRep *imageRep = [image bitmapImageRepresentation];
NSData *imageData = [imageRep representationUsingType:NSPNGFileType properties:nil];
NSFileWrapper *imageFileWrapper = [[NSFileWrapper alloc]
initRegularFileWithContents:imageData];
[imageFileWrapper setPreferredFilename:@"image"];

[[self documentFileWrapper] addFileWrapper:imageFileWrapper];
}

return self.documentFileWrapper;

在我的项目 plist 文件中,我有两种文档类型,第一种是 public.image 类型,因为我需要在我的应用程序中加载图像:

enter image description here

另一种是我自己的文档类型。为了使文件成为一个包,我在 xcode 中选中了 bundle 复选框:

enter image description here

如果我现在简单地运行它,代码会提示从类型标识符中查找扩展已被弃用,因此,我设法在 Exported UTIs 中添加了一个条目:

enter image description here

此刻,一切似乎都正常,除了输出的带有 mdc 扩展名的 folder 确实是一个文件夹而不是一个包,我在这里错过了什么?提前致谢!

最佳答案

最后我解决了这个问题,这里的关键是将Conforms To字段更改为com.apple.package

关于objective-c - 如何在 OSX 上基于文档的应用程序中导出包文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23179789/

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