2015-11-06 53 views
1

当你用力压应用程序图标,并选择在主页上的快速操作之一,你有两个选择:启动周期(3D触摸)

1.应用程序已经运行(在背景)

在这种情况下,快速行动是由performActionForShortcutItem:completionHandler:

2.您的应用程序处理正在启动

在这种情况下,也/ willFinishLaunching被称为然后performActionForShortcutItem:completionHandler:

我,你必须检查,如果应用程序是由快速行动推出DID/willFinishLaunching的那篇文章,如果是这样,处理它那里和返回假所以performActionForShortcutItem:completionHandler:将不会再被调用。我想知道为什么这种方法更好?这是因为否则你的整个应用程序启动,然后处理快速行动,而不是直接处理快速行动。

+0

'application:performActionForShortcutItem:completionHandler:'的文档解释了你为什么要这么做的原因。 – dan

回答

1

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

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