Это может быть , что вызвано тем, что AppDelegate имеет свое собственное свойство "окна", и вы создаете другое "окно" в applicationWillEnterForeground метод, в котором приложение будет иметь два окна, это может привести к его двойной загрузке. Поскольку вы находитесь в AppDelegate.swift , вам не нужно создавать отдельное окно и использовать существующее без написания первых двух строк кода.
Я бы предложил записать последние 4 строки вашего кода в методе didFinishLaunchingWithOptions и попробовать его. Который будет выглядеть примерно так:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let yourVC = mainStoryboard.instantiateViewController(withIdentifier: "CommandAndControlViewController") as! CommandAndControlViewController
//Below rootViewController is of type UIViewController hence even you don't cast "yourVC" to CommandAndControlViewController it will work
window?.rootViewController = yourVC
window?.makeKeyAndVisible()
}