Launch screen is a screen which appears while launching app and lasts till first screen of app appears.

Learn more about Launch Screen and guidelines here.

Similar to AppIcons we have to mention in project settings about using image assets for launch screen image.

By default project settings are like:

https://i.stack.imgur.com/3IGLQ.png

We have to change to like this:

https://i.stack.imgur.com/pH08H.png

Once we change these settings, Xcode will asks us to migrate to assets and create LaunchImage file in assets automatically as:

https://i.stack.imgur.com/I08LL.png

If not created, we can manually create one by clicking + button at the bottom as:

https://i.stack.imgur.com/6C3qH.png

After this, according to our requirement we can change the empty boxes to devices which we support using attributes inspector by checking/unchecking boxes.

I filled these images for iPhones of 4” screen to 5.5” and for all iPads as:

https://i.stack.imgur.com/1Ya2K.png

Here are sizes of all launch images:

Retina HD 5.5" iPhone Portrait - iPhone (6, 6S, 7)Plus - 1242x2208px
Retina HD 4.7" iPhone Portrait - iPhone 6, 6S, 7 - 750x1334px
Retina HD 5.5" iPhone Landscape - iPhone (6, 6S, 7)Plus - 2208x1242px
2x iPhone Portrait - (3.5") iPhone 4S - 640x960px
Retina 4 iPhone Portrait - (4") iPhone 5, 5S, 5C, iPod Touch, SE - 640x1136px
2x iPad Portrait - All Retina iPads - 1536x2048px
2x iPad Landscape - All Retina iPads - 2048x1536px

Notes:

1 non-retina iPads: I left blank 1x iPad Portrait and Landscape because non-retina iPads will use 2x launch images by scaling

2 12.9” iPad Pro: there is no square for this iPad because this iPad will also use 2x iPad images by scaling them