I have a problem when I use launch images in an Air application. I don't know if this is the expected behaviour, but when the app starts, the launch image is first displayed as expected, however then it gets resized for a second.
I don't care too much about this, although since the iPhone images have to take into account the statusbar, the effect is a bit ugly in this case.
Can this be solved? is it a problem with Air? is it expected behaviour?
I noticed a similar problem with AIR 3.2 and a fullscreen, fixed-orientation (landscape) app in iOS - the splash image starts in landscape, then flips to the wrong orientation during loading. I suspect it's a bug but couldn't find a workaround.
Since I don't see any pressing reason to move to 3.2, I'm sticking with AIR 3.1 for the time being, which displays the splash image correctly.
Related
I have a game we're trying to release in the app store for iphone and ipad, and while it works fine on all of our devices (a handful of iphones and ipads), when the app store reviewers try it the actual viewport they see is highly cropped and distorted.
This is an example options screen that the reviewer saw:
This is what that options screen looks like for us on an equivalent aspect ratio/resolution:
As you can see, it's just a small, off-centered square for them, surrounded by black. But we've tested this on devices like an old iphone 5 up to big ipads and have never seen anything like this, the game takes up the full screen and the aspect ratio is correct and not distorted or stretched.
One important detail is this is entirely an OpenGL and SDL program, not using any Apple UI frameworks at all. The render size is determined by SDL_GetRendererOutputSize(), which then is used in glViewport(), and the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag. This so far has seemed to work with both retina and non-retina physical devices.
Also all of the screenshots they've given us look the same, same little square viewport surrounded by black, so I originally thought they were cropping them on purpose to highlight specific components of the screen, but this appears to be just exactly how it looks for them as this square is in the same position in each screenshot. I've asked them for more information on their devices but they wouldn't tell me.
We also have the program set to only ever use landscape, not portrait, but the weird thing is that with the way our UI reflows, the only way to get that button to look squished the way it does there is if the game was somehow still rendering in portrait, as seen this example shot I took by forcing it to run in a very tall portrait window:
I don't even know where to begin to try to figure out what's going wrong for them though, because as I've said, everything looks fine when running in an emulator and everything looks fine when we've run it on several physical devices. Is there some build or release configuration I could be missing? Some OpenGL setting I should check? I'm just hoping this problem looks similar to something someone else has encountered before.
If you are on an equivalent device, then another thing that may differ is the accessibility settings. Search for display zoom in settings. Also, try locking the iPad into portrait mode before launching your app to try and reproduce.
Note the little double arrow icon in the lower right corner of the reviewer’s screenshot. I don’t know what that is, but it looks like it could be some kind of screen zoom or accessibility mode. Perhaps they can answer what it does, and how to enable it for yourself.
To follow up with the solution that worked for me, I noticed that in my project's General settings in Xcode, under Deployment Info, I had only checked iPhone and not iPad. What I've since learned is that without that checkbox, some iPads will have to run in an emulation mode, which may have been the source of our problem. Deploying a new build with that checked (as well as "requires full screen"), it rendered exactly the same on our own iPads, but the app was subsequently approved with no further problems. I had made no other changes to the program, so my assumption is that that setting likely fixed it.
I have an iPad app that I'm converting to a universal app to show on phones. It has both a tab bar and a navigation bar, and my problem is that they are both way too big on the phone. I could swear I heard Paul Hegarty (from the iTunes U class from Stanford on Swift app development) mention a switch or trick somewhere that would cause the bars to adapt to the iPhone, but I can't find it.
Here are screenshots of my apps bars, vs the Photos app in the iPhone 6 simulator to show what I'm talking about.
Not a huge difference, but significant on a small phone screen.
My fonts are also way to big, which is confusing since I have them set to the system "headline" or "body" options for all size classes, but that may be a separate issue.
Any help is greatly appreciated!
App written in Swift, using storyboards for iOS8, btw.
Edit:
The more I look at this, the more I'm convinced it's not related to the bars, but the entire app - the fonts and everything. The whole app appears to be zoomed in to 120%, which is subtle, but looks really bad and wastes space.
I have also now seen this in a second app - the Apple DateCell sample. It also appears 'zoomed in' when run on the iPhone 6 simulator.
Edit 2:
This effect is even more exaggerated on the iPhone 6 Plus simulator - everything is even more 'zoomed in' looking - the top and bottom bars are almost twice the height they should be. This can be seen by downloading the Apple DateCell sample and running it.
Edit 3:
ARGGGG, all this time wasted, and it was due to the launch screen image - why on earth would a launch screen image not being set cause the entire app to scale?
I finally figured this out - it was related to the launch screen image. Apparently if it's not setup right, the whole app scales on the iPhone 6 and 6 Plus for some reason. This question is what pointed me to the answer.
For me, I had to both create a LaunchScreen image in Assets, and set it in the project file, and ALSO select the launchScreen.xib as the Launch Screen File in the project. I don't have a real launch screen yet, so these are both just empty or defaults in my case.
I have been designing a app on xcode over the past week but I have encountered a problem. When I run the app on iPhone simulators (3.5 inch and 4 inch) my game is scrollable when it shouldn't be. I want my app to be displayed on full screen of iPhone with no scrolling.
I have not changed any of the settings in storyboard so I am starting to think maybe its a problem with the simulator?
Anyone have any ideas of what's wrong and how I could correct this? Any help would be appreciated
The question is pretty vague (how are you "designing" the game? With SpriteKit? UIKit?) but here is some reading material that should get you pointed in the right direction:
- AutoLayout
- Autosizing
I think this is just an issue with the simulator. It seems like if the resolution of the screen is below a certain amount, it shrinks the simulator window to fit, and then you have to scroll around inside the simulator to see the whole VIEW. I noticed this issue because my Macbook has a small screen. But when running on an actual device, it takes up the whole screen as it should. You could try using different simulated devices with smaller screens to see if it still does it.
This is my first time posting a questions here. So far I have been able to find the solution to all issues I have had. For 2 weeks now I'm struggling with a strange issue.
Issue Description:
I'm developing an universal application for iOS 5+. I'm having an issue with one image, which is not displayed everywhere. This is my background image and it displays correctly on all iPhones (3GS, 4, 4S, 5) and iPad retina. Unfortunately there are 3 screens on which it doesn't displays. This happens only on iPad without Retina display. The images appears on the other screens and I can't determine what is different so it doesn't display on these 3 screens.
What have I tested:
I have tried to delete the image and add it again - nothing changes.
I have double checked the naming of the file - everything is fine.
I have tried to load the image in another view controller and it loads.
I have cleaned my application and deleted it from all devices - issue stays.
If you happen to have any suggestions on what can be the cause of that strange behavior please give me a hint.
OK, since your image is already in the project and the target, here's a couple of other reasons which could cause the issue
The file extension and the type of file don't match. Try saving the in another format and use it in the app. See if that works
You mentioned this is a universal app? Are you naming the images correctly (image.png, image#2x.png, image~ipad.png and image#2x~ipad.png
I got an image called Default.png in my project folder and it shows up correctly as splash screen. It worked fine so far. However, for some reasons, the image suddenly shows upside down and I couldn't figure out how to fix it. At last, I thought, I can just remove the splash screen. Interestingly, I remove the reference to Default.png from my project, it still shows up. Then, I moved the Default.png to trash, but it still shows up. I guess MonoTouch cached it somehow? The same problem appears in both iPhoneSimulator and iPad device.
Only the splash image is upside down, everything else is okay. On simulator, one thing I notice is that the initial screen is shown in portrait mode, but all the icons are shown side ways (as if in landscape).
How can I turn around the upside down image?
if not possible to turn it around, how can I simply remove it?
Is this a bug in MonoTouch?