3D touch快捷应用:didfinishlaunchingwithoptions:performActionForShortcutItem:执行顺序
Posted
技术标签:
【中文标题】3D touch快捷应用:didfinishlaunchingwithoptions:performActionForShortcutItem:执行顺序【英文标题】:3D touch shortcut application:didfinishlaunchingwithoptions: performActionForShortcutItem: Execution order 【发布时间】:2016-03-01 02:25:01 【问题描述】:如果您的应用尚未启动,并且您单击主页快捷方式启动您的应用,首先调用哪个方法?
Is application:didFinishLaunchingWithOptions:
或
application:performActionForShorcutItem:completionHandler:
?
【问题讨论】:
【参考方案1】:如果您使用 3D-touch 快捷方式启动您的应用,方法:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
将首先被调用。 如果此方法返回 true,则方法:
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: Bool -> Void)
接下来会被调用。 但是如果你用第一个方法返回false,第二个方法就不会被调用。
如果您的应用程序已经启动,您使用 3D-touch 快捷方式进入您的应用程序,只会调用第二种方法。
在Apple's Demo查看更多详情
【讨论】:
所以,我第一次通过home快捷方式启动应用时,不需要考虑窗口是否有rootViewController。因为它(rootViewController)已经在 application:didFinishLaunchingWithOptions 方法中启动。对吗?以上是关于3D touch快捷应用:didfinishlaunchingwithoptions:performActionForShortcutItem:执行顺序的主要内容,如果未能解决你的问题,请参考以下文章