Difference between revisions of "Packaging Qt apps for Mac OS X"

From MyLabWiki
Jump to: navigation, search
m
(Application and package icon)
Line 13: Line 13:
 
== Application and package icon ==
 
== Application and package icon ==
  
How?
+
# Create icons with size: 16x16, 32x32, 128x128, 256x256 and 512x512
 +
#* Format can be tiff, png, ...
 +
#* Best from SVG (try http://commons.wikimedia.org)
 +
# Paste them into Icon Composer
 +
# Save .icns file
 +
#* Note: Icon Composer can also create .ico file but these use different sizes
 +
# Put the .icns file in myprog.app/Contents/Resources
 +
# Edit myprog.app/Contents/Info.plist
 +
  <dict>
 +
      <key>CFBundleIconFile</key>
 +
      <string>myicons.icns</string>
 +
      ...
 +
 
 +
Note: Steps 4 and 5 are TBC.
  
 
During runtime the dock icon can be changed by calling [http://doc.qt.nokia.com/4.7/qwidget.html#windowIcon-prop QWidget::setWindowIcon()] on the main window<ref>[http://doc.qt.nokia.com/4.7/qtmac-as-native.html Qt is Mac OS X Native]</ref>.
 
During runtime the dock icon can be changed by calling [http://doc.qt.nokia.com/4.7/qwidget.html#windowIcon-prop QWidget::setWindowIcon()] on the main window<ref>[http://doc.qt.nokia.com/4.7/qtmac-as-native.html Qt is Mac OS X Native]</ref>.

Revision as of 23:39, 21 February 2011

Once you got tired of reading and trying to comprehend Deploying an Application on Mac OS X in the Qt documentation, you realize at the bottom of the page that all you have to do is:

  1. Build your application in release mode
  2. Execute "macdeployqt myprog.app" (see -h for options)

This will bundle all the Qt libraries into the myprog.app - this will be approximately 40 MB. I guess one could still do the manual process for small applications that do not need all the Qt libraries. Or maybe the unnecessary libraries can be removed again manually?

Note: http://doc.qt.nokia.com/4.7/mac-differences.html#bundle-based-libraries

To create a .dmg we can either use the -dmg option to macdeployqt or use the Mac Disk Utility as describe here or here (without the encryption part).


Application and package icon

  1. Create icons with size: 16x16, 32x32, 128x128, 256x256 and 512x512
  2. Paste them into Icon Composer
  3. Save .icns file
    • Note: Icon Composer can also create .ico file but these use different sizes
  4. Put the .icns file in myprog.app/Contents/Resources
  5. Edit myprog.app/Contents/Info.plist
 <dict>
     <key>CFBundleIconFile</key>
     <string>myicons.icns</string>
     ...

Note: Steps 4 and 5 are TBC.

During runtime the dock icon can be changed by calling QWidget::setWindowIcon() on the main window[1].

Including addition data

How?

References

  1. Qt is Mac OS X Native

Bundle Programming Guide