Just loaded my app onto my iPhone 5s, and did the same for my colleagues (all on iPhone 5s).
While the app runs at the correct resolution in all of the Xcode simulators, it runs at (what looks like) iPhone4 resolution on our actual devices.
How can I fix this?
Once you include the LaunchImage for iPhone 5, the app will build at that resolution.
The same goes for the new iPhone 6's - until you include those launch images your app will be scaled.
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.
Does it use the iPhone 6 Plus version? Where does it get it from?
I ask because I have been building my app based on screen dimensions. iPad's have different screen dimension ratios so I decided to make my app iPhone only. However, when I run my app on an iPad the positioning of everything is totally screwed up! But when I run it on every other iPhone device (from 5 to 6s plus because iPhone 4 dimensions are off) it looks fine!
So where does it get it's version from? Does it pull from the iPhone 4?
Every app can run on the iPad no matter if it is supported or not. If the app is NOT built for iPad (iPhone only) - it would show up as it shows up on an iPhone 4. Be sure that your screens support iPhone 4 or you won't make it past the app review process (annoying but true).
From the Apple iOS App Store Review Guidelines (https://developer.apple.com/app-store/review/guidelines/):
2.10 iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
My app is again rejected by app store. The reason is "iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution" . I have checked my app in iPad and it works fine. Here is the screenshot app on iPad Please tell me what to do. My app is only for iPhone. Here is the screenshots of my app settings
Please help me out.
Ensure all the functionalities are working fine on iPad. Check all the screens, keyboard should not hide the text fields and options anywhere. You can check in 3.5 inch simulator and check Default(Splash) image shows on iPad or not.
I have an app on the App Store and I've made sure several times that iPhone is selected in: App > Target > General > Deployment Info > Devices > iPhone
..rather than Universal or iPad.
It appears every time the app is approved it still says iPad supported, how can I disable iPad support completely since the above "solution" doesn't work?
That is normal, iPhone applications can also run on iPad in a iPhone simulator mode.
This is the description of one application of mine only available for iPhone.
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
This one just for iPad:
Compatibility: Requires iOS 7.0 or later. Compatible with iPad.
and this Universal (both iphone and ipad, no simulator)
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
It seems the same, but in the reality there is also a + sign with written:
This app is designed for both iPhone and iPad
Making them "Just for iPhone" doesn't let iPads not use them. Imagine this bit of a crisis: on the first iPad's release, how did apps get on the store, since they were designed for iPhone? Developers had some options:
Make an "HD" or "iPad" version. This involved redoing the entire UI so it would fit on the bigger screen.
Do nothing. The iPad's would get the iPhone version of the app, but they would just be, as you can guess, oversized iPhone apps.
After a couple years, there was another option:
Make a "universal" app. This allowed both UI's, both big and small, retina and 1x scale devices, to be "bundled" together in the same Bundle. (heh, bundle pun.) Puns aside, this allowed for apps like "Facebook" to run on iPad, iPhone 3GS, iPhone 4, iPhone 5, iPhone 6, the future iPhone cheeseburger double-decker 7+, and everything else, without having to remake the entire app.
On the iPad, as mentioned by Andrea, it runs in an "iPhone Simulator" mode. This makes the tiny screen be rendered in the tiny screen scale, and, since iPad is over twice the size of the iPhone, it gave the iPad a "2x" button to zoom it in and make the UI bigger.
It's like an app designed for iPhone 4 running on an iPhone 6 Plus.
The iPhone 4 renders stuff at 960x720 landscape or 720x960 portrait, and iPhone 6 Plus's display is much bigger. To accommodate, it letterboxes the content and scales it up automatically.
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