Hi,
Any tips on how to make splash screens make work on unity 5.3.3f1? App has landscape only (autorotation with landscape right and landscape left only). Using “Image and background (relative size)” option or both iphone and ipad. On ipad everything works fine, on iPhone all i get is dark blue (unity splash screen color i believe) fullscreen square surrounded by white area. This prevented me from deploying the game last night
On slower device it is visible that it first loads this screen, then it loads xib with the proper image and then loads unity animated splash screen. At first i thought that it simply loads unity default splashscreen (which is pure dark blue), but replacing those images doesn’t solve the problem nor does it affect it (meaning it doesn’t load a static splash screen before showing xib one). Hiding ViewL or ImageL completely inside the xib, removes both images so it must be something that it loads before it loads the actual texture image, but can’t find that in splashscreen.mm…
Ok, apparently it’s the same problem that was present on iPad (or was it iPhone… ) few versions back.
Though all my thoughts are only assumptions since I can’t find the code responsible for handling ViewL,ViewP and Subview visibility (is this part of core unity engine?) but it looks damn right.
My guess is that this problem is due to landscape/portrait views available in xib (or in this case P view not available in xib). All iPhones except 6+ and 6s+ load apps in portrait mode, and then if app is landscape only, they turn it. It seems that even though ViewL is available in xib from the start, image is only loaded when orientation is changed to landscape. The change happens 1-2s after the launch during which the random blue square is shown (ImageP without image i guess).
I was able to fix that by adding ViewP and disabling ViewL in the xib. I am 99% certain this won’t work on iphone 6+, but since number of “portrait-launch” iphones way outnumbers landscape ones, I opt to make my splash look good on “portrait” iphones.
Other option is to copy ipad xib and rename it to iphone. This only has subview rather than viewl and viewp which I assume will be shown for all devices regardless of orientation. I have learned the hard way in the past that it’s dangerous to have pixel perfect splash screens. Since our splash screen is very generic “loading” image now, we can afford to use ipad xib as long as image is always fitted into the screen.
I am still surprised how unity team is unable to fix these splash screens once and for all.