How to add a launch-screen storyboard for iOS in Unity - App Store requirement by June 30, 2020

Old apps will stay on the store. The storyboard requirements are only for new apps and app updates. So you will need to add the storyboard when you update your apps in August.

1 Like

I prefer @Marat_Gilyazov 's solution. Much simpler and fully automated.

@JC-Cimetiere_1 why is the path to the storyboard stored as an absolute path? This means I cannot put it outside the Unity project as the path is then specific to my Mac and won’t work for my colleagues. It should be stored as a relative path to the project surely?

1 Like

At least in my ProjectSettings.asset it is relative

iOSLaunchScreenCustomStoryboardPath: Assets/LaunchScreen.storyboard

It is if inside the project. Try having it outside of the Unity project.

Has anyone noticed that once you start using a storyboard for the launch screen the status icons are displayed briefly part way through the launch? This didn’t happen previously.

Has anyone noticed that once you start using a storyboard for the launch screen the status icons are displayed briefly part way through the launch? This didn’t happen previously.

well thats because it wasnt storyboard before. Alas before ios13 storyboards didnt allow customizing view controller and it was allowing showing status bar. We did implement ios13+ fix (we make sure storyboard uses unity viewcontroller, making it work with orientation restrictions as a side-effect) and we are in the process of backporting it, so expect it to be fixed soonish (again - on ios13+)

Not tried it yet but just wondering are their any problems adding story boards when using Unity cloud build?

Hi,

I’ve just stumbled across this while looking for another iOS issue and didn’t really know anything about it.

Does this only apply if you have a splash screen? We are a Plus user and so have the splash screens turned off? If this is still a requirement, how does it work with Cloud Build, as these solutions seem to be directly manipulating the xcode project?

Thanks

As @Kujo87 says, the solutions don’t work on cloud build as you need to manipulate the xCode project to add the bundle resources. As a (very) temporary solution I did this manually and posted the code here if anyone wants to use it: Add file to XCode Copy Bundle Resources Phase via Script - Unity Engine - Unity Discussions

Apparently it can only be fixed in iOS 13, which has been available only for almost a year, which isn’t enough time for Unity to do anything.

Try setting UIViewControllerBasedStatusBarAppearance to NO in plist, even if it logs deprecated message, that seems to help.

1 Like

This isn’t about the splash screen. It is the launch screen you see before that. So it does apply to Plus and Pro users.

Thanks for the clarification. Sorry for the misunderstanding, with it talking about launch screen and what you can set for those, I thought it was splash.

So at the moment, the only way to fix this is by externally editing the project - not through cloud? That’s incredibly frustrating!

You can also refer to this post that was given in the initial post. It was a lot more straightforward - no manual post build steps needed. That’s how I’m doing it but I don’t know about via Cloud.

1 Like

Awesome - thank you, I’ll take a look. He says in there that cloud works too, so I’ll give it a go!

Shame its not something Unity can do automatically like they did previously

If anyone is supporting multitasking on iPad, you may get an error when uploading your app archive to the App Store:

ERROR ITMS-90476: "Invalid Bundle. Your app supports Multitasking on iPad, so you must include the launch storyboard file, 'LaunchScreen.storyboard', in your bundle, 'com.yourdomain.YourApp’."

However, we do have a LaunchScreen storyboard. Many developers online suggest changing the Info.plist
UIRequiresFullScreen to true and UIRequiresFullScreen~ipad to false, but the error is actually triggered because Unity is setting the wrong value for UILaunchStoryboardName. It should be “LaunchScreen” not “LaunchScreen.storyboard”

I believe the above error is triggered because the validator expects to find “LaunchScreen.storyboard.storyboard” in the bundle, but it doesn’t exist. @Alexey maybe look into fixing this? Change Unity so that it only takes the name of your custom storyboard file and not the extension also.

1 Like

According to OP, “Unity’s built-in Splash Screen (mandatory for Personal Edition) is not affected by this update. The launch-screen storyboard appears before the Unity Splash Screen (if you have enabled it).”

Does this mean that I don’t need to do anything? I’m on a Personal license, and the only splash/launch screen I have is Unity’s built-in splash screen. Like when you launch my app, you’ll see Unity’s built-in splash screen, followed by the app’s home menu. Thanks!

It is really strange if you have nothing before the Unity splash screen. Does the screen go black for a while? That is what happens if you haven’t populated the launch screen at all. That screen is what is changing.

we’re on it

2 Likes