You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Gmail登录集成崩溃求助:缺少指定URL Scheme支持

解决Google Sign-In崩溃:缺少URL Scheme的问题

Hey there! That error is spelling out exactly what's missing—your app doesn't have the required URL scheme configured to handle the Google Sign-In callback. Let's fix this step by step:

1. 添加必需的URL Scheme到Info.plist

你需要把错误提示里的com.googleusercontent.apps.184175093548-lsh99pp3c7hcglf12e2udcm0vcinjvd9这个URL scheme添加到App的Info.plist文件中,具体操作有两种方式:

方式A:以源代码形式编辑Info.plist

右键点击你的Info.plist文件,选择「Open As」>「Source Code」,然后在<dict>标签内插入以下代码:

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>com.googleusercontent.apps.184175093548-lsh99pp3c7hcglf12e2udcm0vcinjvd9</string>
    </array>
  </dict>
</array>

方式B:使用可视化属性列表编辑器

如果你更喜欢可视化操作:

  • 正常打开Info.plist
  • 悬停在任意现有行上,点击+按钮添加新条目
  • 将键设置为URL types(底层会自动转为CFBundleURLTypes
  • 展开URL types数组,再展开Item 0
  • 添加子键URL Schemes(底层转为CFBundleURLSchemes
  • 展开URL Schemes,将你的专属scheme字符串com.googleusercontent.apps.184175093548-lsh99pp3c7hcglf12e2udcm0vcinjvd9作为Item 0添加进去

2. 验证你的AppDelegate代码

看了你的AppDelegate代码,这里有几个小细节需要确认:

  • 确保application(_:open:options:)方法正确处理了回调URL,你当前的代码看起来没问题,但如果你的App是iOS 13+且使用了Scene场景,还需要在SceneDelegate中也添加对应的URL处理逻辑;如果没有使用Scene场景,现有代码就足够了。
  • 再次确认你的Client ID和URL scheme关联的ID一致(你在GIDSignIn.sharedInstance().clientID中使用的ID是正确的,这点很棒!)

3. 清理并重新构建项目

添加完URL scheme后,清理你的项目(快捷键Cmd + Shift + K),然后重新构建(Cmd + B),这样能确保Info.plist的新配置被正确加载。

做完这些步骤后,崩溃问题应该就能解决,Google登录流程也能在认证完成后正确跳转回你的App了。

内容的提问来源于stack exchange,提问作者Navya

火山引擎 最新活动