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

From MyLabWiki
Jump to: navigation, search
Line 10: Line 10:
 
''Note: http://doc.qt.nokia.com/4.7/mac-differences.html#bundle-based-libraries''
 
''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 described [http://mac101.net/content/how-to/how-to-create-dmg-art-for-fancy-application-installations/ here] or [http://mac101.net/content/how-to/security-create-encrypted-dmg-disk-images-sensative-data/ here] (without the encryption part).
+
To create a .dmg we can either use the -dmg option to macdeployqt or use the Mac Disk Utility as described [http://mac101.net/content/how-to/how-to-create-dmg-art-for-fancy-application-installations/ here] or [http://mac101.net/content/how-to/security-create-encrypted-dmg-disk-images-sensative-data/ here] (without the encryption part). In the most basic form:
  
 +
# Move myprog.app and all other files into a directory
 +
# Start Disk Utility
 +
# Select File → New → Disk Image from Folder
 +
#* Image Format: compressed
 +
#* Encryption: none
 +
#* Other choices may work as well.
  
 
== Application and package icon ==
 
== Application and package icon ==

Revision as of 13:10, 26 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
    • good to use -verbose=2

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 described here or here (without the encryption part). In the most basic form:

  1. Move myprog.app and all other files into a directory
  2. Start Disk Utility
  3. Select File → New → Disk Image from Folder
    • Image Format: compressed
    • Encryption: none
    • Other choices may work as well.

Application and package icon

  1. Create an icon with size 512x512 pixels
  2. Drag and drop it into Icon Composer
    • Start with the largest one, then drag it to smaller ones.
  3. Save .icns file
    • Note: Icon Composer can also create .ico file but these use different sizes
  4. Edit project.pro and add: ICON = path/to/icons.icns[1]
    • Can be wrapped in a macx { ... } contditional,[2] see e.g. qthid-2.2
  5. Ejoy the results:

Note: We can also copy and paste .icns files in/out of the bundle and edit the .plist file.

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

Including addition data

How?

References

  1. Setting the Application Icon
  2. Qt Forum: application icon
  3. Qt is Mac OS X Native

Bundle Programming Guide