Resource files in OS X bundle: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
= How to add resource files to an OS X application bundle =
= How to add resource files to an OS X application bundle =


On OS X, applications are delivered as so called "bundles". That's just a directory with a predefined structure and the suffix .app. You can learn more about the structure in the "OS X specific deployment instructions":http://doc.qt.nokia.com/4.7/deployment-mac.html of the Qt documentation and in "Apple's own docs about application bundles":http://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW13.
On OS X, applications are delivered as so called "bundles". That's just a directory with a predefined structure and the suffix .app. You can learn more about the structure in the "OS X specific deployment instructions":http://doc.qt.nokia.com/4.7/deployment-mac.html of the Qt documentation and in "Apple's own docs about application bundles":http://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW13.


If you have additional files that need to be distributed along your application that cannot be put into the "qrc resources":http://doc.qt.nokia.com/4.7/resources.html (eg. QML files), they have to be installed in the right place. For resource files this is YourFancyApplication.app/Contents/Resources.
If you have additional files that need to be distributed along your application that cannot be put into the "qrc resources":http://doc.qt.nokia.com/4.7/resources.html (eg. QML files), they have to be installed in the right place. For resource files this is YourFancyApplication.app/Contents/Resources.


You can let qmake do all the copy work for you. Just add a snippet like this to your .pro file:
You can let qmake do all the copy work for you. Just add a snippet like this to your .pro file:


<code><br />APP_QML_FILES.files = path/to/file1.qml path/to/file2.qml<br />APP_QML_FILES.path = Contents/Resources<br />QMAKE_BUNDLE_DATA += APP_QML_FILES<br /></code>
<code>
APP_QML_FILES.files = path/to/file1.qml path/to/file2.qml
APP_QML_FILES.path = Contents/Resources
QMAKE_BUNDLE_DATA += APP_QML_FILES
</code>

Revision as of 09:47, 25 February 2015


How to add resource files to an OS X application bundle

On OS X, applications are delivered as so called "bundles". That's just a directory with a predefined structure and the suffix .app. You can learn more about the structure in the "OS X specific deployment instructions":http://doc.qt.nokia.com/4.7/deployment-mac.html of the Qt documentation and in "Apple's own docs about application bundles":http://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW13.

If you have additional files that need to be distributed along your application that cannot be put into the "qrc resources":http://doc.qt.nokia.com/4.7/resources.html (eg. QML files), they have to be installed in the right place. For resource files this is YourFancyApplication.app/Contents/Resources.

You can let qmake do all the copy work for you. Just add a snippet like this to your .pro file:

APP_QML_FILES.files = path/to/file1.qml path/to/file2.qml
APP_QML_FILES.path = Contents/Resources
QMAKE_BUNDLE_DATA += APP_QML_FILES