Qt World Summit: Register Today!

Someone tried to publish N9 applications ?

  • Hi to all,

    I have tried :) ... And this is the result !

    Ovi store accept publishers submissions for N9: debian packages developed with Qt SDK 4.7.3 Harmattan Meego 1.2

    To submit you must follow all publishing specifications.

    One of the first things that was published in the period aroud last 21 June (when labs announced the 4.7.3 version of the SDK) was the Ovi publishing guide updated including the N9 Harmattan etc.

    Multi-client applications are prohibited for MeeGo content: well known.

    So after the release of Qt-Complex 1.1.0 I have created a package and prepared it for the pubblication on Nokia Ovi Store.

    Note#1: if you try to open the ovi store client from the N950 you see a "Coming soon" blue page.
    Note#2: On store.ovi.com N9 devices are not mentioned yet.

    There is a bug that I have not yet notice that it was solved: http://developer.qt.nokia.com/forums/viewthread/8132 related to the single-instance applications on N9 / N950 devices.

    After the submission the following is the answer of Ov:

    bq. # Dear Publisher,
    Thank you for submitting Qt-Complex Framework for N9. Unfortunately the content item and or file did not pass the Ovi Store quality assurance (QA) review process.
    Comments from the QA team:
    Failed QA.
    SUMMARY: The application can open with multi-client.

    1. Download and install the content.
    2. Launch the application and suspend the application to the multi task list.
    3. Repeat step 2.
      Actual result: There are two client on the multi task list.
      Expected result: The application can opened with multi-client is prohibited for MeeGo content.
      AFFECTED DEVICES: N9 Firmware 10.2011.27-9_PR_001.
      FREQUENCY REPRODUCED: 100%. (public, Qa in progress -> Qa failed)

    The fact is correct, but this means that at the actual date development of N9 applications is almost for funny... Someone knows if there is a workaround? As explained in the thread I linked above the suggested solution (and all the variants I tried) unfortunately seems not working.

    Is there someone that knows a workaround? Qt sdk 4.8 beta solves this problem?

  • Can you show me your desktop file does it contain a line like:
    @invoker --single-instance --type=d /opt/CoolApp/bin/CoolApp@

    The one in QtCreator probably does but I would bet that the one that ends up in the deb package does not.
    It seems that the workaround provided by Matrixx solves this issue but than we face the problem of the pressing the icon not invoking the app (at leas I am).

    So Investigated it and it seems that if I try launching the app form the terminal using:
    @invoker --single-instance --type=d /opt/CoolApp/bin/CoolApp@
    results in sth like this:
    @invoker: Invoking execution: '/opt/CoolApp/bin/CoolApp'
    Booster: Loading symbol 'main' failed: '/opt/CoolApp/bin/CoolApp undefined symbol: main'@

    This is all very strange to me ass simply calling:
    gets the app started no problem :|

  • Hi kkrzweniak,

    thank you for thie hew trick ;)

    Please take a look to this post: "Single instance applications on N950":http://developer.qt.nokia.com/forums/viewthread/8132

    where you can find all the information about this problem. There is the full code of my .desktop file and the changes I have made too. The trick mentioned in this post was partially already known, so I tried it but unfortunately with any result...

    Thank you again. Enrico

    P.S. The app as you show in your tests, runs correctly also for me in the terminal.

  • ... to be sure, the following is the actual .desktop file (copied just now from the project)
    [Desktop Entry]
    Exec=invoker --single-instance --type=d /opt/QtComplexHarmattan1_1_0/bin/QtComplexHarmattan1_1_0

  • Does it start for you if you try to use invoker in the terminal?

  • no, I tested only the /opt/application ...

    I have not yet found where are the .desktop files. I am investigating now.

  • the destkop files should be in:

  • @kkrzewniak If you get the error Booster: Loading symbol 'main' failed: '/opt/CoolApp/bin/CoolApp undefined symbol: main'
    it's because when booster is enabled, none of the functions are exported by default. You have to export your main function like this:
    Q_DECL_EXPORT int main(int argc, char *argv[])
    { ... }

    It's all explained better here:

  • Grate thanks this fixed it, the app now works as expected (single instance) :)

  • Hi matrixx,

    thankyo very much for the doc link in effect it is very useful. Remain the problem of the packaging in a single-instance mode. Do you have tried with Qt SDK 4.8 ? It is strange that your suggestions won't work but I know that in some other projects works.

  • @kkrzewniak I'm glad it solved your problem :)

    @Alicemirror I haven't tried with 4.8 yet, I'm using the latest 1.1 SDK released with Qt 4.7 (4.7.4 on Harmattan) and it works fine after the tricks I mentioned. I also know people you hadn't have to do anything to get a working project. It seems to work very irrationally for different people. I also wonder if development platform is one affecting factor, mine is Win 7 64bit.

  • Hi matrixx,

    thank you again for your help. Irrational is the right word. I have tried with Mac but I can try also with Windows 7 32 bit.

    A question: how can I upgrade my 4.7.3 (all updated online after the offline installation )to the 4.7.4?

    Then about the 4.8 it should be excluded because this version is not accepted by Ovi store..

Log in to reply