I'm trying to get my app's splash screen to be displayed correctly instead of a black screen for a few seconds before the splash screen. I have made 3 implementations of the splash screen; issues with each are listed below:
XIB: This only displays the background color of the splash screen for a few seconds and then the rest of the splash is loaded.
XIB + Asset Catalog: For iPhone 5 running iOS 8: if the phone is currently displaying the blue navigation bar and the app is opened from a url while in the background, a black screen will be displayed before the splash.
Storyboard: On all models: this displays a black splash screen before the actual one loads.
Is this an iOS bug or am I implementing something wrong?
You might want to check the logic that is executed when the application is launched - application:didFinishLaunchingWithOptions:. If it takes significant time to execute the code in it, then this might be the problem. It is always recommended to return fast and execute any additional logic on a later moment.
It's so quite simple! I had such bug and I solved it.
You should enable "Enable Initial View Controller" to see splash screen
Related
There is a weird issue with an iOS app. Initially there were no modifications on the Launch screen and the app started just with a white screen. Now the launch screen has been modified with black colour and an UIImageView in the centre, showing a png image. After that there is the Initial Screen that shows an animation for 1.5 seconds and then another screen is shown. Let's call it screen X. Before the modifications to the Launch screen Screen X was the initial screen of the application.
The issue is the following. On start of the application often instead of showing the Launch Screen first, Screen X is shown. Then after about a second the Initial Screen shows with the animation and then Screen X again. We tried deleting the app and the issue disappeared for a while, then reappeared. Is this some kind of caching? What could be happening?
If the proper Launch Screen isn't being displayed, and you've already uninstalled the app, restarting the device usually fixes it.
In iPhone App there is an issue of buttons from previous screen appear on the current screen when the screen got loaded. they will disappear when the refresh is manually triggered. I have used white and blue colors for the App. is there any way I can avoid happening this. This is only occurs on IOS App and not on Android App
i have a problem. when i launch my app there is a black screen viewed for a seconds then the launch screen appeared.
my splash screen isn’t the default one. i used view controller because my splash had an animation.
i searched for a solution, and i get this on:
Black screen before my splash screen loads iphone
but it didn’t worked
any help please?
thanks
Have you selected your Launch Screen in your target's App Icons and Launch Images ?
Edit: If you don't use any launch (splash) screen or image then, a black screen is the default behaviour before loading your view controller.
I faced same issue but my solution is different,
I've made an extension of UINavigationController to make UINavigationBar clear.
So,the problem is , I was doing some R&D on that code and unknowingly put a method
open override func loadView() {
super.loadView()
}
and from that time, I started facing this issue.
My advice, please double check that you haven't don't something like that.
I had a custom splash screen to launch. But the Launch Screen file was pointed to Default LaunchScreen.storyboard. Replaced that with my original custom splash, the issue fixed
So, i have a webview in which i load an ad everytime the app starts, this is the first viewController in the main navigation controller and its the one that launches the home viewController after the ad, the problem is, after the splash screen and before the ad is finish loading, the webview is hidden at first and when loaded then is visible, beneath the webview is an uiimage with constraints to fill the entire view. the image is the same as the splash screen (portrait or landscape), but when the transition from the splash intro to the first viewcontroller begin, the imageview looks offset in comparison to the ios splash image, so im guessing it has to do with the status bar at the top? i have tried many combination of constrains and sizes and i cant seem to find a way to achieve a non-jumpy transition from the splash to my first uiimageview filling the whole view.
this is what im trying to achieve.
https://dl.dropboxusercontent.com/u/33305929/intro.png
the whole thing is already done the only problem is the jumpy not perfect transition from the intro splash screen to my uiimageview in the first viewcontroller, any ideas? has anybody faced the same issue, any suggestion is much appreciated. thanks for your time.
note: the uiimageview has constraints for top, bottom, left and right of the layout. i also tried with no constraints with no luck.
So the problem was the resolution of the image that ios was using in the splash screen.
from ipad2 and ipad mini, it should be the normal (768,1024) version of the splash, for ipad Air and retina displays the image for splash is the #2X version.
When I load my iPhone app it always loads a black screen first then pops up the main window. This happens even with a simple empty app with a single window loaded.
I've noticed that when loading, most apps zoom in on the main window (or scale it to fit the screen, however you want to think about it) and then load the content of the screen, with no black screen (see the Contacts app for an example).
How do I achieve this effect?
Add a Default.png to your project. This should be the image you want shown instead of the black launch screen.
Also just to save you some time, there is no way to change this image during the runtime of your application. If you look at Apple's Clock application you can see how depending on the last state of the application, the Default.png changes. You cannot do this in your own app because of permission limits. Also, make sure to read the iPhone HIG for best practices on Default.png use, in short, dont use it as a splash screen like Twitteriffic.
You can also take a screenshot of your app as an aid to creating the Default.png - while holding the Home button, press and release the Lock Sleep/Wake button. The screenshot can be find in your Camery Roll library in the Photos app and can be synced back to your desktop.
When the app transitions from the launch image to the actual app content, it should not be jarring to a user - content (text/images) can be added to the screen, but content should never change. If all this leaves you with is an empty blue header, a white body, and a blue footer - then that's all you should have. If you have a persistent tab bar on the bottom & a localized app (different text descriptions), then then launch image should appear with icons but no text. (See Clock.app & Facebook.app for examples.)
Screenshots can also be taken in XCode using the Screenshot tab in the Organizer window and a plugged-in device.