Congratulations to our 2022 Qt Champions!

Integration of iOS frameworks in Qt Creator (Qt, QML)

  • Hi all,

    does anyone knows if frameworks like UIKit or iAd can be integrated in Qt Creator?
    I want to use them in a Qml app.


  • Lifetime Qt Champion


    What do you mean by integrated in Qt Creator ? Write your software to use Apple's frameworks ?

  • Yes. For example add in the *.pro file something to include the frameword, e.g.g the iAd.framework and then in the *.h and *.cpp file
    to include the header and use the class objects.

    Even in the qml it would be interesting...

  • I use iOS frameworks in Qt projects and it's very easy ... but you cannot use them from .cpp files because they are objective-C classes, so you have to add a .mm file to the project.
    And for use them in QML it's very easy: create a QObject subclass, implement it into an .mm file where you wrap any method you like of the framework and register the QObject for use it in QML.

    In .pro files I use the following directive:

    This flag is necessary otherwise you get an link error

    I open a bug reports for that

    QMAKE_LFLAGS += -F/Applications/

    Add the framework you need

    LIBS += -framework AdSupport -framework StoreKit

    the objective sources should be put in this variable


  • Lifetime Qt Champion

    Then the quickest is to take a look at QtMacExtras, you'll see how it's setup to work with frameworks.

    You can't write Objective-C/C++ in qml files. You'll have to create a derived QObject class that you will use to call native functions/methods/etc...

  • Thank you guys!!!
    I will check these and come back if I have still problems...

    Thanks a lot!

  • Hi Gianluca and SGaist,

    as I am new into this field I would need some more help:

    To Gianluca:
    Could you please post an example of such a subclass implementation in the *.mm file? Also what I have to put in the

    To SGaist:
    Could you also please post an example of creating a derived class?

    Thanks in advance for your guidance!

  • Lifetime Qt Champion

    Take a look at the QtMacExtras module and the cocoa platform plugins, they show it nicely

Log in to reply