3D 触摸快捷方式 application:didfinishlaunchingwithoptions: performActionForShortcutItem: 执行顺序

3D touch shortcut application:didfinishlaunchingwithoptions: performActionForShortcutItem: Execution order

如果您的应用尚未启动,您点击主页快捷方式启动您的应用,会先调用哪个方法?

Is application:didFinishLaunchingWithOptions:

application:performActionForShorcutItem:completionHandler:

?

如果您使用 3D-touch 快捷方式启动您的应用程序,方法:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool  

将首先调用。
如果此方法 return 为真,则方法:

func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: Bool -> Void)

接下来会被调用。
但是如果你用第一个方法 return false ,第二个方法将不会被调用。

如果您的应用已经启动,您使用3D-touch快捷方式进入您的应用,只会调用第二种方法。

详情见Apple's Demo