I'm trying to get an external screen for an iOS iPad app up and running. Currently I just could test this with the iOS simulator (VGA connection kit is on it's way).
My problem is that when starting the app in landscape (left or right) or portrait upside down the external display remains black. If started in normal portrait mode then everything is fine.
You can test the whole thing with the sample project provided by Apple. It works in 1 of 4 cases (see below) and behaves exactly like my project:
https://developer.apple.com/library/ios/#samplecode/ExternalDisplay/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010724
Steps to reproduce the problem:
Start your iPad 6.0 simulator by hand (not via Xcode, run project).
In the menu bar: Hardware > TV-Out - pick a screen resolution. A second window will appear and act as a second screen.
Turn it via CMD+ArrowLeft/Right to landscape-left/right or portrait upside down.
Now run the project in your iPad 6.0 simulator.
If the application has started (don't worry, this app just was not designed by Apple to rotate its interface correctly) press the button in the navbar.
-> The second screen will remain black.
Same test in protrait mode (will work correctly):
Quit the simulator, repeat steps 1,2,4,5, don't turn the simulator, leave it in normal portrait mode.
-> The second screen will be filled.
Now I wonder why that is. It's not very nice to only have the second screen at hand if the app was started in portrait mode. And it's not very pleasant to develop and test with this problem.
Funny thing is that whenever you start the app in portrait mode it works, but if you start it once in an other orientation it won't work anymore till you restart the simulator.
Maybe you can also tell me if this is also a problem with the real device and a connection kit / airplay.
Concrete questions:
- Is this bahaviour of the simulator normal?
- Did I just forgot something?
- Is this problem just occuring in the simulator and not with running apps on devices connected to a seconds screen?
Thankful for any hint or advice!
Problem has solved itself. With the newest versions of Xcode/iOS Simulator it works as expected now. The code iteself was ok, just the Simulator did not handle everything like it would happen with a real device.
Related
I simply cannot figure out what’s going on here—My app works great in the simulator when it is set to iPhone 8, but if I change to 11, or try to open it in the expo app on my real iPhone, it hangs at the splash screen.
I am loading a few images and fonts with the splash screen, but it works perfectly well in the simulator when it’s set to iPhone 8, and I have no idea why it doesn’t just work equally well on any device size.
Does anyone have any ideas why the behavior would be different?
Edit: update on my findings. I have narrowed the issue down to a check for isClientReady which is a Boolean I create during the Splash Screen loading to check for an existing session and if so, connect to the Stream chat service’s client. When I remove this, then the Splash screen continues to load for the other device sizes, but then it sets up a race condition where the app loads before the user is connected to Stream and I get an error. I may be able to circumvent this by throwing up a spinner wheel once past the loading screen to await the Stream client check, but I wanted to avoid multiple loading states when the app starts and hide it behind the splash screen.
Weirdly, this is not and has never been a problem when using the iPhone 8 simulator, it works perfectly. It seems to be a problem with all other phone sizes, though, and my real iPhone 11.
So the question still remains—does anyone know why the behavior would vary between two different types of simulator? I’m stumped.
I'm trying to bring my App current to iOS 10.1, using Xcode 8.1. My App is targeted to both iPhone and iPad. All the simulators for the iPhones work o.k. However all the iPad simulators draw a screen that is bad, and after a second, the good screen appears.
The bad screen looks like:
After about a second the actual screen appears. It looks like:
This did not happen in earlier versions of Xcode, and I sure would appreciate some suggestions on why Xcode 8.1 is doing this.
Charles
The problem is that you are still using a launch screen image file. Those no longer work. The initial screen nowadays is your LaunchScreen.xib or LaunchScreen.storyboard. You need to have one and configure it so that it matches your actual initial interface.
I have an iPad. I have a Smart Cover. I have Xcode 7.2.
I am developing an app that is set to allow Landscape Left and Landscape Right orientations.
I have my iPad on the desk propped up by the smart cover with the home button on the left side of the device. I have the iPad unlocked, on the home screen, and everything looks great.
When I build and run my app from Xcode, it decides to run in the opposite orientation, so everything is upside down.
This makes no sense. How can I stop this behavior?
I am working on an App which should be able to run on iPhones and iPads.
I have been able to run it on iPhones and it is displaying perfectly. But when I run it on an iPad the App itself is very zoomed in. I am not sure what main issue.
This is how it displays on iPad:
And this is how it comes up on an iPhone:
Any idea how to fix it or what the issue is?
Your app isn't made to run on the iPad. When displayed on the iPad, it just stretches the display of the iPhone version (you can see that by the 1x button on the lower right corner of the screen). You need to setup your XCode project as a Universal App (instead of it being just for iPhone) and then you'll be able to take advantage of the entire iPad screen and design the display especially for it.
You can set the app as Universal on your project properties in XCode:
I can't find an answer to this anywhere. My app runs perfectly on the simulator, but when I plug it into my iPhone 5s, it gives me a gray screen when it runs. I have iOS 8.4 and Xcode 6.4. All my provisioning is set up correctly and the little app icon appears on my device screen. I can't figure out why when I tap it, it brings up the launch screen and then the screen immediately turns gray. Could this be an issue with my device?
Screenshot of screen when I try to run on device:
http://imgur.com/PsEAOCF
Edit:
I figured out that the device runs the code thats in the main storyboard, but nothing else. I'm making a SpriteKit-based game and all of my code is in scenes, the only thing I have in the storyboard is an iAd. I can't figure out why the simulator runs my GameScene but the device only runs what is posted in the storyboard.