Qt 5.3.1 and iOS8
Does anyone tried Qt on iOS8?
So far from what I tried... My setup is Qt 5.3.1 with XCode 6.0 (6A267n) and iOS 8 (12A4345d).
I tried "analogclock" example, it works fine in portrait mode, the problem is with landscape mode.
In landscape mode application looks like it is rotated by 90 degrees, so not full window is visible. Below there is a screenshot.
I also check additional things and here are my discoveries:
- screen resolution on iOS7 is always 320x480 regardless on screen orientation (forced in plist)
- on iOS8 it is 320x480 or 480x320 depending on screen orientation
- Qt application on iOS7 gets resize events and on iOS8 does not
It looks like this is what changed between iOS7 and iOS8. In iOS8 screen size is reported correctly. I also checked source code of Qt and in file "qtbase\src\plugins\platforms\ios/qiosscreen.mm" around line 300 there is comment ("// A UIScreen stays in the native orientation, regardless of rotation") that would confirm that.
Does anyone has tried something similar? Is there any work around?
All the best,
Hi and welcome to devnet,
Since you using a Beta OS and a Beta compiler, you should rather bring this on the interest mailing list. You'll find there Qt's developers/maintainers (this forum is more user oriented)
Thanks a lot for the suggestion, I will go thru mailing list to see if maybe there is already answer there.
Now iOS8 is official.
Apple has rejected the submission of an App because it didn't work on iOS8, this was 2 weeks ago, before iOS8 was released.
Just now I am installing iOS8 on my cell phone to see what is happening.
I have understood that Apple have made some changes in the API.
Other cross-platform frameworks, such Xamarin, have been working to suit iOS8.
Any news regarding Qt and iOS8?
Also have problem on iOS 8. Updated my iPad Mini 2 to iOS 8 as users reported that my application does not work on it, on iOS 7 there was no problems..
I installed the 5.3.2 version and using latest xCode 5.
The compilation and deployment works.
The application will start sometimes but most of the time just crash after the UI displayed.
If I debug in xCode it will stop in
Thread 1: qioseventdispatcher.mm with an EXC_BAD_ACCESS
0x3b746c: blx 0x11ff144 ; symbol stub for: NSStringFromClass
0x3b7470: movs r2, #0x0
0x3b7472: movt r2, #0x0
0x3b7476: ldr r1, [r7, #-128]
0x3b747a: str r0, [r7, #-136]
0x3b747e: mov r0, r1
0x3b7480: ldr r1, [r7, #-132]
0x3b7484: ldr r3, [r7, #-136]
0x3b7488: blx 0x11fd524 ; symbol stub for: UIApplicationMain
0x3b748c: movs r1, #0x1 << stops here
0x3b748e: movt r1, #0x0
0x3b7492: str r0, [r7, #-16]
0x3b7496: str r1, [r7, #-92]
0x3b749a: ldr r0, [r7, #-44]
0x3b749e: mov sp, r0
0x3b74a0: ldr r0, [r7, #-96]
0x3b74a4: blx 0x1200354 ; symbol stub for: objc_autoreleasePoolPop
AFAIK there are some issues that have been already brought to the attention of Qt's developers on the mailing list
- Qt 5.3.1
- XCode 6.0.1 (6A317)
- iPhone 5 iOS device with 8 (12A365)
- When I run the code from XCode, I am suffering the same problem mentioned in this thread:
According to a comment, can be solved with Qt 5.3.2, so I am downloading it.
- When I run from Qt, I see the problem with the screen in landscape mode. I hope that Qt 5.3.2 fix it.
I will tell you the results when the downloading finished.
SGaist, could you please point me to the discussion? Thanks.
I have the same problem than @hubaiz.
The runtime crash is only given when the Device Orientation is set to Landscape.
You can have a look at the "september archive":http://lists.qt-project.org/pipermail/interest/2014-September/ the thread is Future of Qt with iOS.
Here I summarize this thread, and the thread at list.qt-project.org (but read them yourself, I could be wrong):
There are several issues that building for iOS8 causes:
- ASSERT: CFNumberIsFloat (fixed in 5.3.2)
- orientation issues (missing orientation changed events)
- File Manager issues
- EXC_BAD_ACCESS crash(not mentioned in the 'Future of Qt on ios8' thread?)
The Qt developers intend to fix these. Some fixes may be in 5.3.2RC (the release candidate for 5.4?) They won't be back ported to 5.3.2.
If you need to ship an app to the store now, you might need to download 5.3.2RC and possibly apply other patches. (The store won't accept apps that won't run on the current SDK: iOS8).
If you are just developing and can wait until Qt 5.4 is released before you ship, you might avoid these issues by using 5.3.2 and building for iOS7 or using a simulator for an older phone (iPhone 5 instead of iPhone6).