I need help getting a very basic LaunchScreen.storyboard working. My launch screen is just an image. I need the storyboard to handle the image by letterboxing it if the device ratio is not 4:3 (iPad).
I have a Universal app (iPad/iPhone) created with Xcode 8 with iOS 10.3 as deployment target. I used Xcode's app template for this new Swift 3 SpriteKit project. Its a simple SpriteKit app. The app is viewed on iPad and iPhone in 4:3 ratio, landscape only. AspectFit is properly respected in my SpriteKit views on all devices. So on iPhone its letterboxed, which looks and works great for my needs.
The app is well tested on multiple devices and today tested through xcode 9 builds on iOS 11.
All good!
Now I'm dealing with LaunchScreen.storyboard madness. All I want is my launch image (same size as my other SpriteKit background images) do display in letterbox form, for non 4:3 devices, to fit the screen.
I feel like I've done 100 Google queries, read as many blog posts and forums and tried a couple hundred different things in Xcode and am getting nowhere.
Any help appreciated.
Related
I've two live apps on Appstore, my one app is looking quite blurry on iPhone 11(which I just bought) and its fine previous models of iPhone, but my another app looks fine on iPhone 11.
The first app which is blurry is built on xib file and base screen size of iPhon SE and second app which look fine is built on storyboard and base screen size is iPhone 8 but I think that may not be the reason.
Blurry App on iPhone 11 (as it look pixelated)
Blurry App on iPhone 8(as it looks fine and crisp)
Xib file of Blurry App
Let me know why this is happening and whats the solution ? Do I need to revamp all screens in project? Looking for suggestions.
Thanks
Finally I found solution and the culprit was iOS 8.0 and Later check. It was unchecked, which I marked checked and added Splash screens for these defined sizes and my whole apps screens became crisp from pixelated.
This question already has an answer here:
How to efficiently use Autolayut and Auto-Resizing in same target?
(1 answer)
Closed 5 years ago.
I am working on new features (with Swift) on a legacy project ( Objective-C ) project.
Everything that I am receiving from designer (dimensions in points, font dimensions) put into storyboard or xib files got bigger in old project.
In SIMULATOR, here is an example with a uiview height and font dimension for iPhone 7
We tried:
Designer gives all dimensions in points. He is currently designing for iPhone 7/6. I am using in storyboard iPhone 7 view.
In a new project the correspondence is 1:1.
In the legacy project everything shows a little bigger.
What shall I search?
The iPhone 6 was introduced alongside iOS 8 and Xcode 6. As part of the introduction of the larger screen sizes, a legacy path was created that would allow older apps to run in a mode as if they were on an iPhone 4/5 screen size, simply scaling up the interface. This was intended to give app developers time to opt into the native, larger resolution of the iPhone 6 and 6 plus. In your question, I noticed this:
The larger battery icon is from your legacy app, while the smaller is from your brand new application. The contents of the status bar being scaled is a sure tell sign that the app is in this legacy mode. (Also, the interface often appears kind of fuzzy)
Therefore, I think your legacy app must have never adopted the launch screen storyboard or xib file that is needed to take advantage of the native resolution of the larger devices. To adopt it, you can see this answer.
I have recently been running into a problem with one of the iOS applications that I'm developing. The problem with this application is that UI elements appear to be oversized. In Xcode the elements could have the same default sizes, but during the simulation process the elements are almost too large to fit on the screen. Has anyone ran into a similar issue and figured out how to resolve it. I have attached pictures below that illustrate the problem more clearly. In one of the pictures below, the keyboard clearly appears to be larger than that in the other picture.
Oversized User Interface
Normal Sized User Interface
Two possibilities
The device has Display Zoom turned on. You can change that in Settings > Display & Brightness > Display Zoom.
You app doesn't have a launch image for that size. Either add a launch image for that screen size or use a launch storyboard/xib. How to enable native resolution for apps on iPhone 6 and 6 Plus?
How can I run iPhone apps on iPad after changing the target from an initial 'Universal' to 'iPhone'?
I'm working on a game for iOS (iPhone) using Swift and SpriteKit. The game got rejected today for this reason:
Reasons for Rejection: 2.10: iPhone apps must also run on iPad without
modification, at iPhone resolution, and at 2X iPhone 3GS resolution
After searching on StackOverflow I found out that it might have something to do with my info.plist file because at first my app was 'universal' and later I've changed it to iPhone-only.
It seems like there's something wrong with the aspect ratio of all the nodes. Take a look at the screenshots below. At the left side is the iPad-simulator and on the right there's the iPhone-simulator.
Maybe the game still thinks it is running on iPad because the nodes appear in 4:3 ratio?
How can I run iPhone apps on iPad after changing the target from an initial 'Universal' to 'iPhone'?
Please help. Thanks!
I've also added a screenshot of my info.plist file.
Apple requires that each app targeted on iPhone should run on iPad in the specific manner.
This usually looks like the app on iPad is not full-screen, it's surrounded by black frame that resembles the situation that the iPad is simulating iPhone.
My suggestion is to use size class now to make the app run full-screen on iPad and this should fix your issue with Apple.
Simply choose in your storyboard Regular Width and Regular Height, delete the existing constraints and set new ones.
More help here and apple docs also might come in handy
Darvydas' comment solved my problem.
What size does your background node have? Also if you whant your app
run only on Landscape delete those 2 (Item 0, Item 1 PORTRAIT)
I'm building an iOS app using as3 and air to package the app onto my iPhone 6. My issue is that I get a black bar above and below the app, the app itself is not going fullscreen. The stage screen is set to the iPhone 6 screen dimensions.
I have tried by adding the following launch images into the app folder; Default-667h#2x.png, Default-568h#2.png, and Default#2x.png. In the AIR for iOS Settings under general, I've added them to the 'Included files' section but the bars are still there. Dropbox link to image.
Does anyone have any fixes for this?
iPhone 6 requires the Default image of Default-375w-667h#2x.png to be included. (and iPhone 6+ needs Default-414w-736h#3x.png).
This is a handy web page to bookmark which lists file sizes and names.
http://blog.tomasmahrik.com/list-of-properties-sizes-for-application-icons-launch-images-screenshots-video-previews-for-ios-air-apps/
You should set your apps to not scale (looks like yours is scale to fit) and align top left:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
Resently had the same problem and splash screens didn't help. For me solution was only this How do I create launch images for iPhone 6 / 6 Plus Landscape Only Apps?