web-dev-qa-db-fra.com

Xcode 11 - Désactiver UISceneDelegate / SwiftUI sur iOS 13

J'utilise actuellement Xcode 11 Beta 5. Dans mon application, il fonctionne correctement sur iOS 12 et versions antérieures. Cependant, sur iOS 13, il semble qu'il utilise UIScene par défaut. Cela fait que mon application ne fait rien.

Lorsque l'application se lance sur une nouvelle installation, l'utilisateur doit accepter des conditions générales. Après avoir accepté, ils accèdent à un écran de chargement qui les dirige ensuite vers la vue principale. Dans la capture d'écran que j'ai publiée, la vue derrière la vue actuelle au premier plan est l'écran de chargement des éclaboussures.

Nous allons bientôt envisager d'ajouter le support de scènes à vues multiples dans l'application, mais pour le moment, nous devons travailler sur des choses plus prioritaires.

https://imgur.com/i0qLhAL

"Prise en charge de plusieurs fenêtres" est déjà désactivé dans les paramètres généraux de la cible de l'application. J'ai également activé l'option Multiple Windows sur NO dans le fichier info.plist.

Jusqu'à présent, rien n'a vraiment fonctionné. Fondamentalement, je souhaite désactiver/désactiver plusieurs fenêtres et UIScene/SwiftUI pour restaurer le comportement d'origine dans iOS 10-12. Est-ce possible dans iOS 13 ou devons-nous le mettre à jour?

Mettre à jour:

Voici une capture d'écran de la hiérarchie de débogage des vues. Le côté gauche est iOS 12, le côté droit est sur iOS 13. Sans ajouter quoi que ce soit à Info.plist ni à aucune classe ou méthode de délégué de scène, pourquoi est-ce différent? À peu près, il a simplement été exécuté dans son code de production existant sur Xcode 11.

https://imgur.com/C3aLsDo

83
DavidA

Je l'ai fait fonctionner en utilisant la réponse de dfd, mais parce que mon application est en Objective-C, j'ai dû faire un changement:

Dans Objective-C, vous voulez mettre

@property (strong, nonatomic) UIWindow *window;

dans AppDelegate.h (pas dans le .m)

0
Nik Bhatt