gpt4 book ai didi

objective-c - 通过扩展名注册新的 OS X 文件类型并与 Cocoa 应用程序关联

转载 作者:行者123 更新时间:2023-12-03 16:25:51 25 4
gpt4 key购买 nike

好的,事情是这样的:

  • 我有一个新应用程序,我想将其与新文件类型关联 - 假设 .xyz
  • .xyz 文件 - 如果这很重要的话 - 是一个Package 文件。

现在,我的 info.plist 的文件类型特定部分如下所示:

CFBundleDocumentTypes = (
{
CFBundleTypeExtensions = ( "xyz" );
CFBundleTypeIconFile = "xyz-icon";
CFBundleTypeName = "XYZ file";
CFBundleTypeRole = "Viewer";
LSTypeIsPackage = "1";
}
);

但是,.xyz 包文件仍然显示为文件夹,而不是单个文件(“包”)。我做错了什么?

<小时/>

提示:我过去曾设法做到这一点,但我就是不记得是否遗漏了某些内容。也许系统必须重新启动?我不知道...

最佳答案

如果您发现此 stackoverflow 页面是因为 LSTypeIsPackage 不适合您,则可能是因为您正在使用 LSItemContentTypes 来声明您的文档类型。使用 LSItemContentTypes 会使系统忽略 LSTypeIsPackage (此 stackoverflow 问题中并非如此)。

如果您使用LSItemContentTypes,则需要使导出类型符合com.apple.package。示例:

CFBundleDocumentTypes
LSItemContentTypes
Item 0 = com.example.xyz
CFBundleTypeExtensions
Item 0 = xyz
CFBundleTypeRole = Editor
etc.

UTExportedTypeDeclarations
Item 0
UTTypeIdentifier = com.example.xyz
UTTypeConformsTo
Item 0 = public.data // or whatever
Item 1 = com.apple.package <-------------
UTTypeDescription = XYZ Document
etc.

关于objective-c - 通过扩展名注册新的 OS X 文件类型并与 Cocoa 应用程序关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870155/

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