在iOS应用程序上添加自定义文件类型支持时,CFBundleTypeIconFile数组是否是强制性的?

icomxhvb  于 2022-12-05  发布在  iOS
关注(0)|答案(2)|浏览(213)

在iOS应用上添加自定义文件类型支持时,CFBundleTypeIconFile数组是必需的吗?我在iOS SDK帮助中找到了不同的信息。
我们在这里看到CFBundleTypeIconFile数组是必需的:

The entry for each document type should contain the following keys:

CFBundleTypeIconFile
CFBundleTypeName
CFBundleTypeRole

In addition to these keys, it must contain at least one of the following keys:

LSItemContentTypes
CFBundleTypeExtensions
CFBundleTypeMIMETypes
CFBundleTypeOSTypes

https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-SW9
这里我们可以看到CFBundleTypeIconFile数组不是强制性的:

Each dictionary in the CFBundleDocumentTypes array can include the following keys:

CFBundleTypeName specifies the name of the document type.
CFBundleTypeIconFiles is an array of filenames for the image resources to use as the document’s icon.
LSItemContentTypes contains an array of strings with the UTI types that represent the supported file types in this group.
LSHandlerRank describes whether this application owns the document type or is merely able to open it.

https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/RegisteringtheFileTypesYourAppSupports.html#//apple_ref/doc/uid/TP40010411-SW1
真相在哪里?我可以使用空数组吗?我只是不想为文件指定自定义图像来默认使用应用程序图标。

b09cbbtk

b09cbbtk1#

文件图标看起来很好,没有特殊的图标内带。

falq053o

falq053o2#

有两个相似的键。

  • CFBundleTypeIconFile仅适用于macOS
  • CFBundleTypeIconFiles仅适用于iOS

看起来第五列中名为“平台”的详细信息解决了文档中的表面差异。
编辑:在文档中找到更多相关信息:
在macOS和iOS中指定图标文件的方式有所不同,这是因为两种平台支持的文件格式不同。在iOS中,每个图标资源文件通常是一个PNG文件,其中只包含一个图像。因此,需要为不同的图标大小指定不同的图像文件。但是,在macOS中指定图标时,您需要使用一个图标文件(扩展名为.icns),它能够以几种不同的分辨率存储图标。

相关问题