Swift 解析Siri快捷方式中的时间间隔
我正在应用程序中实现Siri快捷方式。我的意图中有一个Swift 解析Siri快捷方式中的时间间隔,swift,xcode,sirikit,sirishortcuts,Swift,Xcode,Sirikit,Sirishortcuts,我正在应用程序中实现Siri快捷方式。我的意图中有一个duration属性,它的单位设置为分钟 因此,用户有两个选项来提供此属性的值:1。在创建快捷方式时预定义它,2。将其保留为空,并在运行快捷方式时填充 我的问题是,当预定义值时,或者当用户通过键入(而不是语音命令)填充值时,它的行为类似于时间间隔对象,因此该值以秒为单位(即键入“2”返回120.0)。但当使用语音命令时,它会在几分钟内返回结果,而这不是我想要的(即说“2”返回数字2) 因此,我想知道如何获得一致的值,或者如何检测用户何时使用语
duration
属性,它的单位设置为分钟
因此,用户有两个选项来提供此属性的值:1。在创建快捷方式时预定义它,2。将其保留为空,并在运行快捷方式时填充
我的问题是,当预定义值时,或者当用户通过键入(而不是语音命令)填充值时,它的行为类似于时间间隔对象,因此该值以秒为单位(即键入“2”返回120.0)。但当使用语音命令时,它会在几分钟内返回结果,而这不是我想要的(即说“2”返回数字2)
因此,我想知道如何获得一致的值,或者如何检测用户何时使用语音命令或键入
以下是我解析此属性的代码:
func resolveTimeInterval(for intent: MyIntent, with completion: @escaping (INTimeIntervalResolutionResult) -> Void) {
guard let timeInterval = intent.timeInterval else {
completion(INTimeIntervalResolutionResult.needsValue())
return
}
let timeIntervalDouble = timeInterval.doubleValue
completion(INTimeIntervalResolutionResult.success(with: timeIntervalDouble))
}
下面是如何定义此属性的屏幕截图: