I’m trying to add icons to an application on macOS. My Qbs file looks like this:

https://github.com/mitchcurtis/slate/tree/master/app/app.qbs

The generated assetcatalog_generated_info.plist file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
        <key>CFBundleIconFile</key>
        <string>slate-icon-mac</string>
        <key>CFBundleIconName</key>
        <string>slate-icon-mac</string>
</dict>
</plist>

The contents of slate.xcassets:

https://github.com/mitchcurtis/slate/tree/master/app/images/logo/slate.xcassets

I don’t see the icon in the dock or anywhere else.

I saw this page:

http://doc.qt.io/qt-5/appicon.html#setting-the-application-icon-on-macos

It says:

“The application icon, typically displayed in the application dock area, is set 
by calling QWindow::setWindowIcon() on a window.”

However, the app that I’m basing my setup on doesn’t do that. It actually 
avoids macOS when it sets the window icon and yet still manages to get an icon 
to show up:

https://github.com/bjorn/tiled/blob/0b01a9c907e6cd6531204c32e36ea51af75f3bfc/src/tiled/mainwindow.cpp#L233

Another thing is that an asset catalog contains many .png files. I was under 
the impression that the point of it was for the OS to pick the correct image 
based on the metadata provided in the Contents.json file, so how would I know 
which size .png to set?

The rest of that page describes icns files, which the documentation explicitly 
says to avoid 
(https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/),
 so it seems like it might be a bit out-dated.

So, how is this supposed to be done?

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to