【问题标题】:Launch cycle after Quick Action (3D Touch)快速操作 (3D Touch) 后的启动周期
【发布时间】:2015-11-06 15:42:57
【问题描述】:

当您在主页上用力按下某个应用图标并选择其快速操作之一时,您有两种选择:

1.该应用已经在运行(在后台)

在这种情况下,快速操作由performActionForShortcutItem:completionHandler:处理

2。您的应用正在启动

在这种情况下,会调用 did/willFinishLaunching,然后调用 performActionForShortcutItem:completionHandler:

我在一篇文章中读到,如果应用程序由 Quick Action 启动,则必须检查 did/willFinishLaunching,如果是,则在此处处理并返回 false,以便不会再次调用 performActionForShortcutItem:completionHandler:。我想知道为什么这种方法更好?这是因为否则您的整个应用程序会启动,然后处理快速操作而不是直接处理快速操作。

【问题讨论】:

  • application:performActionForShortcutItem:completionHandler: 的文档解释了您可能想要这样做的原因。

标签: ios swift 3dtouch quickaction


【解决方案1】:

正如 Dan 在 cmets 中指出的那样,Apple Documentation 解释了为什么我们应该这样编程。

请求的快速操作可能会使用与您的应用启动时不同的代码路径。例如,假设您的应用程序通常启动以显示视图 A,但您的应用程序是为了响应需要视图 B 的快速操作而启动的。要处理这种情况,请在启动时检查您的应用程序是否正在通过快速操作启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多