使用 GIDSignIn.sharedInstance.clientID 时的错误代码 =

Posted

技术标签:

【中文标题】使用 GIDSignIn.sharedInstance.clientID 时的错误代码 =【英文标题】:error code when using GIDSignIn.sharedInstance.clientID = 【发布时间】:2016-03-31 07:04:38 【问题描述】:

我有一个应用程序,我曾经使用 Auth2 使用客户端 ID 和客户端密码登录,但现在我必须使用 Google Sign In

我已按照我理解的说明进行操作,但是在构建时出现此错误

-[__NSDictionaryI gtm_httpArgumentsString]:无法识别的选择器发送到实例 0x17d49a40

我已经添加了框架 我已经导入了标题 我已经制作了一个单独的GoogleServices-info.plist CLIENT_IDREVERSED_CLIENT_ID

我已将以下代码放入我的 ViewDidLoad

GIDSignIn.sharedInstance.delegate = self;
GIDSignIn.sharedInstance.uiDelegate = self;
GIDSignIn.sharedInstance.clientID = @"55240XXXXX13-aduv6ncti03giqt46s3oq4t83plqck10.apps.googleusercontent.com" ;
GIDSignIn.sharedInstance.scopes=@[@"https://www.googleapis.com/auth/plus.login",@"https://www.googleapis.com/auth/plus.me"];

如果我注释掉 GIDSignIn.sharedInstance.clientID 应用程序构建得很好,但是当我不这样做时应用程序崩溃并出现上述错误。

我还链接了库-ObjC

有没有人知道如何解决这个问题。

【问题讨论】:

你有想过这个吗?我真的很难过。如果我删除 clientID 行,它编译得很好,然后当我单击 Google 登录按钮时抱怨我没有设置 clientID。所有其他讨论都不断提到 -ObjC otherlinkerflag。我已经多次添加/删除/三重检查了那个愚蠢的标志,这让我很头疼。 我想通了。我把它写在这里:***.com/a/37442084/1359088。 f0go 下面的答案给了我解决 libz.tbd 难题的关键部分。 【参考方案1】:

您应该导入以下框架:

AddressBook.framework SafariServices.framework SystemConfiguration.framework libz.tbd

【讨论】:

【参考方案2】:

我尝试了在互联网上找到的所有解决方案,但无法解决这个问题,然后我尝试手动集成而不是 pod,它对我有用。

【讨论】:

以上是关于使用 GIDSignIn.sharedInstance.clientID 时的错误代码 =的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)