web-dev-qa-db-ja.com

Xcode 11-iOS 13でUISceneDelegate / SwiftUIをオプトアウト

現在Xcode 11 Beta 5を使用しています。私のアプリケーション内では、iOS 12以下で問題なく動作します。ただし、iOS 13では、デフォルトでUISceneを使用しているように見えます。これは私のアプリが何もしない原因となっています。

アプリを新規インストールで起動すると、ユーザーが同意する必要のある利用規約があります。同意した後、ロード画面に移動し、メイン画面に移動します。私が投稿したスクリーンショットでは、フォアグラウンドで現在のビューの背後にあるビューがスプラッシュロード画面です。

アプリケーション全体に複数のビューのシーンサポートを追加することを検討しますが、現時点では、優先度の高いものに取り組む必要があります。

https://imgur.com/i0qLhAL

「複数ウィンドウのサポート」は、アプリのターゲットの一般設定ですでに無効になっています。また、info.plistファイルで[複数のウィンドウを有効にする]を[いいえ]に設定しています。

これまでのところ、実際には何も機能していません。基本的に私はiOS 10-12で元の動作を復元するために複数のウィンドウとUIScene/SwiftUIをオプトアウト/無効化したいと思います。これはiOS 13で可能ですか、それとも更新する必要がありますか?

更新:

これは、ビューのデバッグ階層のスクリーンショットです。左側がiOS 12、右側がiOS 13です。Info.plistにもシーンデリゲートクラスやメソッドにも何も追加しないと、なぜ違うのですか? Xcode 11の既存の本番環境対応コードで実行しただけです。

https://imgur.com/C3aLsDo

83
DavidA

私はこれをdfdの答えを使用して動作させるようにしましたが、私のアプリはObjective-Cであるため、1つの変更を加える必要がありました。

Objective-Cでは、

@property (strong, nonatomic) UIWindow *window;

appDelegate.h内(.m内ではありません)

0
Nik Bhatt