0

我正在使用 Sirikit 与我需要与应用程序交互的支付域应用程序集成。我阅读了 Apple 文档,他们要求使用通用框架。是否可以使用转接?如果是,那怎么办?如何从sirikit调用父应用程序中的另一个viewController?

我将非常感谢任何帮助。谢谢

4

2 回答 2

1

每个用户活动对象都需要一个类型,我们需要在

应用程序的 info.plist

例如。

let userActivity = NSUserActivity(activityType: "uaType")
userActivity.title = "uaTitle"
userActivity.userInfo = ["uaKey": "uaValue"]

您现在可以AppDelegate按如下方式访问此活动对象

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

        switch userActivity.activityType {
        case "uaType": 
        //Write your logic to access uaKey & uaValue here
        return true
        default: return false
        }
}
于 2017-08-01T17:18:07.470 回答
0

检查SiriKit 编程指南

要使用切换,您可以使用对象创建意图响应NSUserActivity对象。在创建NSUserActivity对象时,将 userInfo 属性分配给您想要的适当对象,

let userActivity = NSUserActivity()
userActivity.userInfo = ["myKey": myAnyObject]

您将NSUserActivity在父应用程序 AppDelegate 中获得此对象,

optional public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Swift.Void) -> Bool

在这里,您可以获得userInfo可以根据您的要求进行比较的对象并调用适当的 viewController。

于 2016-07-19T03:47:06.837 回答