我的问题与此条目非常相似:Mac OS X file association works, but file icon not changed。
我正在使用 Qt 5.3 开发一个应用程序来处理特定扩展名的文件(比如.xyz
)。我只有 OS X Yosemite 用于测试,并且我设法使文件关联正常工作(双击文件时应用程序打开),但图标(比如xyz.icns
application.app 资源文件夹中的图标)没有改变(仍然默认的白纸,从桌面和 Finder 中可见)。这里是与文件关联相关的 info.plist 内容:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeIconFile</key>
<string>xyz.icns</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>xyz</string>
</array>
<key>CFBundleTypeName</key>
<string>My App Extension</string>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
我刷新了启动服务,这似乎为那些在我的情况下解决问题的人解决了问题,并且我实际上在lsregister
转储中只看到了我的应用程序的一个条目:
Container mount state: mounted
bundle id: 23036
path: /Applications/My App.app
name: My App
identifier: com.mycompany.my-app (0x8001bf71)
sys version: 10.6
mach sys ver: 10.7
execSDK ver: 10.10
flags: has-display-name relative-icon-path
item flags: container package application extension-hidden native-app x86_64
icons: Contents/Resources/myapp.icns
executable: Contents/MacOS/My App.app
...
--------------------------------------------------------
claim id: 34548
name: My App Extension
rank: Owner
reqCaps:
roles: Editor
flags: relative-icon-path doc-type
icon: Contents/Resources/xyz.icns
bindings: .xyz
我也重新启动但没有新结果。我想知道我错过了什么......任何线索?谢谢 !