storyboard launchimage when supporting iOS7 & iOS8 - ios

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.

Related

Adding iOS 8 Splash Screen causes App to distort

I have Old App working correctly with following Config of Splash screens
and this is how it should look
But as soon as i turn on iOS 8.0 and later and add splash
My App behave drastically weird like this
Man, use LaunchImage for iOS 7 (mostly), for iOS 8 and above, add LaunchScreen.xib, or as alternative, you can say your Main.storyboard as launch screen option:
For Device using iOS 7 you can do as usual, what we used to do using images.xcassets
For Device using iOS 8 you can use LaunchScreen.xib
Please note that if your application is developed on Xcode version <
5.0 then it is only compatible to 320px width devices (iPhone 4,4s,5,5s). You have to manually change constraints by checking devices/OS version.

iOS Splash Screen not showing up on device - strange issue

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.

Launch Image Xcode 6 iOS 7 warning

In my iOS project i have put iOS 7.1 as Deployment Target, but know i have this warning:
Applications using Launch Screen Files and targeting iOS 7.1 and earlier need
to also include a Launch Image in an Asset Catalog.
i have add in the images.xcassets the LaunchImage Folder, and i have add the Launch Image for the 4-inch screen, but i still have the warning, how i can do to solve it?
thanks
EDIT: this is the target setting:
You have not set the launch Images Source so iOS 7 has now idea where to get the images from.
Set this to asset catalog where you have added the launch screens, iOS 8 will use the Launch Screen File if both are set.

iPhone app compiled with Xcode 6 on runs as Universal on iPad

I have got an app developed for iPhone family only, and I used to run it on iPad to test how it will look on iPhone 4s (since it launched with iPhone 4s resolution, size, and else '2x' round button for fullscreen support). However, now when I run it on my iPad with iOS 8, Xcode ignores all build settings and runs it as for iPad. My storyboard constraints were not projected for iPad screen.
I have:
Devices option set to iPhone on General tab in project settings
Main storyboard file name and Main storyboard file name are removed from Info-plist
All App Icons and Launch Images for iPad are deleted
In Launch Screen File the option Use Size Classes set to NO, and the assets are generated for iPhone only
Is that a normal behavior? I want to use my iPad as before to test iPhone 4s resolution. I am sure that my app won't become universal because of that, but nevertheless I think this is a problem.
The use of Launch Screen File in iOS 8.0, 8.0.1 and 8.0.2 will make you universal.
This is a know bug and fixed in iOS 8.1, for you only option is to use assets catalog with a launch images.
Or you can add the device modifier in the Launch file name, like <launchNib>~iphone.nib

iPhone-only app isn't iPhone only for some reason [duplicate]

I have got an app developed for iPhone family only, and I used to run it on iPad to test how it will look on iPhone 4s (since it launched with iPhone 4s resolution, size, and else '2x' round button for fullscreen support). However, now when I run it on my iPad with iOS 8, Xcode ignores all build settings and runs it as for iPad. My storyboard constraints were not projected for iPad screen.
I have:
Devices option set to iPhone on General tab in project settings
Main storyboard file name and Main storyboard file name are removed from Info-plist
All App Icons and Launch Images for iPad are deleted
In Launch Screen File the option Use Size Classes set to NO, and the assets are generated for iPhone only
Is that a normal behavior? I want to use my iPad as before to test iPhone 4s resolution. I am sure that my app won't become universal because of that, but nevertheless I think this is a problem.
The use of Launch Screen File in iOS 8.0, 8.0.1 and 8.0.2 will make you universal.
This is a know bug and fixed in iOS 8.1, for you only option is to use assets catalog with a launch images.
Or you can add the device modifier in the Launch file name, like <launchNib>~iphone.nib

Resources