繁体   English   中英

当我单击 Google 登录按钮时,iOS 应用程序崩溃

[英]iOS app crashes when I click Google Sign-In button

我正在使用适用于 iOS 的 Google 登录库,当我单击登录按钮时,应用程序崩溃并显示以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
 'Your app must support the following URL schemes: <my bundleID>,
 com.googleusercontent.apps.<my client ID>'

我检查了我的应用程序的签名版本,以确保定义了这些 URL 方案。
我还添加了“google”作为每个 URL 方案的标识符,因为我看到这就是示例 Google 登录应用程序中所做的。

这只发生在我构建我的应用程序的签名版本并在我的手机上进行临时安装时。
通过 Xcode 在模拟器中运行时不会发生这种情况,甚至在通过 Xcode 在模拟器上运行要发布的应用程序时也不会发生这种情况。

有谁知道该怎么办?

其他可能有用的信息:
我正在使用没有 cocoapods 的 Google 登录库。
我将库包和框架拖到我的项目中。

此外,我正在使用一个通用配置文件,它在应用程序 ID 中包含一个通配符,并且出于某种原因,当我构建应用程序的签名版本时,我的应用程序的捆绑 ID 被更改为在其中包含通配符。
即捆绑 ID 从 com.example.app 更改为 com.example.*。
因此,我添加了包含通配符的第三个 URL 方案。

添加 URL 方案:

  1. 在项目 -> 信息 -> URL 类型下
  2. 创建新的 URL 类型
  3. 在 URL 方案下添加您的包标识符。

这解决了这个问题。

在此处输入图片说明

所以我遇到了这个问题几个小时,然后我做了你在图片中看到的。 刚刚打开另一个 URL 类型并在方案中添加包标识符。

好的,所以我终于弄清楚了这个问题。 我几乎肯定这个问题是我使用的通用配置文件。 当我创建特定于我的应用程序的配置文件并删除带有通配符的 URL 方案时,我不再遇到这个问题。

如果您知道已将正确的 URL 方案添加到 Xcode 但它仍然崩溃,您可以将模拟器更改为 iOS 版本 14,并且它可以工作,如果您可以在 Android 设备上加载它,这意味着您的代码是好的,所以它发布应用程序后,应该可以在真实设备上运行。

提醒:这仅在您将 Url 方案添加到 Xcode 后才有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM