如何为Expo的app.json添加多个scheme?EAS更新报错求助
Expo项目Facebook认证与EAS Update的Scheme冲突解决
问题说明
我给Expo项目集成了Facebook认证,按照要求在app.json里把scheme设成数组,包含自定义scheme和带fb前缀的应用ID:
{ "expo": { "scheme": ["yourscheme", "fb1234567890"] } }
这套配置下Facebook认证能正常运行,但用EAS Update推送更新时直接报错:
✖ Failed to publish updates Manifest Validation Error: scheme:should be string This is likely a problem with your app.json, or app.config.js
VSCode也提示scheme属性应为字符串类型。要是只保留fb1234567890作为scheme值,EAS Update能正常执行,但我不想丢失自定义的首选scheme。
解决方法
把app.json里的scheme(单数)改成schemes(复数),用数组配置多个URL scheme:
{ "expo": { "schemes": ["yourscheme", "fb1234567890"] } }
原理
Expo的配置规则里,scheme字段仅支持单个字符串值,而schemes(复数)字段才是专门用来配置多个URL scheme的数组类型。这样修改后,既满足Facebook认证的要求、保留了自定义首选scheme,也能通过EAS Update的Manifest校验,不会再触发类型错误。
内容的提问来源于stack exchange,提问作者Bram
相关产品推荐
相关产品推荐

