Reputation: 193
I'm developping QML based application for iPhone, working on macbook IOS 11 (Sierra). I Use Qt 5.9.1 build, with the latest version of xCode. Everything is working fine, but in "Application output" there is warning " JIT is disabled for QML. Property bindings and animations will be very slow.Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform." I tried to enable JIT by editing qv4global_p.h file, as described on the web-page above, but it didn't help. I use IOS simulator (iPhones 6,7 with IOS 11.0) for debugging and testing, and animation effects (such as transitions, opacity changes, buttons clicks) are really slow and lagging, witn messages about manual update for qml objects in output console, something like "doing manual update..". I haven't iPhone, so I cant check if there is the same problem on real device, but it seems to be so, as I've read in simillar topics, and I didnt find any information.
So, is there any solution of this problem, how to get fluent, correct behavior of qml controls on IOS? Maybe Qt Quick Compiler with commercial license can help to solve this issue? Please help , really stuck here..
Upvotes: 5
Views: 1655
Reputation: 503
The Qt Quick Compiler is now available with the open source Qt license since Qt 5.11. You can use it to compile your QML and JS sources ahead of time, also on iOS. With the V-Play Engine you also get native look & feel for Qt iOS and Android apps.
Upvotes: 1
Reputation: 1152
in ios you can't use JIT compiler, but you can try ahead of time compiler:
http://doc.qt.io/qt-5/qtquick-deployment.html#qml-caching-for-deployment-preview
Upvotes: 2
Reputation: 193
So I've tried to launch my App on real device , it was iPhone 6S with iOS 9.0 installed, and also updated to iOS 11.0.3 later. App is running normally, at least I can't see any lagging, bad performance or slow animations, despite of warning message about JIT. Hope it will work the same perfect after making the App more complicated, because now it's just GUI without any useful backend. If there is a possibility to check this on other, older versions of iPhone or tablets I will do it and write here. P.S. in case of emergency there is Qt Quick Compiler which I haven't tried yet.
Upvotes: 1
Reputation: 561
You can't enable JIT on your qv4global_p.h, if you do that, you can compile and run your application on your device plugged to your mac, but when you unplugged it, you app will stop and don't run anymore, the problem come from Apple,
3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework.
Try the trial version of Qt commercial licence and test your app. In my case, after some test I have built my app in objectivC
Upvotes: 2