我想像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:不会。

10-05 23:11