Hi.
I’ve done a workaround by modifying source code.
The file is Engine/Source/Runtime/ApplicationCore/Private/IOS/IOSAppDelegate.cpp
The function is didFinishLaunchingWithOptions (Hope that’s the function name, didn’t know Objective-C syntax)
There are a bunch of if/else cases, that selects the right launch image. I was testing on iPad Pro 2 12.9 inch, and noticed that there is no case for it, so the last else branch was executed (By the way it executed wrong: height and width were 0).
So, I’ve changed the line 652 (ue4.19.2) from
else if (Device == FPlatformMisc::IOS_IPadPro_129)
to
else if (Device == FPlatformMisc::IOS_IPadPro_129 || Device == FPlatformMisc::IOS_IPadPro2_129)
and it worked like a charm.
So the generic steps for fixing this kind of errors are the following. Place a lot of UE_LOGs, like in every if/else branch, to print your device (The FPlatformMisc::EIOSDevice enum values can be found in Engine/Source/Runtime/Core/Public/IOS/IOSPlatformMisc.h) and orientation. Next launch your app on the device, close it, get the logs with IPhonePackanger and watch through them. Verify that the correct image and orientation are chosen and you should see your launch image. There may be simpler way to debug the application running on device (especially if you are using Mac for development). If you know one, you may use it (and teach me, too).
P.S. Still I’m not sure if this is a bug, or I’ve been doing something wrong, but anyway I’ve posted a bug report to Epic, but did not get any answer yet. Hope this kind of issues will be fixed in 4.20, as Fortnite’s launch image looks great.