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.
Related
I am updating my code Xcode 9.2 to latest Xcode 10. all things working properly but splash screen logo image not shown when apps running . is there any solution for it.
I got solution for my problem by restarting testing device.
See previous answers here: iOS Keeping old launch screen and app icon after update
You don't specify in the question if you're running on a real device or simulator, but if simulator make sure you do 'Erase All Content And Settings' from the 'Hardware' menu. The simulator is not an emulator and doesn't always behave the same as a real device.
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 am making a test sprite kit game, and when I run it on the device, the splash screen doesn't show up although it does work on the simulator.
Here are some screenshots:
Normally I set the target to iOS 7.1 and later, so I use a .xib file and LaunchImage file in xcassets.
I have put 2 correctly sized splash screens in the iPhone portrait iOS 7&8 section, and have selected "Portrait" under iOS 7 and later. The link from the settings file is definitely going to the correct file.
When I run it on the simulator (presumably all devices are iOS 8), the .xib file is used and it displays that splash screen.
When I run it on my iPhone 4, it displays a black screen. In my other apps, it would choose the image from xcassets and display it, but this is not the case.
Does anyone know how I could solve this problem?
Edit
Basically, I have put 4 images into xcassets for a splash screen. I have selected iPhone portrait for iOS 7 and iOS 8.
In the settings pane I deleted the launch screen file reference, so the only reference is to the xcassets launch image (It points to the correct place). I have also deleted the LaunchScreen.xib file.
But when I run the app on the device and the simulator, no splash screen shows up.
I faced similar issue and fixed by Restarting the Mac and iPhone
Uninstalling the app from Simulator/ iPhone helped to fix this issue.
I was having the same problem, and I finally figured out a solution. I want my launch screen to show up on ALL devices capable of running iOS 7 or later, when running my landscape-only Sprite Kit game. Most devices that run iOS 7 can be upgraded to iOS 8 or greater, except for the iPhone 4 (which is stuck with iOS 7.1), and the launch screen wasn't appearing on my iPhone 4 test device. Then I stumbled across Apple Tech Note TN2244. As described in the Tech Note, once you edit the info.plist to enable landscape orientation for iOS 7.0+ iPhone launch images, the correct launch image will appear. As a side note, if you disable the launch image asset catalogs as suggested, the XCode Swift compiler gives you warning messages -- but you don't really need to disable launch image asset catalogs, and if you configure them properly the warnings will disappear and landscape launch images will now work just fine on all devices, including iPhone 4.
Your app's launch image is displayed as soon as your launch your app. Hence the name. It is removed when the appDelegate appDidFinishLaunching: method runs. If you are app has very little to load, your image might get displayed and removed before you have time to see it.
If you want to manually set a longer display time for your launch image, you can add this code to the appDidFinishLaunching: in the appDelegate.m file:
sleep(4);
4 being the number of seconds.
If I select normal iPhone simulator in Xcode 5 or Xcode 5.1.1, I am able view simulator same as an iPhone.
But, if I try the same thing with a 4-inch iPhone simulator, retina or non retina, (iOS 6.0, 7.0, 7.1), I'm not able to view simulator like iPhone. It's just showing only the screen, but not the skin or body?
I have tried to select iPhone 4-inch simulator and window scale 100% but it is just showing very big simulator.
If I do same thing for the normal iPhone simulator, it works fine and simulator shows like iPhone, but not for 4-inch simulator. How to get that?
I guess it would depend on your screen size, because I have the same "problem". However, it shouldn't be an issue.
If you need the home button functionality, you can just press Shift-Command-H
If you need to lock, it's just Command-L
That should be all you need in terms of what the skin can do...otherwise I don't really see the point in needing the skin.
The skin makes sense to have for making app preview videos. Now that we can add preview videos to the app store, we can't use the simulator to make a real looking phone simulation
While the iOS Simulator doesn't let you display the device skin/chrome, there are third-party tools that can. For example, I use an app called Reflector that basically makes your Mac look like an Apple TV on the network. You AirPlay the app as it runs on your device (not the simulator) to the Reflector app on your Mac. It, in turn, displays the screen and the skin/chrome around it.
(Looking for the URL, I just noticed that it now lets you display on Windows and allows you to "cast" Android apps as well.)
Silly question, but.. I am not been able to see the device appearance when running the iPhone simulator. I don't remember after which XCode update this started but the iPhone simulator shows only as a simple window without showing the device case like it used to be (see this image).
That's how my simulator looks like:
Is there a way to make it look like an actual iPhone 5?
EDIT: Unfortunately in my hardware->device options I see only iPhone retina (which is currently selected), but there are no more options. So it seems like the default beheaviour to look like a thin window, unless I missed out some other configuration.
Here is what I see overlayed to a user answer.
The Simulator window only shows an iPhone (4/4s) bezel when:
The simulated device is a 3.5 inch non-Retina iPhone, and
The window scale is 100%.
In Xcode 5, you can't do the first one unless you download the iOS 6.1 simulator, because 3.5 inch non-Retina devices are not supported by iOS 7.
(For simulated devices other than 3.5-inch non-Retina, you'll also see a bezel at 100% scale, but this bezel doesn't look exactly like any particular device.)
If you want device images to use in promotional artwork for your app, see Apple's App Store Marketing Resources page.
First of all this does with retina devices.
STEP 1: Follow this step if you using Xcode 5 as you need to download the iOS simulator.
Go to XCode,
Open the main XCode Preferences option then Downloads. Click on
iOS 6 Simulator Change to the simulator you want by going to the
"Hardware" menu. Close the simulator. Run the project.
STEP 2:
As you required just change device from Hardware -> device to iPhone as shown in the image.
And in the next step be sure set the window scale to 100 %.
For some reason it looks like an iPhone on my retina Macbook Pro, but not on my iMac.
They're probably looking at the resolution of the Mac, which doesn't really make sense, since you see less at 2880x1800 retina, than 1920x1080 non retina.
The problem I think is not with your XCode, but with your display. Check this : iPhone skin on Simulator
Check this Goto IOS Hardware >>Device >>iPhone
then window +1
Unfortunately it works like that for anything else - there is no option to show a case for any other simulators.
Absolutely correct, im using IOS simulator 7.0, there is no option regarding this. i did every possible step to make it look like iPhone but hard luck IOS simulator not having this option in Devices.
I've had this issue also. As indicated earlier, I went to preferences, downloads and then clicked on the ios 6.1 download. After installing it gave me the option of the "iphone". This option actually looks like the iphone. After the install it still includes the retina options as well.
It could be a scaling issue. In the simulator toolbar, go to Window -> Scale, and make sure that 100% is checked. Regarding how to enable iPhone non-retina if not shown, I wrote some steps in my blog on how to do it.