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




