在SiriKit上阅读apple doc之后,只有6个服务可以使用Siri SDK。但我想知道是否有任何破解或方法可以在我的家庭自动化应用程序中使用它,其中api请求通过我的语音命令发送到我的服务器。
编辑2018年
现在是否可以发布iOS 12,WWDC 2018以及Siri,Siri Shortcuts中的新更新。
提前致谢
答案 0 :(得分:2)
正如您已经指出的那样,promise.all([
User.findOneAndUpdate( {id: req.body.myId, Friends: { $not: { $elemMatch: { id: req.body.id }}}}, {$addToSet: { Friends: { id: req.body.id, gender: req.body.gender, emoji: res.locals.myEmoji }}}),
User.findOneAndUpdate({id: req.body.id, Friends: {$not: { $elemMatch: {id: req.body.myId }}}}, {$addToSet: { Friends: { id: req.body.myId, gender: req.body.myGender, emoji: res.locals.friendEmoji }}})])
.spread(function (myDoc, otherDoc){
///gives back null if user is not updated
}).catch(function (err){
return res.status(400).send(err)
});
目前只有六个类别受到支持。如果你想要实现SiriKit
之类的东西,你可以尝试在iOS 10中引入SpeechFramework。这实际上并不像SiriKit,但你可以通过一些努力和框架来实现你的目标。 Here是使用Siri
的非常好的教程。
对于任何破解或其他事情,我强烈不推荐,因为苹果可能会有机会拒绝该应用。
请查看相关的EDIT部分。
答案 1 :(得分:1)
您可以使用Siri快捷方式做到这一点,但需要用户付出努力。
你无法创建特殊的语音命令。只有用户才能进入设置> Siri快捷方式并定义语音命令以执行您从应用程序创建的快捷方式。
另请注意,语音命令不能包含传递给应用程序的任何参数。语音命令必须执行由应用程序通过快捷方式定义的特定操作。因此,“打开灯光X”与“打开灯光Y”不同。用户必须创建两个不同的语音命令。
就快捷方式而言,您可以执行几乎任何代码,因此进行API调用应该不是问题。