ios - 从另一个应用程序打开时,在 applicationWillTerminate 之后以首选状态打开应用程序?

标签 ios swift appdelegate

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

首次启动 appDelegate 时首先打开 didFinishLaunchingWithOptions,但是如果用户双击主页按钮并通过向上滑动 applicationWillTerminate 终止应用程序> 被调用,应用被终止。

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

我如何确保应用程序知道从 didFinishLaunchingWithOptions 方法中传递的 url?有没有办法事先确定而不是在 application(application: UIApplication, openURL url...?

最佳答案

是的,该 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

关于ios - 从另一个应用程序打开时,在 applicationWillTerminate 之后以首选状态打开应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51950267/

相关文章:

ios - xCode 中的 Firebase.configure() 导致线程 1 : signal SIGABRT : terminating with uncaught exception of type NSException on App Delegate

ios - 在ios sdk中获取当月星期一的所有日期

ios - 写入/加载到/从文件

ios - UIStatusBarStyle 不适用于 Swift

swift - 排序字典类型 [String :any]

swift - 更改页面控件的位置不起作用

ios - 每次都恢复状态?

iphone - iOS - 从 appDelegate 访问 Storyboard上的 viewControllers

ios - Swift 2.0 中的 do { } catch 不会处理从这里抛出的错误

ios - WKWebView 仅垂直滚动而不是水平滚动而不是页面缩放