网易首页 > 网易号 > 正文 申请入驻

Siri喊了3年"打开App",这个开发者终于让它能干活了

0
分享至


87%的iPhone用户每月至少用一次Siri,但真正让它操作第三方应用的不到4%。

差距在哪?Siri能打开App,却读不懂App里的数据。你说"给张三发消息",它只会愣住——因为张三是你上周才加的新联系人,Siri压根不知道这人存在。

开发者Fernando Rojo花了两个月,把这个死结解开了。他的社交提醒应用Howbee现在能听懂"帮我查一下李四的状态",哪怕App完全没打开。

技术方案不复杂,但组合起来足够刁钻:Expo模块+App Groups+Swift Intent,三条管道接力把JavaScript里的联系人数据,塞进Siri能碰到的沙盒外区域。

第一步:给原生代码开条暗道

Expo(一个React Native开发框架)的哲学是"尽量别碰原生代码"。但Siri Intent必须用Swift写,这是死规定。

Rojo的解法是在项目里 scaffold 一个本地Expo模块,起名howbee-intents。这个模块只做一件事:当用户在JS层添加或修改联系人时,把数据写进一个叫UserDefaults的共享存储。

「Your JS code never runs when Siri is doing its thing」,Rojo在博客里写得很直白。Siri执行Intent时,React Native那套JavaScript引擎根本没启动,Swift代码是孤军奋战。


所以模块设计成单向同步:JS负责更新,Swift负责读取,两边通过App Groups(苹果提供的跨应用数据共享机制)碰头。

第二步:让Siri学会"查字典"

Intent的定义文件里有个关键字段叫INObject,用来描述Siri能识别的实体类型。Rojo给Howbee定义了两类:Contact(联系人)和Reminder(提醒)。

难点在动态解析。用户随时可能新增联系人,Siri不能靠预置列表硬编码。Rojo的做法是在Intent的resolve阶段,从共享UserDefaults里拉取最新联系人列表,实时匹配用户语音输入。

匹配上了,Siri直接返回结果;没匹配上,走deep link把用户送进App手动选择。

这套流程测下来有个反直觉的点:Siri的语音识别容错率比想象中高,但语义理解极其死板。你说"看看王五怎么样了",和"查一下王五的状态",在Intent里是两个完全不同的触发词,必须分别配置。

第三步:绕过苹果的三道安检

App Groups配置错一个证书,整段代码直接报废。Rojo踩过的坑包括:开发环境和生产环境的Group ID混用、Entitlements文件没被Xcode正确签名、以及最隐蔽的——Expo的Continuous Native Generation会在每次预构建时覆盖手动修改的iOS工程文件。


他的 workaround 是写了一个config plugin,在预构建阶段自动注入Intent定义和Entitlements配置。这样团队其他成员拉代码后,expo prebuild一键搞定,不用手动翻Xcode的图形界面。

「The native module's job is simple: read and write to a shared UserDefaults suite. That's it.」Rojo反复强调这个设计原则。模块越薄,崩溃面越小。实际运行两个月,Howbee的Siri Intent崩溃率低于0.3%。

为什么这事值得折腾

苹果2023年推的App Intents框架,本意是让开发者低成本接入Siri。但现实是,纯JavaScript技术栈的团队被挡在门外——官方文档全是Swift示例,React Native社区的高质量方案屈指可数。

Rojo的开源实现填补了这块空白。他的代码结构被拆成三块:Expo模块负责数据桥接、Intent Extension负责Siri交互、主App负责业务逻辑。三层之间通过URL Scheme和共享存储通信,没有循环依赖。

一个细节值得玩味:Siri返回结果时,Rojo刻意避开了语音播报,改用卡片展示。测试数据显示,用户看到视觉反馈后的任务完成率,比纯语音高22%。

「Commands as simple as 'call my mum', or reminders as complex as 'remind me to call my dad as soon as I get home' always result in an action」,Rojo在文章开头引用了这个苹果官方例子,然后话锋一转:但你的App想做到同样的事,得先学会在Swift和JavaScript之间传纸条。

Howbee的Beta版本现在开放测试。Rojo在文末留了招募链接,但没说具体有多少人已经跑通这套方案——如果你手头正好有个Expo项目想接Siri,你会愿意当第几个吃螃蟹的?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
离开上海后,她住200平北京豪宅,如今和3只宠物做伴,孩子成遗憾

离开上海后,她住200平北京豪宅,如今和3只宠物做伴,孩子成遗憾

兴史兴谈
2026-04-04 18:36:00
澳门世界杯男单决赛对阵表及女单决赛时间安排

澳门世界杯男单决赛对阵表及女单决赛时间安排

赫岝乡村摄影
2026-04-04 23:48:02
航拍特斯拉Cybercab机舱:引擎盖下没有储物箱,只有“洗澡水”

航拍特斯拉Cybercab机舱:引擎盖下没有储物箱,只有“洗澡水”

热点科技
2026-04-05 15:53:41
比赛还没开打,上海申花先迎来3个坏消息,客场取胜津门虎有点悬

比赛还没开打,上海申花先迎来3个坏消息,客场取胜津门虎有点悬

零度眼看球
2026-04-05 08:58:49
退休人员也要缴费了!4月起执行,每月扣多少、谁能免,一次说清

退休人员也要缴费了!4月起执行,每月扣多少、谁能免,一次说清

春若秋水
2026-04-05 08:48:18
啪啪啪!去年还在学习 DeepSeek,今年就开始禁止龙虾 OpenClaw

啪啪啪!去年还在学习 DeepSeek,今年就开始禁止龙虾 OpenClaw

喜爱的CAD
2026-04-04 07:00:06
锁定双冠王!瓜迪奥拉今夏体面离任 足总杯4强big6仅剩双蓝

锁定双冠王!瓜迪奥拉今夏体面离任 足总杯4强big6仅剩双蓝

智道足球
2026-04-05 08:58:21
希金斯为何1-10惨败,赵心童说了句大实话,特鲁姆普压力很大

希金斯为何1-10惨败,赵心童说了句大实话,特鲁姆普压力很大

老癘体育解说
2026-04-05 08:15:07
“零食都买不起就别野餐!”2儿1女吃面条火了,真相揭露被打脸!

“零食都买不起就别野餐!”2儿1女吃面条火了,真相揭露被打脸!

许三岁
2026-04-04 18:07:20
命中了!伊朗,彻底拼了!

命中了!伊朗,彻底拼了!

财经要参
2026-04-04 22:04:18
赌王最不愿提起的家族秘闻:是的,我妹妹和我弟弟有一个孩子

赌王最不愿提起的家族秘闻:是的,我妹妹和我弟弟有一个孩子

小熊侃史
2026-04-05 13:47:04
美国发出全球通缉令,逮捕中国芯片科学家陈正坤,现在怎么样了

美国发出全球通缉令,逮捕中国芯片科学家陈正坤,现在怎么样了

吕醿极限手工
2026-04-04 16:15:31
没想到深圳开发商这么快就被套了

没想到深圳开发商这么快就被套了

靓仔情感
2026-04-05 12:47:42
特朗普开始大清洗!90后女秘书也要被炒了?莱维特为自保狂拍马屁

特朗普开始大清洗!90后女秘书也要被炒了?莱维特为自保狂拍马屁

牛锅巴小钒
2026-04-04 19:24:24
碘伏再次成为关注对象!医生发现:使用碘伏,千万多留意这几点

碘伏再次成为关注对象!医生发现:使用碘伏,千万多留意这几点

39健康网
2026-03-25 16:00:38
“我没钱补交1400万的税,就连喊冤的资格都没有吗?”

“我没钱补交1400万的税,就连喊冤的资格都没有吗?”

舒圣祥律师
2026-04-02 16:37:57
绝无仅有,美军单日毁伤6架飞机,飞行员争夺战惊心动魄

绝无仅有,美军单日毁伤6架飞机,飞行员争夺战惊心动魄

史政先锋
2026-04-04 16:28:38
今明两天广东中东部仍有强降水,7-8日大部降水减弱

今明两天广东中东部仍有强降水,7-8日大部降水减弱

新快报新闻
2026-04-05 14:54:04
一夜之间人去楼空!知名电商平台暴雷,留4亿烂账有人被拖欠330万

一夜之间人去楼空!知名电商平台暴雷,留4亿烂账有人被拖欠330万

北纬的咖啡豆
2026-04-04 22:33:16
输不起?王博说广东像摔跤,萨林杰重伤被无视,广厦违体怎么不提?

输不起?王博说广东像摔跤,萨林杰重伤被无视,广厦违体怎么不提?

夕落秋山
2026-04-05 16:57:47
2026-04-05 18:39:00
报错免疫体
报错免疫体
一名在需求评审和数据异常中反复横跳的产品运营。
792文章数 5关注度
往期回顾 全部

科技要闻

花200薅5千算力,Claude冷血断供“龙虾”

头条要闻

自称将劳斯莱斯变现 陈光标晒捐款图:张雪迟迟未提车

头条要闻

自称将劳斯莱斯变现 陈光标晒捐款图:张雪迟迟未提车

体育要闻

CBA最老球员,身价7500万美元

娱乐要闻

好用心!宋慧乔为好友庆生做一桌美食

财经要闻

谁造出了优思益这头“怪物”?

汽车要闻

家用SUV没驾驶乐趣?极氪8X第一个不同意

态度原创

家居
游戏
健康
旅游
军事航空

家居要闻

温馨多元 爱的具象化

《使命召唤》职业选手私信撩骚被曝光后遭战队开除

干细胞抗衰4大误区,90%的人都中招

旅游要闻

国风入人心 穿汉服踏青成年轻人度假新选择

军事要闻

美飞行员获救细节:美伊发生激烈交火 至少4死1伤

无障碍浏览 进入关怀版