You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo iOS深度链接失效问题(疑似与Google登录配置相关)

Expo iOS深度链接失效问题(疑似与Google登录配置相关)

嗨,我来帮你捋捋这个问题~

你遇到的情况大概率是URL Scheme配置冲突导致的。iOS的CFBundleURLTypes字段是用来声明App能响应哪些URL Scheme的,它是一个数组结构,每一个字典项对应一组可处理的Scheme。

你现在的配置里只加了Google登录需要的com.googleusercontent.apps.[secret]这个Scheme,相当于没把深度链接的Scheme也包含进来。当系统收到深度链接请求时,发现你的App没有声明对应的Scheme,自然就不会触发深度链接逻辑——而你删掉Google登录的配置后,原来的深度链接Scheme配置(可能是Expo默认添加或你之前配置的)又生效了,所以深度链接就正常了。

那怎么解决呢?很简单,把深度链接的URL Scheme也添加到CFBundleURLTypes数组里,和Google的配置并列就行。举个例子,假设你的深度链接Scheme是myapp://,修改后的info.plist应该是这样的:

...
<key>GIDClientID</key>
<string>[secret].apps.googleusercontent.com</string>
<key>CFBundleURLTypes</key>
<array>
  <!-- Google登录的Scheme配置 -->
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>com.googleusercontent.apps.[secret]</string>
    </array>
  </dict>
  <!-- 深度链接的Scheme配置 -->
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>myapp</string> <!-- 这里填你的深度链接Scheme,不用带:// -->
    </array>
  </dict>
</array>
</dict>
</plist>

还要注意两个小细节:

  • 深度链接的Scheme只需要填前缀(比如myapp,不用写完整的myapp://)
  • 如果你的深度链接是通过Expo的app.json里expo.scheme配置的,要确保这里的Scheme和app.json里的完全一致

这样配置后,你的App就能同时响应Google登录的回调URL和你的深度链接了~

备注:内容来源于stack exchange,提问作者n8o

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:39:30