Reputation: 1202
Basically, I want my app could change its splash screen by app settings. Settings are saved in plist file.
Actually it's about different language, I want enable my user to choose my app language, even if it's different with the system preferred language.
Is it possible? I searched some answer, suggesting to use another view controller to simulate as splash screen, but my splash screen itself will take some to to load my app, not by my pause. So should I display nothing in the real splash screen?
I wonder if there is a way to change the splash screen by some conditions.
Thanks a guys.
Upvotes: 1
Views: 4052
Reputation: 92316
Apple does not provide a way to do that, as that would involve either modifying the Info.plist
or modifying the splash images, both of which would in turn spoil your code signature. It would also open a very ugly can of worms, so modifying Info.plist
will probably never be allowed which in turn means you will not be able to change the splash screen dynamically unless Apple adds explicit support for that via some other means. But right now, you're out of luck, I'm afraid.
Upvotes: 1
Reputation: 5616
The splash screen will show only for as long as it takes for the appDidFinishLoading
method to return YES
. One possible solution is for you to have a really simple (not localizable) splash screen and to basically do nothing in this method and return YES
straight away.
You can then use an actual view controller as your splash screen that is dynamically initialized and actually does any initialization your app may need in the viewDidAppear
method. Once the initialization is done, you can then proceed and show what would normally be your root view controller.
EDIT: You should also consider, however, that splash screens are not intended to provide any kind of content to the user, as pointed out in this answer.
Upvotes: 4