相关疑难解决方法(0)

Mac OS X文件关联有效,但文件图标未更改

我使用Qt 5.3.2开发了一个Mac应用程序.此应用程序处理具有特定扩展名的文件(假设.xyz).

我创建了一个名为XYZ.icns的图标文件,并将其添加到我的应用程序包资源文件夹(MyApp.app/Contents/Resources/XYZ.icns)中.

我还修改了bundle的Info.plist文件以设置文件关联.我添加了这个条目:

<key>CFBundleDocumentTypes</key>
<array>
    <!-- Registered file accociation -->
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleTypeName</key>
        <string>XYZ</string>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>xyz</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>XYZ</string>
    </dict>
<array>
Run Code Online (Sandbox Code Playgroud)

结果:文件关联工作(双击文件确实打开了我的应用程序)但是,图标没有被替换(仍然显示空白文档图标).

有什么我错过了吗?我查看了其他应用程序的示例,似乎没有什么比我做的更多.

编辑:我做了一些测试.我使用以下命令转储了启动服务数据:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Run Code Online (Sandbox Code Playgroud)

在结果中,我可以在文件中找到包含图标信息的文件类型:

...

--------------------------------------------------------------------------------
Container mount state: mounted
bundle  id:            105396
    ...
    path:          /Applications/MyApp.app
    name:          MyApp
    ...
    --------------------------------------------------------
    claim   id:            27628
        name:          XYZ
        rank:          Default
        reqCaps:      
        roles:         Editor  
        flags:         relative-icon-path  doc-type  
        icon:          Contents/Resources/XYZ.icns
        bindings:      .xyz
--------------------------------------------------------------------------------
...
Run Code Online (Sandbox Code Playgroud)

编辑2:过了一段时间,它终于开始自己工作了.一夜之间,有一个操作系统更新已安装,我还必须关闭计算机(启动服务可能自己刷新了一些东西).我会将我的问题更新为:如何确保启动服务在安装或修改应用程序时刷新关联的文件图标?

macos qt info.plist file-association launch-services

8
推荐指数
1
解决办法
3509
查看次数

为什么icon composer 2.4不再支持1024x1024大小的图标?

Xcode 4.3.3中的图标编辑器2.2支持1024x1024的icns.但是,对于图标编辑器2.4,它不再支持它.这很具有讽刺意味,因为Apple推出了视网膜显示器mbp并要求新提交的应用程序使用1024x1024图标,但图标编辑器不再支持它.

Apple是否有任何替代或新引入的解决方案用于创建1024x1024大小的图标?我真的不明白为什么Apple会这样做.

谢谢!

hig retina-display xcode4.4 icon-composer

5
推荐指数
1
解决办法
6850
查看次数