Je dois prendre en charge iOS 12 et iOS 13.
Dois-je dupliquer du code entre AppDelegate
et SceneDelegate
?
Par exemple:
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
let window = UIWindow(windowScene: windowScene)
window.rootViewController = HomeViewController()
window.makeKeyAndVisible()
self.window = window
}
et
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = HomeViewController()
window.makeKeyAndVisible()
self.window = window
return true
}
Si je ne le fais pas, dans 1 version, je me retrouve avec un écran noir, mais si je le fais et que j'imprime dans la méthode viewDidLoad
de HomeViewController
je peux voir qu'il est appelé deux fois.
Je mets à jour mon didFinishLaunchingWithOptions
et je peux voir dans iOS13
il est toujours appelé deux fois.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
guard #available(iOS 12, *) else { return true }
let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = HomeViewController()
window.makeKeyAndVisible()
self.window = window
return true
}
Xcode 11. * et Swift 5. *
Suivez les étapes ci-dessous après que votre code fonctionnera correctement pour iOS 12 et iOS 13 -
J'espère que cela fonctionnera pour quelqu'un. Happy Coding ????