iOS 7 launch image (splash screen) fades out

ios black screen after splash screen
launch screen storyboard black
cordova splash screen
cordova splash screen generator
flutter ios black screen after splash
splash screen flutter
flutter black screen after splash screen (ios)
cordova splash screen example

On iOS 7, launch images fade out instead of disappearing immediately when the app is loaded.

Is there any setting to prevent this launch image fade out animation? I need it to disappear immediately just like in the iOS 6 and earlier.

Edit for answers:

Yes, it is possible to add the splash image as a UIImageView to the top window and hide it after splash fade animation is completed. But this causes a delay of 0.4 seconds which I'm trying to avoid.

I have managed to do that in the AppController. Just place this code right after the creation of the glView

    UIImage* image = [UIImage imageNamed:[self getLaunchImageName]];
if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)])
{
    float screenScale = [[UIScreen mainScreen] scale];
    if (screenScale > 1.)
        image = [UIImage imageWithCGImage:image.CGImage scale:screenScale orientation:image.imageOrientation];
}
UIImageView *splashView = [[UIImageView alloc] initWithImage:image];
[viewController.view addSubview:splashView];
[splashView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.1f];

It is easy. Just get the launch image and make it disappear after a delay. You will need the getLaunchImage code (based on this comment, not tested with iPhone 6 nor 6 plus)

    -(NSString*)getLaunchImageName
{

    NSArray* images= @[@"LaunchImage.png",
                       @"LaunchImage@2x.png",
                       @"LaunchImage-700@2x.png",
                       @"LaunchImage-568h@2x.png",
                       @"LaunchImage-700-568h@2x.png",
                       @"LaunchImage-700-Portrait@2x~ipad.png",
                       @"LaunchImage-Portrait@2x~ipad.png",
                       @"LaunchImage-700-Portrait~ipad.png",
                       @"LaunchImage-Portrait~ipad.png",
                       @"LaunchImage-Landscape@2x~ipad.png",
                       @"LaunchImage-700-Landscape@2x~ipad.png",
                       @"LaunchImage-Landscape~ipad.png",
                       @"LaunchImage-700-Landscape~ipad.png",
                       @"LaunchImage-800-667h@2x.png",
                       @"LaunchImage-800-Portrait-736h@3x.png",
                       @"LaunchImage-800-Landscape-736h@3x.png",
                       ];

    UIImage *splashImage;

    if ([self isDeviceiPhone])
    {
        if ([self isDeviceiPhone4] && [self isDeviceRetina])
        {
            splashImage = [UIImage imageNamed:images[1]];
            if (splashImage.size.width!=0)
                return images[1];
            else
                return images[2];
        }
        else if ([self isDeviceiPhone5])
        {
            splashImage = [UIImage imageNamed:images[1]];
            if (splashImage.size.width!=0)
                return images[3];
            else
                return images[4];
        }
        else if ([self isDeviceiPhone6])
        {
            splashImage = [UIImage imageNamed:images[1]];
            if (splashImage.size.width!=0)
                return images[13];
            else
                return images[14];
        }
        else
            return images[0]; //Non-retina iPhone
    }
    else if ([[UIDevice currentDevice] orientation]==UIDeviceOrientationPortrait || [[UIDevice currentDevice] orientation] == UIDeviceOrientationPortraitUpsideDown)//iPad Portrait
    {
        if ([self isDeviceRetina])
        {
            splashImage = [UIImage imageNamed:images[5]];
            if (splashImage.size.width!=0)
                return images[5];
            else
                return images[6];
        }
        else
        {
            splashImage = [UIImage imageNamed:images[7]];
            if (splashImage.size.width!=0)
                return images[7];
            else
                return images[8];
        }

    }
    else
    {
        if ([self isDeviceRetina])
        {
            splashImage = [UIImage imageNamed:images[9]];
            if (splashImage.size.width!=0)
                return images[9];
            else
                return images[10];
        }
        else
        {
            splashImage = [UIImage imageNamed:images[11]];
            if (splashImage.size.width!=0)
                return images[11];
            else
                return images[12];
        }
    }
}

-(BOOL)isDeviceiPhone
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        return TRUE;
    }

    return FALSE;
}

-(BOOL)isDeviceiPhone4
{
    if ([[UIScreen mainScreen] bounds].size.height==480)
        return TRUE;

    return FALSE;
}


-(BOOL)isDeviceRetina
{
    if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
        ([UIScreen mainScreen].scale == 2.0))        // Retina display
    {
        return TRUE;
    }
    else                                          // non-Retina display
    {
        return FALSE;
    }
}


-(BOOL)isDeviceiPhone5
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[UIScreen mainScreen] bounds].size.height==568)
    {
        return TRUE;
    }
    return FALSE;
}

-(BOOL)isDeviceiPhone6
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[UIScreen mainScreen] bounds].size.height>568)
    {
        return TRUE;
    }
    return FALSE;
}

iOS 7 launch image (splash screen) fades out - animation - html, For Launch screen Xamarin iOS provides Xamarin Launch images, same as The splash screen for both iPhone and iPad is Launch Screen. 7 then the storyboard is fine and the simulator is fine too, but when I run the app on the Once the app loads, the screen fades out, revealing your app UI. width let height = layer. IMPORTANT Don't use a static image for your launch screen. If you need to know the dimensions of various screen sizes to help you lay out your designs, see Device Screen Sizes and Orientations . Design a launch screen that’s nearly identical to the first screen of your app.

In iOS 7, the splash screen fade-transitions from the splash image to your first UIView. If that UIView looks identical to the splash screen, you see no fade. The problem is that Cocos2D's initial view is pure black.

Unfortunately, the only way I found to resolve this was to actually add a UIImageView identical to the splash image for a second, then remove it once Cocos2D started drawing.

In CCDirectorIOS (or your subclass):

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_WIDESCREEN (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height > 567.0f)
static const NSInteger tempSplashViewTag = 87624;

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    NSString *spriteName = IS_IPAD ? @"Default-Landscape" : IS_WIDESCREEN ? @"Default-568h" : @"Default";
    UIImageView *splashView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:spriteName]];
    splashView.tag = tempSplashViewTag; 
    [self.view addSubview:splashView];

    [self startAnimation];
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        UIView *splashView = [self.view viewWithTag:tempSplashViewTag];
        [splashView removeFromSuperview];
    });
}

Ios launch screen storyboard image size, Legacy launch images: images are sized exactly for the device's screen size. < splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/> there's only one device class that currently has a 3x density: the iPhone 6+/6s+/7 +. the splash screen from fading in and out when its display state changes. Once the app loads, the screen fades out, revealing your app UI. These screens are completely static for a reason: Apple doesn't want you running code or performing any CPU-intensive tasks while the app boots. Due to this restriction, you're only allowed to use three types of file for a launch screen: A image, storyboard, or a nib (*.xib) file

I had the same problem developing an app with Cocos2D-x and having my main window and OpenGL content initialize in

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

Instead I moved it to the method

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

and now it doesn't "fade" any more. Note the will instead of did. This method is available on iOS6 and higher however, so if you want your app to be compatible with iOS5.x and lower you can just do a preprocessor version check for < __IPHONE_6_0 and use the "didFinishLaunching" method, since there it wasn't even an issue.

Cordova Plugin Splashscreen - Apache Cordova, In flutter, a black screen appears between the splash screen and first screen 7 Flutter 0x0000000102473f67 -[FlutterViewController In the category of "App Icons and Launch Images" There is App Icons Source and Launch Screen File. Pro: Animates/fades the App icon into the launch screen without� In this tutorial, I'm going to show you how to make a splash screen. The source code: https://gist.github.com/Abedalkareem/e9fdff8765c6797c5e08b43072c972ef T

If that is really your code, you probably have a typo in the image name. (If not, let us know what "not working" means.)

Also, the splash screen doesn't normally come up every applicationDidBecomeActive:. didFinishLaunchingWithOptions: is the time you know that you have been launched and the splash screen had been shown on your behalf.

-(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [UIView animateWithDuration:0.2
                          delay:0
                        options: UIViewAnimationCurveEaseIn // change effect here.
                     animations:^{
                        self.window.viewForBaselineLayout.alpha = 0; // and at this alpha
                     }
                     completion:^(BOOL finished){
                     }];

    return YES;
}

Black screen between Splash Screen and First Screen (iOS) � Issue , This tutorial shows you how to add splash screen or launch image in your iOS app. Usually, splash screen is an image covering the entire screen and disappears to check out Apple's programming guideline for App Launch Image if I had perhaps missed a major design sensibility change with iOS 7. Change splash screen in iOS app for dummies (the better way) Forget about adding images for splash screen (launch screen) with different sizes. Add Launch Screen image to Asset Catalog

I just wanted to confirm Patrick's answer as it relates to Cocos2D apps, and add a few more details as well.

The behavior is indeed easy to see if you switch between a 6.1 simulator and 7.x simulator -- the first does an instant switch (with possibly a flash of black, for the same reason), while the 7.x simulator does a slow and annoying fade to black, followed by the blink in of your Cocos2D scene.

If you don't want to modify or subclass the CCDirector stuff, you can also use his same code to modify your AppDelegate. In our case, it was pretty simple to:

  1. In appDidFinishLaunching ... we wait until the glView has been created, then add the UIImage as a subview to it;
  2. We then create a "postDidFinish..." routine, and performSelector to call it after 0.1f seconds or so. In that, you can then removeFromSubview using his same code.

It's not as elegant and invisible as adding to the CCDirector class, but it's pretty easy to get in as a quick fix!

How to Add Splash Screen in iPhone App, http://stackoverflow.com/questions/18376285/ios-7-launch-image-splash-screen- fades-out. So seems a solution would be to edit the black� this image show how Xcode by defaults sets LaunchScreen.xib for iOS 8 launch screen file. If you don't want to set LaunchScreen.xib as launch screen file and want to display some launch image as you want in iOS 7 device, so just remove launch screen file name and make it blank(see below image) and delete LaunchScreen.xib file from Xcode .

Fade iOS 7 splash screen, I have an iOS app currently running in Appstore. I am in the process of updating the app's Launch image. I also tried using completely new xibs and image assets but the splash screen becomes a blank white as the old one and put it out of the *.xcassets folder to the project directory and reference it in your UIImageView. dans iOS 7, l'écran splash s'efface-transitions de l'image splash à votre première UIView. Si UIView semble identique à l'écran splash, vous ne voyez pas de fondu. Le problème est que la vue initiale de Cocos2D est purement noire.

Launch Screen Image not Updating!!!, Cordova: ionic cordova plugin add @ionic-enterprise/splashscreen Capacitor: to prevent the splash screen from fading in and out when its display state changes. When set to true the splash screen will only appear on application launch. Update splashscreen image bounds for iOS 7; CB-4752 Incremented plugin� Open the file in Photoshop. To create your splash screen, double-click the layer named ‘Splash Screen (Edit me and save)’. This opens a Smart Object. Create your splash screen in this canvas. When you’re done editing, save your changes and return to the main PSD file to see your splash screen rendered on an iPhone.

Splashscreen, In Unity go to your Player Settings -> Splash Image, check the "Use If you'll build your unity-project for iOS now, it'll use this storyboard Currently we do not use the "Use Storyboard for launch screen" option, but in out info.plist it says If you find a way to use a storyboard, that doesn't then fade to grey,� Ape Tools - Generate the many sizes of icons and splashscreens (launch images) your app will require in order to get your app published to all of the major app stores.

Comments
  • Well don't expect use to break the NDA, your best bet is to ask this question on the developers forum
  • It was asked about a month ago but no response so far. Believe it or not, Apple Dev Forums is the most useless place to discuss iOS development.
  • Although it is true, people might not want to break the NDA by talking on it here.
  • NDA is over - anyone have an answer?
  • Where did you get the number "0.4 seconds" from?
  • Ah, ok, sorry. I didn't notice any delay when the image is added. It is instant. You can tweak the time you want the image on the front of the UI with the "delay" parameter (but now is 0.1 secs, not 0.4)
  • Alex R.R.: Your solution works perfect! But consider changing your answer based on this version of getLaunchImageName: stackoverflow.com/a/27797958/540639. It looks much more elegant.
  • @erkanyildiz 0.4 seconds starting from when? I found a shorter time worked fine from -[viewDidAppear]. 0.4 seconds is a reasonably long time to be waiting.
  • Thank you! This works for a standard view controller as well.
  • It worked for me with cocos2d-x v2.2.5, but upgrading to 3.2 fails again, and i am seeing a black screen fading out again
  • Yeah, this didn't work for me. Still fades in v3.9 of Cocos2d-x.