【问题标题】:Open a different UIViewController when app is launched via SiriKit通过 SiriKit 启动应用程序时打开不同的 UIViewController
【发布时间】:2016-10-18 17:01:25
【问题描述】:

我正在尝试在我的 iOS 应用中实现 SiriKit。 通过 Siri 启动应用程序时,我想打开一个不同的视图控制器。

如何在我的应用中处理此类操作?

【问题讨论】:

  • 嗨 Vivek,欢迎来到 StackOverflow!这个问题目前对于 StackOverflow 社区来说太宽泛了。展示你对这个问题所做的研究,你在解决方案上所做的尝试,然后尝试让你的问题更具体。考虑阅读 Apple 关于 SiriKit 和 AppDelegate / UIViewController 的文档。

标签: ios swift siri sirikit


【解决方案1】:

您可以这样做,但是,首先您必须在您的应用中设置 SiriKit,这需要很长的说明列表:https://developer.apple.com/library/prerelease/content/documentation/Intents/Conceptual/SiriIntegrationGuide/index.html#//apple_ref/doc/uid/TP40016875-CH11-SW1

Apple 还整合了一个名为 UnicornChat 的示例 SiriKit 应用程序:https://developer.apple.com/library/content/samplecode/UnicornChat/Introduction/Intro.html

一旦您添加了您的 SiriKit 应用扩展并正确处理了您的 Intent,您将能够使用与您的 Intent 关联的 ResponseCode 将其发送到您的应用。这将打开您的应用程序,您可以通过将以下代码添加到您的应用程序委托中来捕获它并将其发送到whateverViewController:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    // implement to handle user activity created by Siri or by our SiriExtension

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    // Access the storyboard and fetch an instance of the view controller
    let viewController: WhateverViewController = storyboard.instantiateViewController(withIdentifier: "WhateverViewController") as! WhateverViewController
    window?.rootViewController = viewController
    window?.makeKeyAndVisible()
}

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多