我正在使用 Sirikit 与我需要与应用程序交互的支付域应用程序集成。我阅读了 Apple 文档,他们要求使用通用框架。是否可以使用转接?如果是,那怎么办?如何从sirikit调用父应用程序中的另一个viewController?
我将非常感谢任何帮助。谢谢
每个用户活动对象都需要一个类型,我们需要在
应用程序的 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
}
}
检查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。