Meine App Dokumenten-Icons werden seit Sierra nicht mehr in Mac Mail angezeigt (Anhänge)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Meine App Dokumenten-Icons werden seit Sierra nicht mehr in Mac Mail angezeigt (Anhänge)

    Hallo,

    ich bin neu im Forum und komme gleich mit einer Frage auf die ich nirgends eine Antwort finde :(

    Ich habe meiner Anwendung drei Dateierweiterungen und einen MIME-Typ zugewiesen. Unter Mac OSX 10.11 funktionierte es sowohl für Finder als auch für Mac Mail. Seit Sierra (10.12) zeigt Mac Mail das Dokumentsymbol für entsprechende Anhänge nicht mehr an. Scheint so, als ob Finder das nach einer Weile macht, aber Mac Mail benutzt immer das Standardsymbol. Ich habe einige Kunden, die sich beschweren, und ich kann es hier auch reproduzieren. Es ist also nicht nur meine Maschine.

    Leider scheint mir die Info.plist in Ordnung zu sein und die beiden zugewiesenen Icons (Icons) befinden sich in der .app unterhalb von /Contents/Resources/.

    Hier ist die verwendete Info.plist, die sich direkt im .app-Ordner /Contents/ befindet:

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>CFBundleIdentifier</key>
    6. <string>com.regify.client.mac</string>
    7. <key>CFBundleName</key>
    8. <string>regify client</string>
    9. <key>CFBundleDevelopmentRegion</key>
    10. <string>English</string>
    11. <key>CFBundleExecutable</key>
    12. <string>regify client</string>
    13. <key>CFBundleInfoDictionaryVersion</key>
    14. <string>6.0</string>
    15. <key>CFBundlePackageType</key>
    16. <string>APPL</string>
    17. <key>CFBundleDisplayName</key>
    18. <string>regify client</string>
    19. <key>CFBundleVersion</key>
    20. <string>0.1</string>
    21. <key>CSResourcesFileMapped</key>
    22. <true/>
    23. <key>CFBundleIconFile</key>
    24. <string>regify_128x128.icns</string>
    25. <key>CFBundleLocalizations</key>
    26. <array>
    27. <string>de</string>
    28. <string>en</string>
    29. <string>fr</string>
    30. </array>
    31. <key>CFBundleDocumentTypes</key>
    32. <array>
    33. <dict>
    34. <key>CFBundleTypeMIMETypes</key>
    35. <array>
    36. <string>application/vnd.regify</string>
    37. </array>
    38. <key>CFBundleTypeName</key>
    39. <string>regify message</string>
    40. <key>LSHandlerRank</key>
    41. <string>Default</string>
    42. <key>CFBundleTypeRole</key>
    43. <string>Editor</string>
    44. <key>CFBundleTypeIconFile</key>
    45. <string>regify_doc.icns</string>
    46. <key>CFBundleTypeExtensions</key>
    47. <array>
    48. <string>rgf</string>
    49. <string>rif</string>
    50. <string>rgk</string>
    51. </array>
    52. <key>CFBundleTypeIconFiles</key>
    53. <array>
    54. <string>regify_doc.icns</string>
    55. </array>
    56. </dict>
    57. </array>
    58. </dict>
    59. </plist>
    Alles anzeigen

    Irgendeine Idee, warum es für Mac Mail auf Sierra und High Sierra nicht mehr funktioniert? Auf Darwin und Mavericks konnte ich testen und hier funktioniert es problemlos mit der gleichen .app und den Icons, die dann in Mac Mail und Finder angezeigt werden.

    Danke,

    Kukulkan
  • Hi!

    Willkommen erst einmal im Forum :)

    Ich habe es eben einmal bei mir gecheckt, und auch unter macOS 10.13 werden die Document-Icons meiner App in Mail angezeigt. Dabei konfiguriere ich die Dateitypen in der info.plist wie folgt:

    XML-Quellcode

    1. <dict>
    2. <key>CFBundleTypeIconFile</key>
    3. <string>DocIcon</string>
    4. <key>CFBundleTypeName</key>
    5. <string>JEFFile</string>
    6. <key>CFBundleTypeRole</key>
    7. <string>Editor</string>
    8. <key>LSItemContentTypes</key>
    9. <array>
    10. <string>com.janome.jef</string>
    11. </array>
    12. <key>NSDocumentClass</key>
    13. <string>STBDocument</string>
    14. </dict>
    Alles anzeigen
    Ich habe dann unten noch die entsprechenden UTIs exportiert, daher der LSItemContentTypes-Teil.

    Als Unterschied fiel mir auf, dass Du die Icon-Datei in einem Array definiert hast. Wenn ich in die Apple-Doku (Abschnitt "CFBundleDocumentTypes") schaue, ist dieser Key nur für iOS definiert, unter macOS müsstest Du CFBundleTypeIconFile mit einem String verwenden. Vielleicht hat dies in der Vergangenheit nur "per Zufall" funktioniert...?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Leider hat es nicht geholfen. Ich habe ja bereits das CFBundleTypeIconFile gesetzt (siehe ersten Post). Ich hab jetzt die iOS Variante entfernt und etwas aufgeräumt. Habe LSHandlerRank noch auf "Owner" gestellt, weil diese Sorte Datei nur dieses Programm erstellt.

    Leider noch immer kein Erfolg. Finder und "Quick Look Attachment" zeigen das richtige Icon für die Dateiendung an. Nur leider Mac Mail nicht.

    Aktuelle Info.plist:

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>CFBundleIdentifier</key>
    6. <string>com.regify.client.mac</string>
    7. <key>CFBundleName</key>
    8. <string>regify client</string>
    9. <key>CFBundleDevelopmentRegion</key>
    10. <string>English</string>
    11. <key>CFBundleExecutable</key>
    12. <string>regify client</string>
    13. <key>CFBundleInfoDictionaryVersion</key>
    14. <string>6.0</string>
    15. <key>CFBundlePackageType</key>
    16. <string>APPL</string>
    17. <key>CFBundleDisplayName</key>
    18. <string>regify client</string>
    19. <key>CFBundleVersion</key>
    20. <string>0.1</string>
    21. <key>CSResourcesFileMapped</key>
    22. <true/>
    23. <key>CFBundleIconFile</key>
    24. <string>regify_128x128.icns</string>
    25. <key>CFBundleLocalizations</key>
    26. <array>
    27. <string>de</string>
    28. <string>en</string>
    29. <string>fr</string>
    30. <string>zh-Hans</string>
    31. </array>
    32. <key>CFBundleDocumentTypes</key>
    33. <array>
    34. <dict>
    35. <key>CFBundleTypeMIMETypes</key>
    36. <array>
    37. <string>application/vnd.regify</string>
    38. </array>
    39. <key>CFBundleTypeName</key>
    40. <string>regify message</string>
    41. <key>LSHandlerRank</key>
    42. <string>Owner</string>
    43. <key>CFBundleTypeRole</key>
    44. <string>Editor</string>
    45. <key>CFBundleTypeIconFile</key>
    46. <string>regify_doc.icns</string>
    47. <key>CFBundleTypeExtensions</key>
    48. <array>
    49. <string>rgf</string>
    50. <string>rif</string>
    51. <string>rgk</string>
    52. </array>
    53. </dict>
    54. </array>
    55. </dict>
    56. </plist>
    Alles anzeigen
    Was könnte es noch sein?
  • Inzwischen habe ich es mit Apples Hilfe geschafft. Das war aber eine größere Aufgabe. Apple wusst selbst nicht warum, aber hat mich zumindest auf die richtige Spur gebracht. Hier die funktionierende Info.plist:

    XML-Quellcode: Info.plist

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>CFBundleIdentifier</key>
    6. <string>com.regify.client.mac</string>
    7. <key>CFBundleName</key>
    8. <string>regify client</string>
    9. <key>CFBundleDevelopmentRegion</key>
    10. <string>English</string>
    11. <key>CFBundleExecutable</key>
    12. <string>regify client</string>
    13. <key>CFBundleInfoDictionaryVersion</key>
    14. <string>6.0</string>
    15. <key>CFBundlePackageType</key>
    16. <string>APPL</string>
    17. <key>CFBundleDisplayName</key>
    18. <string>regify client</string>
    19. <key>CFBundleVersion</key>
    20. <string>0.1</string>
    21. <key>CSResourcesFileMapped</key>
    22. <true/>
    23. <key>CFBundleIconFile</key>
    24. <string>regify_128x128.icns</string>
    25. <key>CFBundleLocalizations</key>
    26. <array>
    27. <string>de</string>
    28. <string>en</string>
    29. <string>fr</string>
    30. <string>zh-Hans</string>
    31. </array>
    32. <key>UTExportedTypeDeclarations</key>
    33. <array>
    34. <dict>
    35. <key>UTTypeConformsTo</key>
    36. <array>
    37. <string>public.data</string>
    38. <string>public.message</string>
    39. </array>
    40. <key>UTTypeDescription</key>
    41. <string>regify message</string>
    42. <key>UTTypeIdentifier</key>
    43. <string>com.regify.message.rgf</string>
    44. <key>UTTypeTagSpecification</key>
    45. <dict>
    46. <key>public.filename-extension</key>
    47. <array>
    48. <string>rgf</string>
    49. <string>rif</string>
    50. <string>rgk</string>
    51. </array>
    52. <key>public.mime-type</key>
    53. <string>application/vnd.regify</string>
    54. </dict>
    55. </dict>
    56. </array>
    57. <key>CFBundleDocumentTypes</key>
    58. <array>
    59. <dict>
    60. <key>CFBundleTypeMIMETypes</key>
    61. <array>
    62. <string>application/vnd.regify</string>
    63. </array>
    64. <key>CFBundleTypeName</key>
    65. <string>regify message</string>
    66. <key>LSHandlerRank</key>
    67. <string>Owner</string>
    68. <key>CFBundleTypeRole</key>
    69. <string>Editor</string>
    70. <key>CFBundleTypeIconFile</key>
    71. <string>regify_doc.icns</string>
    72. <key>LSItemContentTypes</key>
    73. <array>
    74. <string>com.regify.message.rgf</string>
    75. </array>
    76. <key>CFBundleTypeExtensions</key>
    77. <array>
    78. <string>rgf</string>
    79. <string>rif</string>
    80. <string>rgk</string>
    81. </array>
    82. </dict>
    83. </array>
    84. </dict>
    85. </plist>
    Alles anzeigen
    Drei Dinge waren nötig:

    1)
    Ab Sierra wird eine UT benötigt. Also ein ExportedTypeDeclarations Teil. Auf diesen wird im CFBundleDocumentTypes verwiesen. Ich hab die anderen Verweise für ältere Versionen und ggfs ältere Programme drinnen gelassen.


    2)
    Zuerst hatte ich UTTypeConformsTo auf "public.data" gesetzt. Das half wieder nur im Finder, aber nicht in Mac Mail. Erst als ich auch noch "public.message" hinzugefügt habe, wurde es auch in Mac Mail passend angezeigt.


    3)
    Extrem viele Beispiele im Internet für public.filename-extension sind falsch! Es wird ganz Oft nur ein String als Wert angegeben (viele Google-Finds sind so). Es muss aber ein Array sein!

    Trotzdem Danke für die Hilfe und Tipps!

    Grüße,

    Kukulkan