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
Related
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
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!
I'm struggling to make banner ads work properly in my iOS 7 app for the iPad.
Per the Apple Developer's guide, I
1)linked the iAd Framework,
2)imported the iAd header to my controller.h file, and
3) enabled canDisplayBannerAds = YES in the controller.m file.
When I run either (in simulator or on iPad), it displays the banners properly at the bottom of the screen in portrait mode.
However, when I turn to landscape mode, it displays the banners along the left side of the screen, as if it were portrait mode. I cannot seem to figure out how to make it display along the bottom of the screen in landscape mode?
When I run my app from Xcode 5.0.2 on an iPhone 5 simulator or device, it runs it at the iPhone 4 height although I already specified 4" screen in Storyboard.
Can't attach an image because of lack of reputation, but there is black space on top and bottom of the app while running.
You need to add a correctly sized (1136x640) splash screen image file, named "Default-568h#2x.png".
More info can be found in this related question.
When you build your app, on the top left it should say iPhone Retina (3.5-inch). Change it to iPhone Retina (4-inch)
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