GooglePlus登录使用Swift无法正常工作

时间:2015-05-08 12:19:56

标签: swift google-oauth google-login

我第一次尝试swift,想要用Facebook和谷歌加登录创建应用程序。

我可以使用swift进行Facebook登录,但没有逐步添加谷歌登录。

到目前为止,我已经编写了如下示例代码:

我有第一个带按钮的屏幕,点击它导致谷歌登录页面 -

import UIKit

class GooglePlusLogin: UIViewController,GPPSignInDelegate {

//var signIn: GPPSignIn?
override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    var signIn = GPPSignIn.sharedInstance()
    //var signIn:GPPSignIn = GPPSignIn.sharedInstance()
    signIn.shouldFetchGooglePlusUser = true
    signIn?.clientID = "25344945xxxx-u4ou9si6v9qrr1ogmqactepxxxxxbg9s.apps.googleusercontent.com"
    signIn?.scopes = [kGTLAuthScopePlusLogin]
    signIn?.delegate = self
    signIn?.authenticate()

}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
//MARK: G+

func finishedWithAuth(auth: GTMOAuth2Authentication!, error: NSError!) {

}

func didDisconnectWithError(error: NSError!) {

}


}

每当我点击该按钮时,它都会给我一个错误:

  

***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [__ NSDictionaryM   gtm_httpArgumentsString]:发送到实例的无法识别的选择器   0x7fb58a716480'

我做错了什么?我添加了所有具有正确客户端ID的框架。

1 个答案:

答案 0 :(得分:0)

您可能没有使用cocoapods来安装库?我得到了同样的错误。

您必须使用-ObjC链接器标志才能使其正常工作,否则会丢失框架中的某些objc类别。但它为我打破了其他库,所以我放弃并使用了pod。

这是一步一步的教程:https://developers.google.com/identity/sign-in/ios/start-integrating