Googleloginbutton不会执行任何操作
根据他们的网站,我已经按照Google的规定实施了Googlelogin。 我在一个月前就开始工作了,现在它什么都不做。 我试图通过删除cocoapod并按照他们的网站重做一切,但没有任何事情仍然发生。 这就像没有任何委托方法被调用,我不确定为什么。 任何帮助将是欣赏。 谢谢!
import GoogleSignIn import Google func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { //Get Twitter and set Twitter keys for Application Twitter.sharedInstance().startWithConsumerKey("uBedaxDuMDgImGbjun1oYf0ay", consumerSecret: "OaKqBZUesX5CypHCwrTvTZE22jrXIuRsUeZzVaMHej11R5Vh3b") Fabric.with([Twitter.self]) // Initialize sign-in GOOGLE var configureError: NSError? GGLContext.sharedInstance().configureWithError(&configureError) assert(configureError == nil, "Error configuring Google services: \(configureError)") GIDSignIn.sharedInstance().delegate = self return true } func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool { return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) } func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool { var options: [String: AnyObject] = [UIApplicationOpenURLOptionsSourceApplicationKey: sourceApplication!, UIApplicationOpenURLOptionsAnnotationKey: annotation!] return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation) } func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) { print("SIGNING IN") if (error == nil) { let email = user.profile.email print(user.authentication) // ... } else { print("ERROR = \(error.localizedDescription)") } }
视图控制器
import GoogleSignIn class LoginViewController: UIViewController, UITextFieldDelegate, CLLocationManagerDelegate, GIDSignInUIDelegate override func viewDidLoad() { //Default setup for View Controller super.viewDidLoad() GIDSignIn.sharedInstance().uiDelegate = self var error:NSError? GGLContext.sharedInstance().configureWithError(&error) if(error != nil) { print(error) } var signInButton = GIDSignInButton(frame: CGRect(x: 0, y: 0, width: 150, height: 400)) view.addSubview(signInButton) }
编辑
经过HOURS,大声笑,搞清楚这一点,谷歌loginbutton的作品,当它是1)持续下去超过2秒,2)左/右/右擦但不起来我不确定这个原因,将是开放的build议! 谢谢!
我已经想通了,想让其他人知道这个愚蠢的愚蠢的问题!
问题是与谷歌button和水龙头我不得不closures键盘。 我没有把它放在这里,但在这里。
let tap = UITapGestureRecognizer(target: self, action: #selector(LoginViewController.dismissKeyboard)) self.view.addGestureRecognizer(tap) func dismissKeyboard() { self.view.endEditing(true) }
谷歌的代表出于某种原因搞砸了。 我还没有提出一个解决scheme,因为我现在刚刚发现了这个问题,但如果有其他人有问题,我希望这有助于!
我有同样的问题,这是一个轻敲手势识别器的问题,绑定到主视图,以消除键盘。 这也意外地捕获了GIDSignInButton内部的触动。 更改此设置有助于:
tapGesture.cancelsTouchesInView = false
实现你的UITapGestureRecognizer的委托,处理你在Googleloginbutton上点击的情况:
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { if touch.view is GIDSignInButton { return false } return true }
Swift 3:
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { if touch.view is GIDSignInButton { return false } return true }
这解决了我的问题。
快速简单的解决scheme:
脚步:
- 扩展到
UIGestureRecognizerDelegate
- 粘贴在以下方法中
- 将
dismissOnTap()
添加到您的视图控制器
码:
class ViewController: UIViewController, UIGestureRecognizerDelegate { override func viewDidLoad() { super.viewDidLoad() // Call dismissOnTap dismissOnTap() } func dismissOnTap() { self.view.isUserInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: Selector("dismissKeyboard")) tap.delegate = self tap.cancelsTouchesInView = false self.view.addGestureRecognizer(tap) } func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { if touch.view is GIDSignInButton { return false } return true } func dismissKeyboard() { self.view.endEditing(true) } }
- pipe理login/注销转换的build议
- 使用GIDSignIn.sharedInstance.clientID =时的错误代码
- iOS谷歌login查看丢失的导航栏和底部栏
- Facebook SDK使用Swift 3 iOS 10login
- OAuth身份validationIphone
- 您好,我正在使用Quickblox API在我的应用程序中聊天。 但我有问题相关的密码长度
- 终止应用程序,由于未捕获的exception'NSInvalidArgumentException' – ios谷歌login
- Firebase将垃圾logging到控制台中。 Xcode – 8(Swift3)
- 如何使用loginfunction开发基于TabBar的应用程序?