我正在尝试使用SiriKit开发应用程序扩展,但是当我在模拟器iPhone 7 Plus上运行它时,会出现以下错误:
SpringBoard无法处理该请求。
请问是否iOS模拟器支持SiriKit扩展!
我正在尝试使用SiriKit开发应用程序扩展,但是当我在模拟器iPhone 7 Plus上运行它时,会出现以下错误:
SpringBoard无法处理该请求。
请问是否iOS模拟器支持SiriKit扩展!
编辑
Xcode 8.3 及以上版本支持在模拟器中使用Siri。步骤如下:
1) 在模拟器设置中启用Siri。
2) 从硬件选项中选择Siri。
以下是参考图片:
步骤1 -
步骤2 -
步骤3 -
步骤4 -
过时的回答
不,你不能在模拟器中这样做。
请参考:
为了在设备上运行和调试您的Intents扩展,请选择适用于您的Intents扩展的构建方案。当您将Intents扩展添加到项目中时,Xcode会自动创建一个用于运行该扩展的构建方案。配置该方案以在已连接的设备上运行。 您不能在模拟器中调试您的Intents扩展。 选择Product > Run以在设备上启动您的扩展。当Xcode提示时,选择Siri(或Maps)作为要运行的应用程序。Xcode
构建您的应用程序和扩展,安装它们在设备上,并启动您选择的应用程序。
参考资料-在这里
Xcode 9中,你可以通过UI测试来测试Siri任务。在这个 WWDC session的最后他们提到了这个功能。 基本上它看起来像这样:
let siri = XCUIDevice.shared.siriService
siri.activate(voiceRecognitionText: "How many points are on my credit card?")
let predicate = NSPredicate {(_, _) -> Bool in
sleep(5)
return true
}
let siriResponse = expectation(for: predicate, evaluatedWith: siri, handler: nil)
self.wait(for: [siriResponse], timeout: 10)
从Xcode 8.3开始,您可以在模拟器中启用Siri后,使用“硬件”>“Siri”来调用Siri。