Google 登录出现异常

Posted

技术标签:

【中文标题】Google 登录出现异常【英文标题】:Google SignIn is getting Exception 【发布时间】:2017-12-13 22:46:17 【问题描述】:

我正在处理Google SignIn。按下登录按钮后,我得到了例外。我也在服用GoogleService-Info.plist

异常是:由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'您的应用缺少对 以下 URL 方案: com.googleusercontent.apps.337335047637-ciu1dmqo156sdv1idjmm9olljduofdam'

【问题讨论】:

您是否在项目中添加 URL 方案。 如何添加 URL 方案 还要检查您是否在 Google-Info.plist 中添加了客户端 ID。 是的,我下载并添加到我的项目中,我们是否必须在 info.plist 中进行任何更改 【参考方案1】:

Google 登录需要将自定义 URL 方案添加到您的项目中。添加自定义方案:

    打开您的项目配置:双击左侧树视图中的项目名称。从 TARGETS 部分选择您的应用,然后选择 Info 选项卡,然后展开 URL Types 部分。 单击 + 按钮,并为您的反向客户端 ID 添加 URL 方案。要查找此值,请打开 GoogleService-Info.plist 配置文件,然后查找 REVERSED_CLIENT_ID 键。复制该键的值,并将其粘贴到配置页面上的 URL 方案框中。将其他字段留空。

欲了解更多详情,请查看此处。

为您的项目添加 URL 方案

Google Sign in

【讨论】:

【参考方案2】:

出现此错误是因为您没有为 Google 登录正确设置 URLScheme。

ios9 开始,使用前必须将所有 URLSchemes 列入白名单。否则canOpenURl 抛出错误。

要解决上述问题,您需要在 GoogleInfo.plist

中将您的 URLScheme 列入白名单

将以下代码粘贴到 .plist 中

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>com.example.foo</string>
    <string>com.googleusercontent.apps.337335047637-ciu1dmqo156sdv1idjmm9olljduofdam</string>
    <string>com-google-gidconsent-google</string>
    <string>com-google-gidconsent-youtube</string>
    <string>com-google-gidconsent</string>
    <string>com.google.gppconsent.2.4.1</string>
    <string>com.google.gppconsent.2.4.0</string>
    <string>googlechrome</string>
    <string>googlechrome-x-callback</string>
</array>

【讨论】:

以上是关于Google 登录出现异常的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:取消 Google 登录流程时出现平台异常

Google Play 登录一直失败异常:4 [重复]

无法使用 Google Plus 登录,出现 com.google.android.gms.common.api.ApiException: 10:

Android Google登录例外

更新到新的 Firebase 后出现异常 java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions

无法登陆与google服务器通信出现问题三星账户