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

use*_*820 4 xcode ios 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>'
Run Code Online (Sandbox Code Playgroud)

我检查了我的应用程序的签名版本,以确保定义了这些URL方案,它们是.
我还添加了"google"作为每个网址方案的标识符,因为我看到了Google登录示例中的操作.

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

有谁知道怎么办?

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

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

sah*_*ain 6

添加它

1. Under Project  -> Info -> URL Types     
2. Create new url types
3. Under URL scheme add your bundle identifier.
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.


use*_*820 1

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