我试图用文档整合GoogleSign,在为iOS这里找到:https://developers.google.com/identity/sign-in/ios/start-integrating谷歌登入没有的CocoaPods
我怎么能做到这一点,而不使用的CocoaPods?
我使用的CocoaPods直接下载库和头试过,但是这导致了许多问题。 有没有人成功地转换一个Cocoapod成一个独立的库/框架?
我试图用文档整合GoogleSign,在为iOS这里找到:https://developers.google.com/identity/sign-in/ios/start-integrating谷歌登入没有的CocoaPods
我怎么能做到这一点,而不使用的CocoaPods?
我使用的CocoaPods直接下载库和头试过,但是这导致了许多问题。 有没有人成功地转换一个Cocoapod成一个独立的库/框架?
的独立的SDK可以在这里找到现在:https://developers.google.com/identity/sign-in/ios/sdk/
正如其他海报所说,你必须添加以下依赖框架:
AddressBook.framework
StoreKit.framework
SystemConfiguration.framework
您可能还需要在项目的构建步骤中设置Other Linker Flags: -ObjC
标志。
还要确保链接依赖框架。
AddressBook.framework
StoreKit.framework
SystemConfiguration.framework
参见相关Upgrading from Google Sign-In SDK 1.0.0 to 2.0.1 fails to compile on SKStore references。
经过一周的这个野兽擒拿,我想更新版本Google Sign-In SDK 4.0.0
的答案。在
https://developers.google.com/identity/sign-in/ios/sdk/
的说明似乎是错误的版本4.0.0。他们说,你只需要链接
GoogleSignIn.framework
GoogleSignIn.bundle
(与AddressBook.framework
,StoreKit.framework
,当然SystemConfiguration.framework
一起)。然而,你会得到很多神秘
未定义的符号中的建筑x86_64的
错误,如果这就是你有。该CHANGELOG.md
文件让你更接近真相本声明:
对于用户的独立拉链现在提供分销,多种框架和所有需要添加到项目中。这种分解在重复的依赖关系的情况下允许更多的灵活性。
所以在现实中你也需要包括:
GoogleAppUtilities.framework
GoogleAuthUtilities.framework
GoogleNetworkingUtilities.framework
GoogleSymbolUtilities.framework
GoogleUtilities.framework
所以,现在你应该是金色的,对不对?由于所有的好informercials说...
别急,还有更精彩的!
您也需要包括
libz.tbd
This答案给了线索包括图书馆了。不这样做,你会得到错误
无法识别的选择发送到实例
但仅限于这行代码
GIDSignIn.sharedInstance().clientID = "MyClientID"
如果您remark出该行,该代码将工作罚款,即使这个代码仍然存在
GIDSignIn.sharedInstance().delegate = self
对我来说这是最误导性部分。大多数网站对于错误的答案会说你需要设置OtherLinkerFlag
到-ObjC
,我敢肯定这是问题的一个常见原因,如果它设置不正确或根本,但对我来说这是明确规定的权利,加上委托的设置工作,这意味着的GIDSignIn
其他属性可以设置,那么为什么不ClientID的?我认为或许我的clientID错了,我浪费了很多时间来追逐这个虚假的线索。
所有这些令人头疼的事情可以通过使用CocoaPod来避免,但在我的情况下,我真的希望在不增加CocoaPods带来的复杂性的情况下工作,因为我还包括Facebook的SDK。
P.S.我发现这个教程
http://www.appcoda.com/google-sign-in-how-to/
比谷歌的教程写好多了,特别是你需要使用一个UIView,而不是一个UIButton为谷歌登入按钮的提醒。我花了一些时间搞不清楚为什么,直到我碰到这个教程来了我不可能在按钮的类设置为GIDSignInButton
。只要记住,你需要链接库我上面描述而非教程说,因为它现在是不同的方式方法。