应用程序图标上的快捷方式项不适用于iOS 13

时间:2019-09-27 12:36:26

标签: ios swift ios13

为了支持应用程序图标上的快捷方式项,我们在SceneDelegate中实现了以下方法:

func windowScene(_ windowScene: UIWindowScene, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void)

通过此类快捷方式项杀死并启动该应用程序时,不会调用此方法(它仅显示主屏幕)。但是,当应用程序在后台运行时,将调用此方法,并且一切都会按预期进行。

我还检查了AppDelegate中的didFinishLaunchingWithOptions,以查看launchingOptions中是否有快捷方式项目,但它们是nil

1 个答案:

答案 0 :(得分:1)

在中检查ShortcutItem

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {

    if let shortcutItem = connectionOptions.shortcutItem {
        shortcutItemToProcess = shortcutItem
    }
}

然后在

中处理它
func sceneDidBecomeActive(_ scene: UIScene) {
    if let shortcutItem = shortcutItemToProcess {
        shortcutItemToProcess = nil
    }
}