【发布时间】:2019-11-08 01:48:03
【问题描述】:
我运行我的应用程序没有问题。
但是,如果您单击我的应用程序上的分享按钮并完成分享,关闭我的应用程序并单击另一个应用程序上的共享图像,它将不会进入登录屏幕。为什么不识别后台状态?
switch UIApplication.shared.applicationState {
case .background:
LoginScreen()
break
case .inactive:
WebViewScreen()
break
case .active:
WebViewScreen()
break
default:
break
}
return true
因此,如果我按下共享按钮并转到我的应用程序,我可以毫无失败地转到 webview 屏幕。但我不想在应用关闭时转到 webview 屏幕。
编辑:2016 年文档
表 2-3 App states 状态
说明
未运行
应用尚未启动或正在运行,但已被 系统。
不活动
应用程序正在前台运行,但当前未接收 事件。 (虽然它可能正在执行其他代码。)应用程序通常会停留 在这种状态下只是短暂的,因为它会转换到不同的状态。
活跃
应用程序正在前台运行并正在接收事件。这是 前台应用的正常模式。
背景
应用程序在后台执行代码。大多数应用都输入这个 简要说明他们被暂停的方式。然而,一个应用程序 请求额外的执行时间可能会在此状态下保持一段时间 时间。此外,直接在后台启动的应用程序 进入此状态而不是非活动状态。有关信息 如何在后台执行代码,请参阅后台执行。
暂停
应用程序在后台,但没有执行代码。系统 将应用程序自动移动到此状态并且之前不通知它们 这样做。挂起时,应用程序仍保留在内存中,但不会 执行任何代码。
当发生内存不足的情况时,系统可能会清除挂起的 应用程序,恕不另行通知,为前台应用程序腾出更多空间。
2016 Apple 文档的状态值为“Notruning”。现在没了吗?有替代的状态值吗?
【问题讨论】:
-
您可以控制其他应用程序吗?如果是,您是否尝试过使用深层链接返回您的应用而不是运行它?
-
@manman 我无法控制其他应用。只需关闭我的应用程序并再次运行我的应用程序即可进入登录屏幕。但是当我使用 Deeplink 时,我会直接进入 Web 视图。
-
我认为您没有处理从 UIApplication Delegates 函数到 Url Scheme 的深层链接。
-
什么意思?