Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. IOS - which parts of Qt are supported on iOS devices (especially QWebView)?

IOS - which parts of Qt are supported on iOS devices (especially QWebView)?

Scheduled Pinned Locked Moved Mobile and Embedded
36 Posts 11 Posters 34.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    privet
    wrote on last edited by
    #3

    It seems to be no further information available...
    What a pity!
    My searches gave no exact answer to the questions...

    1 Reply Last reply
    0
    • P Offline
      P Offline
      privet
      wrote on last edited by
      #4

      I think, there is no other solution as ask the developer of the lighthouse-plugin for iOS about the further plans.

      Does somebody know a contact address of the developer of the iOS-lighthouse plugin?

      1 Reply Last reply
      0
      • D Offline
        D Offline
        DenisKormalev
        wrote on last edited by
        #5

        I think you can find it on Labs blogpost about it

        1 Reply Last reply
        0
        • C Offline
          C Offline
          CuteiOS
          wrote on last edited by
          #6

          There is general work being done in Qt 4.8 to ensure that it is iOS-compatible when it is released. There are two plugins being developed for Qt on iOS, but only one of them is currently open source. The open source plugin (aka. proof-of-concept UIKit plugin) was developed at Nokia, is (currently) part of Qt 4.8 and was discussed in a QtLabs blog post (in February?). That plugin however is only able to run simple QML apps and does not support more advanced features like auto-rotation, multi-touch, OpenGL, retina displays & widgets.

          The other plugin (aka. Qt iOS plugin) is currently closed source, supports full Qt GUI with widgets, multi-touch, multi-threaded OpenGL, shader effects, Qt3D, Qt Scenegraph & parts of Qt Mobility. This is the plugin that was used to make some YouTube demo videos (in Oct/Nov last year) & was shown on the iPad at QtCS.

          The Qt iOS plugin is currently being used to produce a trial-run application for submission to the Apple App Store, and more information etc. about that plugin will be made available once it has passed the App Store trial-run and can be considered for commercial application development.

          PS. The qt-iphone project is unrelated to these efforts and will most likely never be able to be used to run QML on iOS (if it is in fact still being developed). The purpose of that project is to be able to use Qt to write native UIKit applications. The purpose of Lighthouse (and the iOS plugins for it) is to be able to build and run standard Qt applications on iOS.

          1 Reply Last reply
          0
          • P Offline
            P Offline
            privet
            wrote on last edited by
            #7

            Thanks for the info!
            I'll wait for the "Qt iOS plugin" til it will be available, because I'll need OpenGL+Qt3D.

            I would need some sort of HTML-display too, but I think, QWebView is not supported on iOS...

            1 Reply Last reply
            0
            • C Offline
              C Offline
              CuteiOS
              wrote on last edited by
              #8

              Unfortunately, this Apple App Store rule gets in the way of using QtWebKit on iOS:

              "2.17 Apps that browse the web must use the iOS WebKit framework and WebKit Javascript"

              Making a custom version of QtWebkit that uses Apple's underlying WebKit framework was considered, but according to QtWebKit developers, this is not going to be technically feasible.

              At this point, it is looking like a custom QML item would need to be made that used iOS WebKit to render to a surface, which could then be used in QML...

              1 Reply Last reply
              0
              • Q Offline
                Q Offline
                qtnext
                wrote on last edited by
                #9

                @SumWon : Do you have any idee when you will able to have more information about your ios plugins : I suspect that a lot of people will be very interested : Do you plan to release a commercial version or an lgpl version ? will nokia allow to use the lgpl Qt licence to build Qt ios apps without buying a commercial version ?
                I have a lot of interest in porting my apps to ios, and don't know if I only have to wait for Qt ios :), or forget this and start objective C :(

                I we have Qt for Meego, Android (Necessitas), and IOS, it can be a very good new start for Qt ... forgetting 11 februar

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  changsheng230
                  wrote on last edited by
                  #10

                  There is no official investment on iOS & Android porting.

                  Chang Sheng
                  常升

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    CuteiOS
                    wrote on last edited by
                    #11

                    @ qtnext: I'm currently working on an app to put through the App Store approval process (even though I'll have to yank it as soon as it gets approved due to Qt 4.8 still being under a Technology Preview license) - because really, the biggest and most important unknown with this project is whether it is possible to get App Store approval for a Qt/QML based app. The aim is to get all of this (and the work on the plugin - including Mobility) done by the time Qt 4.8 is officially released.

                    In terms of licensing, no decisions have been made as yet. I have significant development costs to recoup, and so will need to get some commercial licensees (or some other form of remuneration) before I would be prepared to make the work publicly available under an LGPL or similar license. I have been contributing iOS-specific changes to both Qt (4.8) and the UIKit (proof-of-concept) plugin, and that work is under the standard Qt license (and part of the current 4.8 master).

                    I have been developing the Qt iOS plugin with a commercial Qt license, and so obviously for myself and other Qt licensees there is no issue with the static linking of Qt. Whether or not it is possible to adhere to LGPL when using statically linked code is a legal grey area. Nokia has assured me that they would like Qt to be "Everywhere" and would not wish to test this aspect of LGPL in court - as long as the other terms of the license were adhered to and source code or linkable object code (for your application) was provided.

                    1 Reply Last reply
                    0
                    • Q Offline
                      Q Offline
                      qtnext
                      wrote on last edited by
                      #12

                      @sumwon
                      I hopes that it will pass the app store approval.
                      If you don't have too high prices, I am sure that a lot of people will buy a commercial licence to develop for ios ...

                      1 Reply Last reply
                      0
                      • P Offline
                        P Offline
                        privet
                        wrote on last edited by
                        #13

                        Now, I made a little StarWars game for iOS (with the open-source UIKit plugin) with images, animations and dynamically loaded (java)scripts.
                        See:
                        http://privet.bplaced.com/​v/qt_ios_starwars.swf
                        (the movie is 8 MB large)
                        (a pure QML game)
                        So, the basics are working!!!

                        1 Reply Last reply
                        0
                        • C Offline
                          C Offline
                          CuteiOS
                          wrote on last edited by
                          #14

                          Have managed to embed Apple's iOS WebKit into a QWidget, so there is a way forward for web content on Qt/iOS... :) Going to try to match the QWebView API as much as possible (for QUIWebView), but unfortunately it can't be a 100% drop-in replacement (due to there not being an equivalent of QWebPage and QWebFrame on iOS)...

                          1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            thomasbonte
                            wrote on last edited by
                            #15

                            @SumWon That's great news. Thanks for sharing this. Any news on the app store approval test?

                            1 Reply Last reply
                            0
                            • C Offline
                              C Offline
                              CuteiOS
                              wrote on last edited by
                              #16

                              @thomasbonte: Got a bit side-tracked, as I am working with a customer to get their Qt (widget) app onto iOS. I'm going to have to get back on the case soon though... Will post here when there's any news on that... :)

                              1 Reply Last reply
                              0
                              • Q Offline
                                Q Offline
                                qtnext
                                wrote on last edited by
                                #17

                                http://labs.qt.nokia.com/2011/08/09/update-on-uikit-lighthouse-platform

                                1 Reply Last reply
                                0
                                • Q Offline
                                  Q Offline
                                  qtnext
                                  wrote on last edited by
                                  #18

                                  it seems that the uikit plugin in Qt 4.8 is on good way ... it's strange to have at least 3 known different port of Qt ios ! perhaps it's time to merge it ?

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    DenisKormalev
                                    wrote on last edited by
                                    #19

                                    Three ports? Hm, you mean one in 4.8, old iOS port without Lighthouse (which evan don't have good QtGui support) and closed-source one? For me it looks like we have only one port - which is mentioned in Labs blog post.

                                    1 Reply Last reply
                                    0
                                    • Q Offline
                                      Q Offline
                                      qtnext
                                      wrote on last edited by
                                      #20

                                      yes ... you are right : the old ios port(but with some change in git recently), the closed source one (but It seems in good way and with a like webview inside) and the one port in Labs blog post

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        privet
                                        wrote on last edited by
                                        #21

                                        Hi,
                                        I built now two small Apps for iOS to test the Qt/QML features of the UIKit implementation (Qt4.8)
                                        See:
                                        http://privet.bplaced.net/qsw_ios.png
                                        http://privet.bplaced.net/v/qt_ios_starwars.swf (>8MB!)
                                        http://privet.bplaced.net/qview_ipad.png

                                        My first remarks:

                                        1. I had problems with QML plugins (=/imports/*):
                                          They aren't working, because Apple doesn't allow
                                          dynamically loaded libs.
                                          I was not able to compile and link these statically
                                          So I'm only able to use the stock QML elements.

                                        2. the speed: it's slow if I have more elements and animations
                                          (like the little star wars game with 25 stars each with own animation).
                                          The app swallows sometimes animations.
                                          (see the BOOM-animation after a hit on the video (this works on desktop systems))
                                          The reaction to a touch takes sometimes over 1-2 second!

                                        3. orientation is not handled automatically and there is no helper classes for this,
                                          so I have to handle it manually with a lot of Cocoa+Qt-code.
                                          The calculation of the window-size in Landscape mode is buggy.

                                        4. size: min. 25 MB This is big!
                                          A normal standard iOS app created with XCode is smaller than 1 MB

                                        5. the UIKit-webview implementation seems to be difficult, so I'm using in
                                          this demo the Text element (Text can display richtext/html/pics)

                                        Conclusion:
                                        The UIKIt plugin is impressive as first proof of concept solution,
                                        but still not enough for commercial Apps...

                                        1 Reply Last reply
                                        0
                                        • C Offline
                                          C Offline
                                          CuteiOS
                                          wrote on last edited by
                                          #22
                                          1. You have to link the plugins statically. As there is no macro for this (like there is for other Qt plugins), so you'll have to register the plugin's types yourself.
                                          2. I haven't run into speed issues, however I'm using optimised settings and a different plugin (on A4 hardware). In any case a mobile device has a much slower CPU and memory subsystem than a desktop PC, comparisons should only really be made with other mobile devices.
                                          3. Auto-rotation is not done correctly (yet) in the "proof of concept" plugin.
                                          4. The Qt libraries are not built-in on iOS. Of course a Qt app is going to be much bigger, it has to bring the whole library with it.

                                          Conclusion:
                                          http://en.wikipedia.org/wiki/Proof_of_concept ;)

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved