On "newer" Apple devices, seemingly anything iPhone 6 and above, the Vuforia Unity app I have built for a client is running into a troubling issue on the first load after the application is installed. Vuforia completely fails to initialize (black screen), although it will work just fine if the user quits the app and reloads-- only on the first run does this issue appear. Oddly, it does not do this EVERY time the app is run "fresh", only intermittently.
Based on some threads on the Unity forums and here, I upgraded to the latest version of the Vuforia plug-in, but the issue still appears. I then attempted to upgrade to a newer Unity version, as the app was built with 5.1.2 which is below the current minimum recommended Unity version-- but the issue happens even more frequently on Unity 5.3.1. I have also tried building with both Xcode 7.2 and Xcode 7.3; the issue appears to be worse when built with 7.3, but present on both versions.
When debugging this issue in Xcode, the only differing behavior when it gets "caught" and does not initialize on a fresh install is that Vuforia will "cycle through" some of its start-up function logs (like trackerManagerInitTracker and SetHint) indefinitely.
I do receive a set of warnings/errors after the initialization log that I had been previously unable to diagnose but that might be related to the issue, although it does not seem to "matter" on the iPhone 5 generation devices:
2016-04-28 16:55:13.166 app[434:40359] DEBUG/AR(434) UIView has CAEAGLLayer layer class
2016-04-28 16:55:13.166 app[434:40359] DEBUG/AR(434) UIView does not respond to selector renderFrameVuforia
2016-04-28 16:55:13.166 app[434:40359] DEBUG/AR(434) UIView has CAEAGLLayer layer class
2016-04-28 16:55:13.167 app[434:40359] DEBUG/AR(434) UIView does not respond to selector renderFrameVuforia
2016-04-28 16:55:13.167 app[434:40359] DEBUG/AR(434) Could not find a UIView with CAEAGLLayer or CAMetalLayer layer class that responds to selector renderFrameVuforia
Vuforia initialization successful
As far as I could determine this issue is related to the fact that I have my own CustomAppController I use for some app functionality; based on others' findings on the subject, I merged the code from Vuforia's own custom app controller into my own, but these debug statements are the result.
I've attached the CustomAppController in full in the hopes that troubleshooting this issue will fix the intermittent failure to initialize; or if anyone has any idea what else could be causing this bug, I would appreciate any insight ASAP as the app is live on the app store (we thought the new version of Vuforia had fixed the issue) and a fast turnaround on this fix is crucial.
Intermittent (but Consistent) Black Screen on First App Load
As a follow-up, the warnings/errors noted in the original post appear even if I replace my CustomAppController with the VuforiaNativeRendererController. Additionally, there is another error I noticed later on in the Vuforia set-up logs.