使用SiriKit是否必须开发独立Apple Watch应用?
问题
- iOS端已完成Siri相关配置,基于
INAddTasksIntent实现的意图调用功能运行正常:说出指令「嘿Siri,给JoshApp添加任务‘打扫我的房间’」时可正常触发对应功能 - 配对的Apple Watch设备上使用完全相同的语音指令无法正常唤起对应Siri功能,Siri会提示无法找到该应用,或引导用户前往App Store查找
- 待确认问题:是否需要创建独立的Apple Watch应用、在该应用中单独处理Siri意图才能支持Watch端的Siri相关功能?目前公开领域相关文档极少,初步调研结论是只有完成watchOS应用的配置才能实现Apple Watch端的Siri相关功能,需要核实该结论准确性。
解答
结论:不需要开发完整功能的独立Apple Watch应用,但必须为Watch端单独配置Siri意图支持,否则Watch端Siri无法识别对应App的意图调用,具体规则如下:
- 从watchOS 7版本开始,iOS端声明的Intents扩展不会自动同步到配对的Watch设备。如果项目没有配套Watch端的意图相关组件,Watch上的Siri默认检索不到iOS端App注册的
INAddTasksIntent相关指令,就会出现找不到应用、引导跳转App Store的提示。 - 你不需要开发全功能的独立Watch App,只需要给项目新增Watch端的Intents Extension target,将iOS端已经实现的意图处理逻辑、Intents定义文件同步到该Watch扩展中即可,不需要额外开发Watch端主应用界面。
- 配置时需要注意几个细节:
- 确保Watch端扩展的
Info.plist中注册的INAddTasksIntent相关配置和iOS端完全一致,包括意图名称、调用话术匹配规则、App名称关联字段 - 如果意图处理逻辑需要和iOS端主App同步数据,通过
WatchConnectivity框架做跨设备数据传输即可,不需要把全量业务逻辑迁移到Watch端 - 配置完成后,Watch端的Intents Extension会随iOS App安装自动同步到配对手表,不需要用户单独手动下载。测试前建议重启一次Watch端Siri服务清除旧缓存,避免识别异常
- 确保Watch端扩展的
- 版本兼容提示:如果你的App最低支持watchOS 7以下的系统版本,旧版本系统确实要求必须安装完整Watch App才能识别对应Siri意图,该限制在watchOS 7及之后版本已经放开,仅部署Intents Extension即可满足需求。
内容的提问来源于stack exchange,提问作者Josh O'Connor
相关产品推荐
相关产品推荐

