ios launch image is displayed each time i open application after changing orientation - ios

I am observing a behavior. I am not sure if it is a normal behavior or not. My steps are as below :
1) start application by pressing application icon. it shows me launch image first and then displays rootviewcontroller.
2) I press home button. and my application goes in minimize state.
3) Now I change the orientation of the iPad and again tap to application icon. It again shows the launch image and then loads the rootview. If I do not change the orientation then it does not shows launch image next time I open the application.
Any suggestion or direction will be thankful.

Related

Wrong screen showing at start of app and launch screen or initial screen showing with delay

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.

Issues with buttons, clock control from previous screen overlay on current screen before refresh

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

Splash Screen in iOS Multitasking

In what cases would iOS application would shows splash screen i.e., Default image (other than App Launch) ?
I am forcing a view controller to support landscape mode only
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
If user is in this view and pushes the application to background and then bring it back up, app shows splash screen for < 1 second..
In another case if I have an UIAlertView open, push the application to background and bring it back up, app shows splash screen for a second.
Do we have any explanation about this in UIKit Documentation, and in what scenarios would multitasking in iOS will show user the Splash screen for a brief period.
Thanks.
Updated Question with an example:
If we go to Settings Application (for the first time) -> iTunes &App Stores -> Tap on AppleId: row -> You will be presented with an alertView -> Push Home button which takes the app to background -> bring the app back up. You will observe Default.png for Settings application for < 1 second before you will be presented with screen you were on before.
The system (SpringBoard) is responsible for managing your app snapshots. When you leave your app, a snapshot is written as a png file inside Library/Caches/Snapshots/com.yourcompany.yourapp/UIApplicationAutomaticSnapshotDefault-Portrait#2x.png
When you relaunch your app, SpringBoard tries to read that file and display it so that you have the impression that your app has woke up very fast. If it can not read that snapshot file, then it will display the Default.png instead.
I have noticed that Default.png is displayed only when you quit and relaunch your app very quickly. If you wait one or two seconds before relaunching your app, the system has time to write the snapshot and the Default.png is not displayed.
Since a system process is managing the display of snapshots, there is absolutely nothing you can do in your app to prevent Default.png to briefly appear.
The Default.png will only be displayed, if the app gets started from scratch. This means the first time, or it was closed completetly since it was opened the last time.
If you just run a standard app, you will see the Default.png at the first start only until it gets closed from the system (because of too less memory) or from the user via the multitasking bar.

Launch image for iPad app seems to incorrectly show for every screen

I have set the launch image for my app to look like the initial screen. My app is a multi-screen/multi-view application that mostly takes place in a UINavigationController. But every screen can look very different, so there isn't really much commonality for a general launch image.
I have noticed that if I am in a screen in the app, then go out of the app (pressing the home button), then go back in, it shows the launch image, then it loads up the screen the user was last using. I think this is the expected behavior.
That being said, according to Apple, the launch image is required. So it seems that I have a few options:
Set an all black launch image
Cache an image of the last screen and somehow set that as a dynamic launch image
Specify to only use a launch image on the first screen
Don't specify launch image?
Right now I am leaning towards option 1 and just having an all-black launch image, but I would appreciate if anyone has any tips/suggestions/advice. Thanks.

iPhone app loading

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.

Resources