If you don't want to create a separate UIImageView "similar" to your launch screen, you can instantiate a view controller as exactly the launch screen and use that.
let sb = UIStoryboard(name: "Launch Screen", bundle: nil) // the storyboard of your launch screen
let vc = sb.instantiateViewController(withIdentifier: "launchScreen") // the storyboard id (remember to set it first!)
// present the vc
navigationController?.present(vc, animated: false, completion: nil)
// when you're done loading
vc.dismiss(animated: false, completion: nil)
However, note that this is not a very good practice, since you should let the user now that the app is actually doing something. Consider showing some kind of loading spinner or similar.