I need to create and app which will run on iPhone 4S, 5,5S, 6, 6+ and the deployment target will be iOS 7.1. I saw Apple introduced LauchScreens.xib for creating the launch
The new way of doing splash screens for iOS 8 onwards is to define a LaunchScreen.xib file. This is also available as a new Resource file type in XCode 6.
This new XIB will use AutoLayout and the new size classes to determine how you want to layout your splash screen.
It is not very clear how the backward compatibility of this will work if you want to support older devices. I figure it will not work.
You can set the launch.xib in the target properties first screen in your XCode project.
If you want to use the old way you can still define splash PNGs to use as launch images, that continues to be fully supported. From what I see, this is still the only way to go if you want to support old iOS versions.
Note that if you want to support the new resolutions of iPhone 6 / 6 Plus, then you must define either a launch xib or put the correctly sized PNGs in your asset catalog, or else you will get the blurry autoscaled UI that old apps get in compatbility mode.