在应用程序之后打开应用程序从另一个应用程序打开时会终止于首选状态吗?

时间:2018-08-21 13:51:05

标签: ios swift appdelegate

当前可以从另一个应用程序打开我的应用程序。正在application(application: UIApplication, openURL url...中读取从其他应用程序传递来的所有信息,并且该应用程序的状态将根据需要保留。

在第一次启动时,appDelegate首先打开didFinishLaunchingWithOptions,但是,如果用户双击主屏幕按钮并通过向上滑动applicationWillTerminate终止应用程序,则会调用该应用程序并将其终止。

被终止后从另一个应用程序启动我的应用程序时,该应用程序首先调用didFinishLaunchingWithOptions,然后调用application(application: UIApplication, openURL url...

如何确保应用知道从didFinishLaunchingWithOptions方法中传递哪个URL?有没有一种方法可以预先确定而不是在application(application: UIApplication, openURL url...内确定?

1 个答案:

答案 0 :(得分:1)

是的,如果应用是通过另一个应用的URL启动的,则launchOptions字典中的URL应该可用。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let url = launchOptions?[UIApplicationLaunchOptionsKey.url] as? NSURL

}

如果您对launchOptions词典可能包含的所有内容感兴趣(请链接到可以使用的所有键),请查看application(_:didFinishLaunchingWithOptions:)文档:

https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622921-application