iOS Splash Screen not showing up on device - strange issue - ios

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.

Related

iOS app not displaying correctly iPad

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:

storyboard launchimage when supporting iOS7 & iOS8

I'm creating an app that supports iOS8 and iOS7.
iOS8 supports to use Storyboards as launchimage...
But this doesn't work for iOS7.
But if I'm using Launch Images from the image.xcassets the launch image isn't loaded any more!
Is it possible to use storyboard-launch images for iOS8 and launch image from the Assets for iOS7?
Thanks in advance!
Edit:
As soon as I'm using both, iOS8 LaunchScreens is black!
For Device using iOS 7 you can do as usual, what we used to do using images.xcassets
For iOS 8 devices you have two ways..
Simply you can use LaunchScreen.xib.
this image show how Xcode by defaults sets LaunchScreen.xib for iOS 8 launch screen file.
If you don't want to set LaunchScreen.xib as launch screen file and want to display some launch image as you want in iOS 7 device, so just remove launch screen file name and make it blank(see below image) and delete LaunchScreen.xib file from Xcode. In this case iOS 8 device also takes launch image from launch images from images.xcassets.
Reference : Suryakant Sharma
This is quite a common problem, which happens when we build a new application with xCode 6.2 (and later), and set the deployment target to iOS 7. The lack of LaunchImage causes the app to run in 3.5-inch mode on iOS7 device.
If you specify both LaunchScreen and LaunchImages, the app runs fine on both iOS7 and iOS8.

Xcode 6.1.1 Launch Images for Universal build

Faced the problem with Launch images in Xcode 6.1.1
When I set all of the images - iPhone 4s, iPhone 5/5s and iPhone 6 doesn't show up (black screen), however the resolutions for the particular device is set right, as all of the images are on their places.
https://dl.dropboxusercontent.com/u/71223199/temp/01.png
I use Landscape right/left.
Funny stuff is when I'm adding them one by one, they first work.
https://dl.dropboxusercontent.com/u/71223199/temp/02.png
But once I add images for iPhone 6/6+ they don't work again.
iPad works fine.
Have anyone seen any step-by-step tutorial on how to set up images?
I have my another project (portrait orientation) and it works fine when images for all devices are set up.
Sounds like Apple didn't fix this landscape-only launch images bug with their latest update to Xcode. You'll likely have to manually edit your project's info.plist file to include the UILaunchImages array. The selected answer here worked for me for the previous version of Xcode:
How do I create launch images for iPhone 6 / 6 Plus Landscape Only Apps?
More detail on why this particular bug exists (at least it did in Xcode 6.1) in the last post of this thread:
Supporting iPhone 6 and iPhone 6+ with different launch/splash screen image for iPad Portrait and Landscape orientations

Why my iPhone app runs in fullscreen on iPad

I have an iPhone app which works fine on iPhone 5 and 4s, when i run it on iPad2 i am expecting it to run in small window with 2x resolution but instead it runs fullscreen messing up all the layouts, apple has rejected my app and i need a fix.
I have created this app as iPhone only and built on Xcode 6 with ios8.0 sdk,
Please help
thanks
If you set a launch screen for your app, it will be fullscreen on iPad.
In Xcode, select your app target, then select General tab, scroll to App Icons and Launch Images, checkout the Launch Screen File.
Ok so finally deleted the xib file which i was using as launch screen and used the default images instead that solved the issue for me now , app runs in 2x mode on iPad with launch screen.

iOS 7 black splash bug and app launch size

Currently I am having troubles with a project I am working on.
First of I have this bug. Where the splash screen on iOS 7 is black when I set a splash screen for iOS 7 devices. The tip which I found there (and which works) is to only set splash screens voor iOS 6 and it will fetch those for iOS 7.
However, when doing this the app launches as an 3.5" app on an 4" device on iOS7. (The splash screen is full size).
I have tried using the old methods to have splash screens (e.g with correct naming conventions) and not using the Image Catalogs, but this doesn't change anything.
What can I do to have and a working splash screen on iOS 7 devices and the correct launch size for those devices?
It might be worth noting that this is a Universal app.
Have you tried to use a new project and set all image sizes?
There could be a problem with your Info.plist after changing the splash images many times.

Resources