iPhone landscape-only no launch image for iOS7 R4 image asset
Asked Answered
S

6

34

I'm fairly certain this is a bug, but in case anyone has found a way around this, let me know.

I've set up an asset catalog in Xcode-5 of launch images. If I set an iOS 7 R4 image it is only used if my app supports portrait orientation. My app is landscape-right only and I do not see the launch image.

The iOS 5,6 images work just fine, and the R4 iOS 5,6 image will actually load "correctly" if I leave out the iOS 7 R4 image.

Has anyone been able to get this to work?

Update

I've found that I can get iOS 7 landscape images to appear, but only if I remove the default (iOS6) images, which doesn't really help me. If you edit the info.plist and change the image orientation to "Landscape (right home button)" (for example), then provide a horizontal image, it will actually show it on iOS 7 at launch. Unfortunately, if you include an iOS 6 image, it shows that instead. Also, you will not see the iOS 7 image listed in the "General" tab of your target if the orientation is anything other than Portrait. This is with Xcode 5.0 and iOS 7.0.2.

Sewage answered 1/10, 2013 at 7:40 Comment(3)
Same for me. No launch image.Younglove
same here, on an older project that is landscape only, nothing i do seems to make the iphone r4 launch image show. tried all the cleaning and restarting possible, the image is definitely the correct dimensions and added in the right place in xcassets. the ipad landscape one works fine, but on iphone 5 is always just a black screen at launch. any ideas??Calces
Everytime I discover such nasty and obvious problems, I feel there's serious trouble about Apple. Launch image&icon business, provisioning profile business.. they are all broken for a long timeSurgery
O
36

My Solution is Don't use asset catalogs and provide
Default.png (320x480)
[email protected] (640x960)
[email protected] (640x1136)
as bundle in project and iOS will automatically found them
(Apple doesn't have landscape launch image for iPhone or iPod, so we need to provide rotated 90 degree of landscape image)

You may need
Default-Landscape@2x~ipad.png
Default-Landscape~ipad.png
if you do iPad too.

Don't forget to delete fixed launch images name in your Project-Info.plist if you have

Outlet answered 27/1, 2014 at 20:23 Comment(4)
Works with Xcode 6.1! Thanks! I hope this would be fixed by Apple. By the way - I have another game and it in Portrait mode - works well with assets. So this is a BUG only for Landscape mode.Exactly
Hmm, I miss something.. actually I don't get iPhone 6 native resolution. Can you please tell me how to modify Info.plist so new launch images are loaded?Exactly
That one worked for me. I tried NAlexN's answer and did not work unfortunately. I'm on Swift and XCode 6.2Poacher
"Avoid using asset catalogs to manage the launch images of landscape applications. … The result is a blank screen during launch as the system cannot find an appropriate launch image." - developer.apple.com/library/ios/technotes/tn2244/_index.htmlBackbencher
V
35

The solution that we have found is to update the asset catalog and target only iOS 6 and Prior.

How to do it. Go to the asset catalog. And on the top right corner click on the 'Attribute Inspector' icon. Here you can set the Target OS for the Launch Images. Uncheck the iOS 7 check boxes for iPhone. Now you should be able to see the launch images for these devices.

Valles answered 18/10, 2013 at 11:38 Comment(5)
+1 Thanks! exactly what I was looking for. It gives a warning about the missing assets but, works great otherwise.Breena
A quick update. We successfully submitted and launched our app with these settings on the store!Valles
By doing this for whatever reason my app now launches squished a bit with black borders on the size. If I add ios7 check boxes back in LaunchImages then my app launches normally again. Very odd.Bonner
Same problem as @Bonner found out that if I leave iPad-iOS7 on, it won't work (black launch image & squished app). If I leave it out, it does work but it won't work on iPad this time. C'mon Apple!Surgery
This not works for me, my game is Landscape. Only don't using assets help me!Exactly
D
8

Not enough rep to add a comment, so I'll post an answer to clarify a couple of things.

I wouldn't recommend remudada's answer as it is a workaround that may not be compatible for future releases, and, it does contain that black border problem. Generally warning are there for a reason.

NAlexN's answer works as it addresses the problem - iOS is looking for a portrait splash screen, but if the portrait button is off - problem. So, keep the portrait button on and add to your viewcontroller the following:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}
Diapason answered 5/3, 2014 at 14:29 Comment(1)
This is the correct answer. It's slightly paraphrased here: https://mcmap.net/q/76721/-adding-ios-7-version-of-iphone-4-inch-launch-image-to-project-breaks-launch-image-when-run-on-ios-7Yaelyager
F
5

I ran into the same problem with my landscape - only application, and here is how I solved it:

  1. Navigate to General tab in your project settings, iPhone Device Orientation section and deselect checkboxes beside Landscape Left and Landscape Right, and select Portrait orientation.
  2. Run the app on iPhone 3.5 or 4 iOS 7 simulator with this settings. The app could crash if you have hardcoded Landscape masks somewhere in your app's view controllers, but it does not matter.
  3. Put checkmarks back for Landscape Left and Landscape Right, but leave Portrait orientation allowed as well. That is you should allow Portrait and both Landscape orientations for iPhone.
Faction answered 15/11, 2013 at 18:8 Comment(1)
Magic!... But it works for my Cocos2D-X game (supports landscape only). Thanks!Glacial
P
3

I solved it this way: Go to the project settings and select "Don't use Asset Catalog" in the launch images section. Now you can add the launch images the traditional way. You can still use the asset catalog for the app icons and other images

Perky answered 28/2, 2014 at 22:13 Comment(0)
E
3

enter image description here

In XCode 6.1 For IOS 8...Use Launch Image Source as Launch Image...and Replace Launch Screen File from LaunchScreen.Xib to Blank..

Hope this will help........

Epiphysis answered 2/1, 2015 at 13:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.