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

时间:2015-03-01 15:46:32

标签: xcode macos cocoa

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

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

screenshot

正如您在桌面上看到的文档是“空白”但不知何故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
  • 使用我用来创建.icns
  • 的文件向Images.xcasset添加新的OSX图标

所有人都有相同的结果。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

事实证明,不需要.icns,我使用最后一个解决方案再次测试(向Images.xcassets添加新的OSX图标)并且它有效。

我也不知道它是否有影响,但我跑了:

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

是针对有类似问题的人发布在SO上的

答案 1 :(得分:0)

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

相关问题