单击Google登录按钮

时间:2015-07-29 19:59:55

标签: ios xcode swift google-signin

我正在使用适用于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”#39;作为每个网址方案的标识符,因为我看到了Google登录应用示例中的内容。

只有在我构建应用的签名版本时才会发生这种情况并在我的手机上进行临时安装。
当通过Xcode在模拟器中运行时,甚至在通过Xcode在模拟器上运行应用程序时,都不会发生这种情况。
有谁知道怎么办?

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

另外,我使用的是通用配置文件其中包含App ID中的通配符,由于某种原因,当我构建应用程序的签名版本时,我的应用程序的包ID被更改为包含通配符。
ie bundle id从com.example.app更改为com.example。*。
因此,我添加了第三个包含通配符的URL方案。

4 个答案:

答案 0 :(得分:6)

添加

1. Under Project  -> Info -> URL Types     
2. Create new url types
3. Under URL scheme add your bundle identifier.

这解决了这个问题。

答案 1 :(得分:2)

enter image description here

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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