Are there any new findings here? I have the same problem with ios15 and the iphones12/13. It works on all older devices such as iphone7,8, ipad7 etc.
For me, the view is not loaded for the Camera QR Code... I am aware that certain things are not allowed to happen in the main thread and the native parts are also started here by me in the background thread. Unfortunately, my company wrote the app in Qt with native iOS parts...which also work wonderfully, but the method is just kicked out of the Qt main thread and as soon as a while loop or a timer or for loop is started and the Stopping the app for a short time until the QR code is scanned will not display the view or the UI / window.
Example
[qrCodeController performSelectorOnMainThread:@selector(initializeQRViewNative) withObject:nil waitUntilDone:NO];
[qrCodeController performSelectorOnMainThread:@selector(startCamQR) withObject:nil waitUntilDone:YES];
// here waiting for QRCode if method startCamQR is finished
*((QString*)data) = qrCode;
qrCode = "";
imageControllerCanceled = false;
NSLog(@"wait for QrCode....");
here is the content of the method startCamQR
while (qrCode.isEmpty() && !imageControllerCanceled)
{
NSLog(@"Starting QRCodeHandler");
qApp->processEvents(QEventLoop::AllEvents,100);
}
NSLog(@"QRSelectorIsFinished = %d with code %@",QRSelectorIsFinished ,qrCode.toNSString());
In principle, as soon as a while loop or an NSRunloop etc. is entered there, the QR View camera does not load.
If I set waitUntilDone:YES to NO then of course the
Camera QR View
but at the bottom of the code it just smokes through and the Qrcode string can no longer be passed on to the Qstring... unfortunately I can't rebuild the entire QT main code... maybe someone else has an idea... I've already tried everything with Completion handler or async nothing... works... as soon as a NSTimer loop or something else is installed... you can't see the UI anymore
As I said with all other devices it works perfectly just not in connection with ios15/16 and the iphone12 and newer