Adding iOS 7 version of iPhone 4-inch launch image to project breaks launch image when run on iOS 7 - ios7

I'm running into a problem on our landscape only app that targets iOS 6 and 7. Xcode gives me the following warning:
An iPhone Retina (4-inch) launch image for iOS 7.0 and later is required.
If I add the required images, when I launch the app on iOS 7, I get a black launch image shown. On iOS 6, it displays correctly. But without the images, it works just fine on both iOS 6 and 7.
I am already using Asset Catalogs in this project, so I don't think that's an issue.
I would really like to get rid of this warning, but I haven't been able to figure out a way around it.

XCode is looking for Portrait orientation for iPhone. You need to provide it for the launch image, but don’t let your application to rotate when device is in Portrait mode.
In order to do this you need to do the following:
Go to General -> Deployment Info -> Device Orientation. Deselect Landscape Left and Landscape Right. Select Portrait, then Landscape Left and Landscape Right, order is important!
Add the following function to your code (if not yet):
-(NSUInteger)supportedInterfaceOrientations
{
return (1 << UIInterfaceOrientationLandscapeLeft) | (1 << UIInterfaceOrientationLandscapeRight);
}
That’s all!

In my case (landscape only app), I was able to fix it by doing the following:
adding portrait to the supported orientations for the iPhone in my Info.plist
replacing shouldAutorotate: methods with supportedInterfaceOrientations and preferredInterfaceOrientationForPresentation in my view controllers.
added application:supportedInterfaceOrientationsForWindow: to my app delegate.
Also I had to make sure that in the Info.plist that the portrait orientation was listed first. Xcode had added it to the end of the list, but if it was there, it would still be a black display on launch. Moved to the top, it was properly detected by iOS when the app was launching.

LaunchImage import a 640*1136 picture,
BTW, LaunchImage in Images.xcassets
sample picture

Related

xcode not recognizing screen size height 677

I have an app I am updating because of the Launch Screen requirement instead of launch images.
In so doing I came up with many many warnings that "views without any layout constrainsts may clip their content or overlap other views". When I went in and tried to address the problem no matter what I did the warnings multiplied. So I am attempting to rewrite my code to get the screen size and place and size my objects for each phone. The problem is that Xcode apparently does not recognize iPhone 6 screen size on the actual device. In the simulator iPhone 8 is recognized but I don't have an actual iPhone 8 to try out. I would assume it is the same size as the iPhone 6. I have looked on line and I saw this was a problem and possible fixes were to "make sure iPhone 6 launch images were available", but since launch images are no longer that isn't a solution. I also tried
if([UIScreen mainScreen].fixedCoordinateSpace.bounds.size.height == 667.0){
also but that didn't help either.
I can't believe Apple doesn't want to have developers not get the screen size for iPhone 6.
Is there a work around or new way to get screen size for iPhone 6?
Does this problem happen on iPhone 7 and 8 and iPhone 6,7,8 +?
I just saw that I have to include specific sized launch images with my launch screen with specific names. Is this true? How do I do this? Is there a GOOD tutorial?
I am at my wits end and need a solution.
I found a place where I created and installed images for all iphone and ipad portrait sizes and put them in Launchimage in my image asset folder. my app only runs in portrait so I didn't think I needed to make landscape images. Anyway, even with all the correct size images, iphone 6 4.7" and 5.5" it still launches seeing the iphone 6 as a 5. In fact now it launches with a blank screen no launch images showing up at all.
So I added the landscape views and had forgotten an iphone portrait view. Now in the simulator iphone 8 and 8+ are recognized as the correct device by height but the launch image still isn't loading for iphone 8 and 8+ as well as ipad 7gen, air3gen, and pro 9.7. Only loads images for iphone11, 11pro, 11promax and ipad pro11 and 12.9.
On the actual iphone 6 the launch images isn't loaded and it still is recognized as an iphone 5. This has to be a Mess up by Apple.
Suggestions?
Thanks

Xcode 6 ViewController content is smaller than the simulator screen

i'm developing app for both IOS7 & IOS8, and using storyBoard with size classes enabled.
app works fine in all simulators from iPhone 4s IOS7 to iPhone 6+
but the viewController is smaller than the screen in iPhone 5 with iOS7
app supports different orientations, i tried and canceled orientations but didn't work. i rested the simulator content, didn't work. I tried to change the initial view controller, didn't work. I cleaned the project, didn't work
To run your application in fullscreen in iPhone5 you must provide Launch Image for iPhone5 with resolution 640x1136.
If you are not including Launch Image of the size iPhone5 require then app will run in the centre of the screen, showing black area at top and bottom.
You can also refer here for more information.
Make sure there is a Default-568#2x.png in the supporting files

UIMenuController tap and hold zoom bubble fails in landscape mode

Supporting iOS 7. (non-AutoLayout)
Running iPhone 6 (iOS 8.1)
The UIMenuController doesn't show in Landscape mode, in effect breaking the UI for my users.
What's causing this to break?
Maybe it's the same problem that I have:
iPhone6 (no display zoom mode) UIMenuController truncated
The solution for me is to compile against iOS SDK 7.1. All others tries didn't help.

iPad orientation bug in iOS 8

I am getting a strange error when launching my app in iPad running on iOS 8 (only if launched in landscape mode). Though, it works very fine in iOS 7
Here is the screenshot: http://imgur.com/OZRLjZ7
The app is fully portrait mode except one screen (graph which requires both portrait & landscape modes) and so I can't uncheck landscape property in deployment target. If I uncheck landscape orientation support in deployment target then it works very fine. So it works fine when I launch in iPad with iOS 8 (ONLY if it is portrait mode). If I launch it in landscape mode it shows this black strip (which is exactly the area which keyboard takes but there no keyboard, neither I'm showing it on this screen).
Thanks for your help in advance!

iOS app starts in landscape mode

I have a strange problem. My app keeps starting in landscape mode. If I open it in simulator it rotates to landscape mode automatically. When I start it on iPhone it firstly starts in landscape mode and then shortly after it rotates to correct position. I have set "Initial interface orientation" in .plist to portrait, but that changed nothing.
I had the same problem. If you go to your Supported Interface Orientations you'll see
Item 0 ...
Item 1 ...
And so on.
If you edit this list so that Portrait (bottom home button) is the first item in the list then your app will open in portrait mode. You can still support other orientations as items 1 thru 3.
go to your supported device orientations and check if you have portrait mode selected
if you only support Landscape, write code
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
it work for me.
In XCode 6.4, I just unchecked all 4 of the device orientations and reselected them starting with portrait in the Deployment Info for the Target app. Apparently the order that they are checked here controls the order of the values in the plist file.