This is actually a copy of UE-42339 bug, which is marked as a duplicate of UE-41244.
But it seems, that UE-41244 is solved, because iOS applications don’t crash anymore (with 4.16.2) when you tap “Switch” button, or toggling between VR and Fullscreen mode (stereo on/off), and it is cool! (Actually it sometines crash, but maybe when I add additional plist data about Camera Use, it stops crashing, anyway, my application don’t crash after Switch button and toggling VR mode)
BUT! UE-42339 is a different and actual problem! Why it is marked as duplicated?
If you create shipping build for iOS with GoogleVR Plugin enabled, it will crash after spash. I tried different versions of engine: 4.15.3, 4.16.1, 4.16.2, 4.15-googlevr (source build), 4.16-googlevr (source build) and everytime the result is the same.
Building on Windows with remote Mac, directly on Mac, code project, blueprint-only project - everytime the same result.
I attach my runtime and crash logs from iOS shipping build, which crashes, and runtime log from development build, which runs okay.
To reproduce the issue, you must follow theese steps:
Create a new project
Enable Google VR plugin
Set build configuration to Shipping
Package for iOS
Install on to device (i used iPhone5S and iPhone6+)
Open app on device
Notice that the app closes immediately after slash screen appears
Expected: The app would open and enter in to VR mode
Result: App closes as soon as the default splash screen shows up
I attach runtime and crash logs from Shipping-builded application, which crashes, and one runtime log from Development-builded application, wich runs okay.
I found, that the error appears right after GoogleVR initialization:
shippingruntimelog.txt, [186 string]: Jul 6 10:18:55 iPhone-Daniil SpringBoard(KeyboardArbiter) <Error>: HW kbd: Failed to set (null) as keyboard focus
and may cause a crash. Hope it will help in further investigation.
If somebody knows a workaround, I’ll appreciate for telling about it to me.