为什么我的文档图标在属性中可见,但在桌面上却不可见?

Why is my document icon visible in properties but not on the Desktop?

我做了一个cocoa应用程序,文档保存正常,当我双击一个它会自动打开我的应用程序。我只需要弄清楚如何设置文件图标。

我已经为文件创建了一个 .icns 图标。这是我得到的

如您所见,该文档 "blank" 在桌面上,但 Finder 以某种方式知道它的图标。

这是我的Info.plist

<dict>
  <key>CFBundleDevelopmentRegion</key>
  <string>en</string>
  <key>CFBundleDocumentTypes</key>
  <array>
    <dict>
      <key>CFBundleTypeIconFile</key>
      <string>FileIcon.icns</string>
      <key>CFBundleTypeName</key>
      <string>My Type</string>
      <key>CFBundleTypeRole</key>
      <string>Editor</string>
      <key>LSHandlerRank</key>
      <string>Owner</string>
      <key>LSItemContentTypes</key>
      <array>
        <string>xxx</string>
      </array>
      <key>NSDocumentClass</key>
      <string>Document</string>
    </dict>
  </array>

我试过了:

结果都一样。有什么想法吗?

事实证明不需要 .icns,我用上一个解决方案再次测试(将新的 OSX 图标添加到 Images.xcassets)并且成功了。

我也不知道它是否有影响,但我 运行 :

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user

这是为有类似问题的人在 SO 上发布的

确保您的图标不包含 transparency/alpha 值(如果图标是 .png 或 .tiff)。在这种情况下,删除透明度或另存为 .jpeg.