(Solved) Can't get UILaunchImages to work, iOS 8 / iPhone 5

I’ve seen more bizarre things in all my years of doing this.  But at least we know the cause.

Rob

@520085715353-0001@t-online.de

I share the same results. Tall mode gets deactivated without the space.

@xnailbender

I think it’s better you mark Rob’s answer as the “best answer” so that people can see what the real issue was.

I am having the same problem now. It was ok, a few weeks ago, but the s.screen doesn’t show anymore. It is just a black screen when loading. I am pretty sure my build.settings is correct as i copy/paste it from the docs.

Works on Android.

running on iOS8 and corona Mac simulator 2014.2453

Pls advise.

I notice this error in the Xcode console :

\<Error\>: assertion failed: 12A405: libxpc.dylib + 51955 [84E1BEE3-B897-39DD-9A7B-D061B6B252C5]: 0x7d

My build.settings file :

settings = { plugins = { ["plugin.openssl"] = { publisherId = "com.coronalabs", }, -- Admob v2 ( file:///D:/Bricatta/CoronaApiDocs-2014.2302/plugin/ads-admob-v2/index.html ) ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, }, build = { -- neverStripDebugInfo = false }, excludeFiles = { -- Exclude all files at paths which end with "secret.txt": -- all = { "\*secret.txt" }, -- Exclude all Android icon files and .ogg files in the "music" directory: -- iphone = { "Icon-\*dpi.png", "music/\*.ogg" }, -- Exclude iOS "retina" image files and .m4a files in the "music" directory: android = { "asset/\*/\*@4x.png", "asset/\*/\*@4x.jpg", } -- "AppIcon\*", "iTunesArtwork\*", } }, android = { permissions = { { name = ".permission.C2D\_MESSAGE", protectionLevel = "signature" }, }, usesPermissions = { "android.permission.READ\_PHONE\_STATE", "android.permission.VIBRATE", "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.GET\_ACCOUNTS", -- For GCM push-notification "android.permission.RECEIVE\_BOOT\_COMPLETED", -- For GCM push-notification "com.google.android.c2dm.permission.RECEIVE", -- For GCM push-notification ".permission.C2D\_MESSAGE", -- For GCM push-notification --"android.permission.ACCESS\_FINE\_LOCATION", --"android.permission.ACCESS\_COARSE\_LOCATION", --"android.permission.CAMERA", -- Used in full version, to upload photo --"android.permission.WRITE\_EXTERNAL\_STORAGE", -- Used in full version, to upload photo }, usesFeatures = { -- If you set permissions "ACCESS\_FINE\_LOCATION" and "ACCESS\_COARSE\_LOCATION" above, -- then you may want to set up your app to not require location services as follows. -- Otherwise, devices that do not have location sevices (such as a GPS) will be unable -- to purchase this app in the app store. --{ name = "android.hardware.location", required = false }, --{ name = "android.hardware.location.gps", required = false }, --{ name = "android.hardware.location.network", required = false }, }, }, orientation = { default = "portrait", supported = { "portrait", "portraitUpsideDown", "landscapeRight", "landscapeLeft", }, }, iphone = { plist = { -- MinimumOSVersion = "7.0", UIStatusBarHidden = false, CFBundleIconFiles = { "AppIcon76x76@2x.png", "AppIcon76x76.png", "AppIcon72x72@2x.png", "AppIcon72x72.png", "AppIcon60x60@3x.png", "AppIcon60x60@2x.png", "AppIcon60x60.png", "AppIcon57x57@2x.png", "AppIcon57x57.png", "AppIcon50x50@2x.png", "AppIcon50x50.png", "AppIcon40x40@3x.png", "AppIcon40x40@2x.png", "AppIcon40x40.png", "AppIcon29x29@3x.png", "AppIcon29x29@2x.png", "AppIcon29x29.png", }, UILaunchImages = { { -- iPhone 4 Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{320,480}" }, { -- iPhone 4 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320,480}" }, { -- iPhone 4 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320,480}" }, { -- iPhone 5 Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{320,568}" }, { -- iPhone 5 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320,568}" }, { -- iPhone 5 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320,568}" }, { -- iPad Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Portrait", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{768,1024}" }, { -- iPad LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{768,1024}" }, { -- iPad LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{768,1024}" }, { -- iPhone 6 Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{375,667}" }, { -- iPhone 6 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{375,667}" }, { -- iPhone 6 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{375,667}" }, { -- iPhone 6 Plus Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-736h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{414,736}" }, { -- iPhone 6 Plus LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{414,736}" }, { -- iPhone 6 Plus LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{414,736}" }, }, }, }, }

Please try it with the spaces everywhere between the width, height values i.e. [“UILaunchImageSize”] = “{320, 568}” instead of  [“UILaunchImageSize”] = “{320,568}”

OMG!

These old eyes would NEVER have picked up on that REQUIRED extra space, I can barely pickup typos.

I’ve removed my Landscape images and commented out the Landscape tables in the UILaunchImages array and Tall Mode LOADS properly on iPhone 5 as one would expect.

Thanks for looking at this again Rob and PM for the help.

Nail

Adding the space between the numbers worked! Thanks. Wonder why it worked previously and not in the new simulator.

Guess the daily build needs to be updated.

We didn’t start suggesting using this until the iPhone 6 family came out, so I’m not sure what you mean that it worked previously. 

I’m having the same problem so I’ll stick around. In my iPhone plist in build settings I have: 

 UILaunchImages = { { -- iPhone 5 Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{320,568}" }, { -- iPhone 6 Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{375,667}" }, { -- iPhone 6 Plus Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-736h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{414,736}" }, }, --required

Just to activate tall mode on those devices, but when building the app and testing on my iPhone 5s it’s not working. 

In the app folder (on root of course) I have “Default-568h@2x” (640x1136), “Default-667h@2x” (750x1334) and “Default-736h@3x” (1242x2208) (all PNG files). 

I’ve tried other things, but without any code in the build settings with my other app, just the Default-568h@2x pic will activate the tall mode. Unsure if I should just remove the code from build.settings orrrr…?


Also, does iPhone 6/6+ need to have tall mode activated too? 

(I use storyboard to launch a splash screen so it’s not that important for the launch image to load for me.)

Thanks for any help offered.

bump…

Rob, just read the latest blog post on the new iPhones.

UILaunchImages array doesn’t work with iOS8 and iphone 5.

Ideas?

Nail

I am really confused too.

If I don’t use launch images, I just want to enable iPhone5 tall screen, how do I do exactly?

I’m using a Default-568h@2x.png and old build.setting WITHOUT UILaunchImages table.

But I’m not sure if it’s correct.

(Does iPhone6 and iPhone6+ need tall mode?)

Bump again, again…

Only having a 5, I don’t know what’s up, besides what I read.

No one, from what I can tell can get 5 to load in tall mode using the UILaunchImages, regardless of the Corona blog stating is should work.

I’m not sure if 6 and 6+ require a tall mode launch image, but by the looks of the array, it seems they do.

Rob, Corona, anyone???

Ideas?

Success???

Nail

Can you post your build.settings?

Are you sure you have the files the right size?  The presence of Default-568h@2x.png should be sufficient to trigger tall mode on the iPhone 5.  But the code has been tested on an iPhone 5 too, so it should be working.

Rob

Same problem here. IOS 8 + iphone 5s. At least the tip with the empty build settings allowed me to view the whole tall screen for the first time.

Please post your build.settings

Here’s what I’ve got for build.settings

[lua]

settings =
{
    {
        neverStripDebugInfo = true
    },
    
    iphone =
    {
        plist=
        {
            UIInterfaceOrientation = “UIInterfaceOrientationPortait”,
            
            NSLocationWhenInUseUsageDescription = “Location Services are used to navigate.”,
            
            UISupportedInterfaceOrientations =
            { default = “portrait”,
        supported = { “portrait” },
            },
            
            – MinimumOSVersion = “5.0”,
            MinimumOSVersion = “6.0”,  --neither Min value works
            
            UIApplicationExitsOnSuspend = false,
            CFBundleURLTypes =
            {
                {
                    CFBundleURLSchemes =
                    {
                        “com-something-somegame”
                    },
                },
            },
            
            CFBundleDisplayName = “someGame”,
            UIPrerenderedIcon = true,
            UIStatusBarHidden = true,
            
            CFBundleIconFile = “Icon.png”,
            CFBundleIconFiles = {
                “Icon.png”,
                “Icon@2x.png”,
                “Icon-60.png”,
                “Icon-60@2x.png”,
                “Icon-60@3x.png”,
                “Icon-72.png”,
                “Icon-72@2x.png”,
                “Icon-76.png”,
                “Icon-76@2x.png”,
                “Icon-Small-40.png”,
                “Icon-Small-40@2x.png”,
                “Icon-Small-40@3x.png”,
                “Icon-Small-50.png”,
                “Icon-Small-50@2x.png”,
                “Icon-Small.png”,
                “Icon-Small@2x.png”,    
                “Icon-Small@3x.png”,     
            },
            
            --launch image files table
            UILaunchImages = {
                {  – iPhone 4 Portrait
                    [“UILaunchImageMinimumOSVersion”] = “7.0”,
                    [“UILaunchImageName”] = “Default”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{320,480}”
                },
                
                
                
                {  – iPhone 5 Portrait
                    [“UILaunchImageMinimumOSVersion”] = “7.0”,
                    [“UILaunchImageName”] = “Default-568h”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{320,568}”
                },
                
                {  – iPad Portrait
                    [“UILaunchImageMinimumOSVersion”] = “7.0”,
                    [“UILaunchImageName”] = “Default-Portrait”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{768,1024}”
                },
                
                
                {  – iPhone 6 Portrait
                    [“UILaunchImageMinimumOSVersion”] = “8.0”,
                    [“UILaunchImageName”] = “Default-667h”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{375,667}”
                },
                
                {  – iPhone 6 Plus Portrait
                    [“UILaunchImageMinimumOSVersion”] = “8.0”,
                    [“UILaunchImageName”] = “Default-736h”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{414,736}”
                },
            },       
        },   
    },
    components = {},
    
    orientation =
    { default = “portrait”,
        supported = { “portrait”, “portraitUpsideDown” },
    },
    
    
    plugins =
    {
        – key is the name passed to Lua’s ‘require()’
        [“CoronaProvider.native.popup.addressbook”] =
        {
            – required
            publisherId = “com.coronalabs”,
        },
        
        [“CoronaProvider.analytics.flurry”] =
        {
            publisherId = “com.coronalabs”,
            supportedPlatforms = { iphone = true, [“iphone-sim”] = true },
        },
        
    },
    
    android =   --these permissions allow phone access
    {
        usesPermissions =
        {
            “android.permission.INTERNET”,
            “android.permission.CALL_PHONE”,
            “android.permission.CALL_PRIVILEGED”,
            “android.permission.PROCESS_OUTGOING_CALLS”,
            “android.permission.READ_PHONE_STATE”,
            “android.permission.WRITE_EXTERNAL_STORAGE”,
            “android.permission.ACCESS_FINE_LOCATION”,
            “android.permission.ACCESS_COURSE_LOCATION”,
        },
        usesFeatures =
        {
            { name=“android.hardware.camera”, required=false },
            { name=“android.hardware.location”, required=true },
            { name=“android.hardware.location.gps”, required=true },
        }
    },
    
}

settings.iphone.plist[“UIInterfaceOrientation~ipad”] = “UIInterfaceOrientationPortrait”
settings.iphone.plist[“UISupportedInterfaceOrientations~ipad”] =
{ “UIInterfaceOrientationPortrait”,“UIInterfaceOrientationPortraitUpsideDown” }
 

[/lua]

The top of your build.settings does not appear to be correct:

build =
{
    neverStripDebugInfo = true
}

You don’t seem to have the "build = " in there.

I’m also not familiar with what you’re doing on lines 148 and 149.  I don’t know if either of these would cause the problem.  You can also try leaving off the -568 from the file name and see if that has any effect.

Rob

Rob, thanks for taking a look at my build.settings.

I fixed the missing "build = " at the top, commented out line 148 & 149 and played with changing the -568 suffix, unfortunately the iPhone 5 won’t load tall.

I know you stated the UILaunchImages has been tested and works with iPhone 5, but I have yet to see anyone state they have it working.  I only see responses that it doesn’t.

I believe all my images are sized and named correctly.

Can you test it, or have someone else with an iPhone 5 verify this actually works?

If anyone has this working on device, please let us know.

Thanks,

Nail

My app supports only landscape orientations. I tested Rob’s guidelines from his blog post on both an iPhone 5 running iOS 8.0.2 as well as an iPhone 5s running iOS 7.1.2. I get the correct splash screen and tall mode is activated. So I can confirm that it works, at least on iPhone 5 devices on both iOS 7 & 8. Haven’t tested it yet on iPhone 6 devices. Here are the launch images I have in my project folder –

Default-568h@2x.png
Default-667h@2x.png
Default-736h@3x.png
Default-Landscape-568h@2x.png
Default-Landscape-667h@2x.png
Default-Landscape-736h@3x.png
Default-Landscape.png
Default-Landscape@2x.png
Default-Portrait.png
Default-Portrait@2x.png
Default.png
Default@2x.png

And here is my build.settings file –

settings = { orientation = { default = "landscapeRight", supported = { "landscapeLeft", "landscapeRight" } }, iphone = { plist = { CFBundleShortVersionString = "1.0", CFBundleIconFiles = { "Icon-60.png", "Icon-60@2x.png", "Icon-60@3x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-Small-40@3x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Icon-Small@3x.png", "Icon.png", "Icon@2x.png" }, UILaunchImages = { { --iPhone 4 Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{320, 480}" }, { --iPhone 4 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 480}" }, { --iPhone 4 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 480}" }, { --iPhone 5 Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{320, 568}" }, { --iPhone 5 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 568}" }, { --iPhone 5 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-568h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 568}" }, { -- iPad Portrait ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Portrait", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPad LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPad LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{768, 1024}" }, { --iPhone 6 Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{375, 667}" }, { --iPhone 6 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{375, 667}" }, { --iPhone 6 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-667h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{375, 667}" }, { --iPhone 6 Plus Portrait ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-736h", ["UILaunchImageOrientation"] = "Portrait", ["UILaunchImageSize"] = "{414, 736}" }, { --iPhone 6 Plus LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{414, 736}" }, { --iPhone 6 Plus LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{414, 736}" }, }, UIStatusBarHidden = true, UIViewControllerBasedStatusBarAppearance = false, UIApplicationExitsOnSuspend = false } }, plugins = { ["CoronaProvider.analytics.flurry"] = { publisherId = "com.coronalabs" } } }

Since it’s a landscape-only app, I could probably delete some unnecessary launch images and tweak the build.settings file accordingly. I’ll try that when I get the time and report the results.

Thanks PM for that.

My problem is my app is “Portrait” and won’t load tall on 5.

I don’t have any “Landscape” images either loaded or specified in my UILaunchImages array though, maybe they all need to be included.

I’ll try to add “Landscape” images and include the full table, including Landscape tomorrow and see if it works.

If you can get “Portrait” to load tall, let us know.

Nail

Same problem here: only “Portrait” files in the app and they won’t load tall on 5S / IOS 8 unless i insert a complete empty build.settings file. Please help corona !