Qt World Summit: Register Today!

QML Map elements in QtMobility 1.2: binary break?

  • Hi,
    This documentation page contains following:


    bq. While the Maps elements were already available as an early preview in QtMobility 1.1 the elements received considerable API and behavior changes in QtMobility 1.2. Therefore the elements are no longer available as 1.1 import. QML applications have to change their import statement to 1.2. Applications using any Map element in QtMobility 1.2 via a QML 1.1 import will fail to work.

    bq. Applications wanting to target QtMobility 1.1 and 1.2 at the same time must deploy two different QML import statements based on the QtMobility version being used.

    Does that actually means that any existing Qt application using Map 1.1 from Ovi Store (which doesn't support 1.2 yet) will work on my phone if i have installed QtMobility 1.2 (with Symbian Belle for example)? Unless application authors update their apps of course.

  • The QML bindings for Maps in Qt Mobility 1.1 came with a big warning that they where provisional and that they were going to break in future versions. We didn't have much of a choice in the matter at the time.

    I don't know if anyone is using the QTM 1.1 Maps bindings in any apps on the Ovi Store, but no one has reached out to us to talk about how to future proof their apps when / now that those big and breaking changes happen / have happened.

    Either there are no apps using the bindings, or the people that wrote those apps ignored the warnings or worked out how to get their apps to work across the different version of Qt Mobility on their own.

  • bq. I don’t know if anyone is using the QTM 1.1 Maps bindings in any apps on the Ovi Store

    I know, there is at least one 3rd party app.

    Could you provide a code sample of how to make application compatible with both QtMobility libraries? Should developer detect qtmobility lib ver at runtime and switch the qml files? Or what?

    Would be great if that will be officially documented.

  • Hi,
    i have developped a Qt/QML application, which i submitted to the Ovi store. And i used the Location QML plugin with QTM 1.1. I tested my App with QTM 1.2, it works after changing the import statement (omprt QtMobility.Location 1.2). The problem is, when upgrading to belle, my app will stop working, that's why i recompiled my app with Qt 4.7.4 and packaged it with smart installer, and i plan to update sis file on ovi store. So if i do this, i guess users will be notified by this update; Do you think it will solve my issue?

  • Hi,
    well I know that there are couple of others on Ovi Store that are using Maps 1.1 and something that should be (minor) update to library renders them unusable.
    I don't think that there is no information if app uses mobility, you need to declare it in PRO file and this information is taken into SmartInstaller integration so SIS file has to contain this information.
    Another bad thing is that even if I declare that I wish to use QtMobility 1.1 and Qt 4.7.3 , my submission will be denied from Ovi Store because SmartInstaller will download and install newer one that is not binary compatible with previous one.

Log in to reply