I'm developing a game with a cocos2d. It was using Default.png images to identify resolutions. Now I switched my launch screen's to .xib file. Now my app run's at native resolution on all devices. But on iPhone 6 and 6 Plus I expect some perfomance issues, so I'm looking for ways to lower app resolution but still use .xib launch screen.
How do I accomplish this?
You can't. Once you setup a launch screen, your app will run at full device resolution for all possible devices. You can't provide a launch screen and have your app run at "iPhone 5" size on iPhone 6 devices, for example.
Your only option is to stick with launch images and have no launch screen.
Of course if you need to support full sized iPad Pro support, that requires the use of a launch screen. (Not true any more as of Xcode 8).
Related
after finishing an app I wanted to test it through Test Flight. I deployed the app to iTunes and after installing the application on the test devices it seems that in the app everything is "big" . More detailed:
I debug to an iPhone 6s and 5s and everything looks ok
I deployed the app to iTunes and testing on two different iPhone 6s the resolution seems to be very low
with the same deployment the resolution on 5s is great.
Take a look at those images:
Do you have any idea?
What type of splash screen (or LaunchScreen in iOS lingo) did you add? The supported resolution on iOS is determined by the splash screen resolutions you have included.
When you didn't include one that uses the full resolution of a device, the app will be switched into some kind of compatibility mode.
See this page for all the resolutions that should be included, depending on the devices you want to support.
The best option is to specify a storyboard file as a splash screen. This will scale to all resolutions .
Make sure the launch image for iPhone 6s is at correct resolution.
The iPhone 6s (Retina HD 4.7) requires a portrait launch image of 750 x 1334.
References:
https://www.apple.com/iphone-6s/specs/
https://stackoverflow.com/a/28500520/5474400
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/
Well as the user #GeraldVersluis posted in comment below my answer:
The supported resolution on iOS is determined by the splash screen resolutions you have included. When you didn't include one that uses the full resolution of a device, the app will be switched into some kind of compatibility mode
That means, that I had to add an image for all of the iOS versions and the problem solved.
As of know my app's compatibility status in AppStore is
"Compatible with iPhone, iPad, and iPod touch. This app is optimized for iPhone 5."
I want to make it compatible with iPhone 6 & 6+. So, i provided all the requirements for making my iOS app to compatible with iPhone 6 & 6+.
My question is:
I want to know my apps compatibility status before sending to AppStore Review process. So, is it possible using Xcode ?
first, you can run it in iPhone 6 Plus simulator, if the state bar is very fine, not to become big, then your app is optimized for iPhone 6+.
if your app doesn't optimize for iPhone 6, the screen you see is very terrible, just like small screen was dragged to 2x, like mosaic.
if you have friend who have iPhone 6 Plus, you can run it on the device.
for my app, I just delete the launch screen, and add a new one, then Xcode want me to add the launch image of iPhone 6 size, I did this, and run it on simulator, I found the screen didn't mosaic, the control recover the original size, not mosaic, what's more, it become chaos, because the size become small, screen have some blank areas.
then I use auto layout, restrain the control, make them fill all screen, now finish
my english is not very good, you can ask me if you don't understand it
I have got an app developed for iPhone family only, and I used to run it on iPad to test how it will look on iPhone 4s (since it launched with iPhone 4s resolution, size, and else '2x' round button for fullscreen support). However, now when I run it on my iPad with iOS 8, Xcode ignores all build settings and runs it as for iPad. My storyboard constraints were not projected for iPad screen.
I have:
Devices option set to iPhone on General tab in project settings
Main storyboard file name and Main storyboard file name are removed from Info-plist
All App Icons and Launch Images for iPad are deleted
In Launch Screen File the option Use Size Classes set to NO, and the assets are generated for iPhone only
Is that a normal behavior? I want to use my iPad as before to test iPhone 4s resolution. I am sure that my app won't become universal because of that, but nevertheless I think this is a problem.
The use of Launch Screen File in iOS 8.0, 8.0.1 and 8.0.2 will make you universal.
This is a know bug and fixed in iOS 8.1, for you only option is to use assets catalog with a launch images.
Or you can add the device modifier in the Launch file name, like <launchNib>~iphone.nib
I have this app that I want to launch on my iPhone 5 but I want it to launch on 3.5inches format, with black bars up and down. I know I can use the 3.5" simulator but it will not work for me because the app uses the camera.
Ok I can launch it on the iPad but I really want to launch it on the iPhone.
OK, I can remove the 568h default image and it will launch, but I am trying to keep the project original.
Is there a way to pass some launch parameter to force the application to think it is running on a 3.5 inch device on iPhone 5?
Not possible. If you have the 568 launch image, it will launch using the entire screen.
Apple rejected my app for the reason 2.10: iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Information Needed
Here is my launch image
Here is apple's reply:
My code is at github: https://github.com/imWildCat/V2EX-iOS
How can I solve the problem?
I don't think it is about your app icons / launch image.
What I suggest is that you Build and run on your iPad simulator and see how your app is rendering / behaving.
A valid result is a perfect representation / functionality of your app on an iPad (with some black boarders that will be there automatically since the screen proportions are not time same between iPhone and iPad)
it seems to me that your reviewer was testing your app on an iPad and something was just not working (visually) - most likely some user input screens
I would also make sure all the meta-data on i-connect is valid.