Black Screen on iOS 10

Creating a fresh project with Unreal Engine 4.12.2 and manually deploying the .ipa to iOS 10 just results in a black screen (not even the splash screen displaying). I realize that iOS 10 is not yet supported, but I’m interested in any debugging steps or project setting workarounds that people might have.

There are some fairly suspicious things in the log, such as “The requested application data doesn\M-b\M^@\M^Yt exist.”


Dec 31 17:00:23 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: app name com.electrovore.VRover isForeground 1  hasForegroundApps 1, current idea of foreground 0 disp (null)
Dec 31 17:00:00 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: Going to Foreground, new flags 0x8000, initial value 0x8000, enabled 0
Dec 31 17:00:23 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: Continue with bundle name com.electrovore.VRover, is front 1
Dec 31 17:00:23 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: com.electrovore.VRover: Foreground: true
Dec 31 17:01:07 AlephOne VRover(Foundation)[1009] <Notice>: NSBundleResourceRequest helper daemon reports an error in parsing the on demand resources information: Error Domain=_NSBundleResourceRequestErrorDomain Code=100 "(null)"
Dec 31 17:00:00 AlephOne appstored[203] <Error>: <private>
Dec 31 17:05:24 AlephOne VRover(CoreFoundation)[1009] <Notice>: Assertion failed: HasFoundDataDirectory [File:/Users/build/Build/++UE4+Release-4.12+Compile/Sync/Engine/Source/Runtime/Core/Private/Internationalization/ICUInternationalization.cpp] [Line: 119] 
ICU data directory was not discovered:
../../../VRover/Content/Internationalization
../../../Engine/Content/Internationalization
Dec 31 17:00:23 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: Failed to find process for com.electrovore.VRover
Dec 31 17:00:23 AlephOne symptomsd(SymptomEvaluator)[116] <Notice>: Set appCompactState object 0 for key com.electrovore.VRover
Dec 31 17:02:26 AlephOne VRover(CoreFoundation)[1009] <Notice>: Error: Error Domain=NSCocoaErrorDomain Code=4994 "The requested application data doesn\M-b\M^@\M^Yt exist." UserInfo={NSLocalizedFailureReason=InvalidTag}


Thanks,

If you look closely, the actual error was this:


Dec 31 17:05:24 AlephOne VRover(CoreFoundation)[1009] <Notice>: Assertion failed: HasFoundDataDirectory [File:/Users/build/Build/++UE4+Release-4.12+Compile/Sync/Engine/Source/Runtime/Core/Private/Internationalization/ICUInternationalization.cpp] [Line: 119]


And right below is the message printed by the failed assertion check:


ICU data directory was not discovered:
../../../VRover/Content/Internationalization
../../../Engine/Content/Internationalization

It looks like files are missing from your IPA (or iOS 10 can’t find them for some reason). Did your same IPA work on iOS 9 devices? Try decompressing the IPA to see if those folders are actually in there (the IPA is actually a zip file).

The exact same .ipa does run on iOS 9, and the files are not present. It does seem possible that it’s a non-fatal error for the Internationalization files to be missing and the real problem is graphics initialization.

Just to add a bit more information to this: The splash screen does appear but the display is black after that.

Has anyone else had luck on iOS 10?

I’ve updated to Unreal Engine 4.12.5 and iOS 10 Beta 2, and it’s now working well.

Or not … I’ve experimented with various settings using either the Xcode 7 or Xcode 8 command-line tools and am now back to a black screen after the splash screen.