当用户在 iOS 13 上的应用切换器中向上滑动我的应用时,我发现对我获得(或未获得)的事件进行分类和说明非常困难。这似乎是由于多个场景引起的变化支持。在那种情况下我会遇到什么事件?
假设您的应用程序支持窗口场景。所以用户在应用切换器中向上滑动的实际上是一个场景,而不是整个应用。那么可能性如下。
如果场景在最前面:
sceneDidEnterBackgroundapplicationWillTerminate(_:)但如果场景不在最前面,你将一无所获;你已经收到了sceneDidEnterBackground,你applicationWillTerminate(_:)现在不会收到,因为应用程序没有运行。
如果场景在最前面:
sceneDidDisconnect(_:)application(_:didDiscardSceneSessions:)applicationWillTerminate(_:)但如果场景不在最前面,你将一无所获;你已经收到了sceneDidEnterBackground,你applicationWillTerminate(_:)现在不会收到,因为应用程序没有运行。
如果场景在最前面:
sceneDidEnterBackgroundapplicationWillTerminate(_:) (也许)但如果场景不在最前面,你将一无所获;您已经收到了sceneDidEnterBackground,applicationWillTerminate(_:)现在无法收到,因为应用程序未运行或应用程序未终止(如果有另一个窗口)。如果应用程序仍在运行,您可能会得到,sceneDidDisconnect(_:)并且可能会application(_:didDiscardSceneSessions:)稍后。
这里有什么奇怪的人?这是我们在 iPad 上运行的情况,我们支持场景但不支持多个窗口。我们不明白sceneDidEnterBackground!我认为这是不连贯的。因为我们不支持多个窗口,所以这基本上是一个 iPhone 应用程序,它的行为应该像一个 iPhone 应用程序。我不应该仅仅因为我的应用程序在 iPhone 和 iPad 上运行而将我的代码加倍。
| 归档时间: |
|
| 查看次数: |
731 次 |
| 最近记录: |