iPhone X scaling issue, can we scale existing apps to fullscreen mode without an app update - ios

All my existing apps are not scaled to iPhone X, is there any way to make them to full screen without an update.
It will be really helpful if we don't have to go to the hassle of upgrading all the apps again.
And if not what are the options of doing it.
It is reminding me of days back to iPhone 6.

No, you can’t get your app out of letterboxed mode without at the very least updating your app to use a launch storyboard (and building it against the iOS 11 SDK).
Also, just doing that might not make your app work right on iPhone X — unless all your UI is built from only basic uses of system view controllers, you’re likely to have at least a few issues where you need to tweak your layout to respect safe areas. (Otherwise you end up with UI hiding under the notch or rounded corners.)

Related

iPhone app is running at iPhone 4 size with black bars after update

Previously the app supported the iPhone 5s/SE screen and iPhone 6-8 screens (not the plus sizes), this was done using launch images. So on Plus sized devices and iPhone X* devices it would display black bars above and below the app.
We then released an update where among other things a launch storyboard was added. All through the development of this update the screen size worked perfectly on every device we had. However after releasing the update on the App Store, for some users, the app now shows at iPhone 4 size (height/width ratio is 1.5). So now affected users on an SE have the black bars, and X* users have bigger black bars the before. This doesn't seem to affect everyone, and we can't replicate on our devices.
The deployment target is 10, so there should be no reason to use the old launch images method. And the update is definitely using a storyboard for the launch screens.
Has a similar thing happened to anyone else? Or is there something you have to do specially when releasing an update that moves to the storyboard method from individual launch images?
All the existing answers either say to make sure you have the correct screenshots, or use a xib/storyboard. We don't have any screenshots and are definitely using a storyboard.
EDIT: now after a few hours of restarting the app users are starting to see the correct sizes, implying it’s an iOS caching issue.
I have experienced it lot before.
Reason: iOS commonly keeps launch screens of all apps in its own cache system, So, unless your app get loaded,it can show that launch images/screen to user from cache. Now, As your app was previously having launch images and now moved to storyboard, it makes this problem.
Also note that, iOS always render your app in screensize which it have in launchscreen, thats why you are seeing black bars at top and bottom.
Way to reproduce: This will happen everytime you update your launch screen. Try adding some label or some other component to your launchscreen.storyboard and install it. You will not see updated launch screen for some duration.
Best Solution(It works almost for all): Just update your app's version number and install on the device. After version number get updated, it will take new updated resources.
If above solution didn't worked for you, then you can try for these alternate solutions:
Solution 01: Your user might have to delete older app and install new one
Solution 02: Your user needed to reboot their device after update.
Solution 03: iOS System itself refreshes its own cache after certain interval, so your customers might face issue just after updating... but will get resolved automatically after some duration(around 3-4 hours).
I experienced similar issues with LaunchScreen Storyboard changes and when switching from Launch Images. It is an iOS Bug, sometimes you need to reboot the device in order to see the correct LaunchScreen when changes are made, it is very odd and difficult to reproduce.
Most probably there is nothing wrong with your App...
Yes Jonathan, it has happened to others as well.
Sadly it seems that this is a real iOS issue, the problem is real (those negationists please believe).
I called the Apple Support and the developer/support staff that I talked with, seemed aware and/or heard the issue, although the response was unclear I did, nonetheless, report the issue properly. "They will check it out". Typical Apple sideways answer...
Now, current solutions:
It seems that what has worked is the On/off iPhone solution, drastic and heavily inconvenient but currently it's the only workaround "tested".
I am deeply sorry for not solving you inquire straight, but I think this affair is beyond any of us developers field of action, it seems (yet to confirm) an OS problem, which Apple and only Apple can fix for real.

Is it possible to support iPhoneX for some view controllers in the app?

I have an application which developed before iPhone X release. My question is the following, can I add iPhoneX support for only newly created view controllers? I mean some view controllers will have iPhoneX friendly UI some not in the same app. For my new view controllers I'm using safe area but UI is broken for iPhoneX.
For the app I guess Apple will not allow partial support for iPhoneX.
Just wondering is it possible or not and how if answer is yes.
It's either all or none. If your app uses a Launch Screen storyboard and is built with a Base SDK of iOS 11 or if your app uses launch images and includes an iPhone X launch image then your whole app is presumed to work on an iPhone X. You will need to make sure all screens work correctly.
Think about what a terrible user experience it would be to use an app on an iPhone X where some views use the whole screen and some views only use part of the screen.

How do you build apps for all iOS devices?

I have an app that is nearing completion. However, I don't know how to finish it so it will look good on all iOS devices. It's a portrait only app, and it is the same on all devices (bigger screens don't show anything extra or different from smaller devices).
How do I make constraints that will work on all devices? I know there are different size classes that Xcode has, but it seems tedious to go to each class and add specific constraints.
You should use Autolayout for all resizing of your UI. But if you still want to go with this, I found this thread What setting determines whether an app gets scaled for iPhone 6 and 6plus?
Again, try to use Autolayout, add constraints its very easy. If you wish to change your mind go through the tutorial and add constraints https://www.raywenderlich.com/115440/auto-layout-tutorial-in-ios-9-part-1-getting-started-2

Swift App - Did not run at iPhone resolution when reviewed on iPad

I have a swift universal app that I submitted and was approve the first time. However, when I submit an update and it got rejected because did not run at iPhone resolution when reviewed on iPad.
I know that I need to use auto layout to fix the issue, but it will take me a while to learn that. I need to submit the update as soon as possible to fix some bugs in the first version. Is there quick way to fix this? My app is a simple app with only text, button, no images. My main target will be iphone users anyway rather than iPad. Is that possible to scale the screen up when it is run on ipad. When I changed the device from "universal" to "iphone" in my app setting, and launched the app on ipad in the simulator, it actually scales up. However, it doesn't when I choose the universal.
I know in swift, I can use the following code to detect users on iPad, but I don't know how I can scale the screen up to fit on iPad. Thank you.
UIDevice.currentDevice().userInterfaceIdiom == .Pad
I don't believe you will find a "quick-fix", but I'm not an expert on coding right now. This was the whole purpose of the Auto Layout features being implemented. AutoLayout allows your apps to scale independent of the device type you are using with a few caveats.
I know in SpriteKit game design you have a ScaleMode that can be set to .AspectFill, but I'm not entirely sure on just a regular View Controller without the AutoLayout.

What's the purpose in being able to resize a form for iOS?

When designing a form for a Firemonkey iOS application, you're able to resize the form into any possible size, and even the debug shows it as so. Obviously, iOS devices have very particular screen sizes. Why is it made possible to make my form in any dimensions I want?
I haven't gotten to the point of running this on any iOS device yet. This is my very first trial building an iOS HD application using Firemonkey. It's just very peculiar why it would let me design the form to any size I wish, since iOS apps are always full-screen and aligned to fit within various device screens.
Not all iOS devices run on the same resolution.
The iPhone 5 has a different aspect ratio than the iPhone 4.
And the iPad 3 has double the resolution of my iPhone 4.
You may also show a form covering only part of the screen (arguably more useful on an iPad).
Remember that FireMonkey is not written for iOS alone, it also covers OSX. In OSX you'd want all the normal VCL/Windows rules to apply.
Still I can see the sense if you're building a email application of having multiple screens (i.e. frames/panels/etc) performing different functions.
You can also imagine a pulldown/popup (modeless please) that does searching.
If you implement that using a different form it should not be full-screen.
So yes I can see lots of uses for non-fullscreen forms in iOS.
These two panels could be implemented using 2 forms; resizing would be useful here.

Resources