CFBundleTypeIconFiles or UTTypeIconFiles?

Dear Experts,

I'm attempting to make a custom icon appear in the iOS Files app, etc., for my file type. I've found a couple of bits of documentation for Info.plist keys:

https://developer.apple.com/documentation/bundleresources/information_property_list/utexportedtypedeclarations/uttypeiconfiles describes UTTypeIconFiles, to be included in UTImportedTypeDeclarations. This documentation is very sparse!

Older document https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-SW9 describes CFBundleTypeIconFiles, to be included in CFBundleDocumentTypes.

Which of these should I be using? (Both? Neither?)

Nothing I've tried so far has worked. I wonder if I need to, for example, power-cycle to make the Files app pick up the new icons.

Also, in Xcode, I've found the Imported Type Identifiers section of the Info settings which has a box labelled "Add imported type identifiers here" - but clicking + and choosing a file does nothing; the box remains empty. Anyone else have that problem?

What size should the icons be? The older document suggests some rather small sizes, e.g. 22x29; the newer doc says nothing.

Suggestions anyone?

Post not yet marked as solved Up vote post of endecotp Down vote post of endecotp
1.2k views
  • I have this question too! Plus, I'm not sure what to expect: When I run the app with debug, should I see these icons in the Files app? Mail app?

Add a Comment

Replies

Same here.

I used to list four file icons in CFBundleTypeIconFiles and forgot about them and deleted them. The file names are still listed in the CGBundleTypeIconFiles array, but there are no more files in the bundle. Interesting enough: it still works, but the system seems to create the icon itself (showing a small version of the app icon, below there is the file type - see below).

+1 looking for an answer here. This morning I was not expecting to waste hours in this theoretically trivial task 😐