我想像launchOptions
一样捕捉didFinishLaunchingWithOptions
,但是要像applicationDidBecomeActive
一样捕捉(我的应用关注时)。
例如,我在Box中打开一个文档。然后,我选择“打开方式”并选择我的应用程序。然后我的应用程序开始关注。
如何在launchOptions
中恢复UIApplicationDelegate
?
谢谢
最佳答案
如果您的应用程序未运行,并且已通过另一个应用程序打开,则会调用applicationDidBecomeActive
,您可以访问launchOptions
。然后,该应用程序将调用application:openURL:sourceApplication:annotation:
。
但是,如果您的应用程序在后台并且只是处于活动状态,则仅调用application:openURL:sourceApplication:annotation:
,这样您就不会得到任何launchOptions
。尽管应该从application:openURL:sourceApplication:annotation:
的参数中获取所需的所有详细信息。
application:openURL:sourceApplication:annotation:文档中的全部详细信息:
如果一个应用程序由于另一个应用程序请求打开URL资源而启动,则UIApplication首先向该应用程序发送一个application:didFinishLaunchingWithOptions:消息,然后调用此方法。此方法为处理应用程序的委托提供源应用程序的捆绑包ID以及该应用程序的任何注释信息。如果应用程序在收到打开URL的请求时已经在运行,则将调用此方法,但application:didFinishLaunchingWithOptions:不会。