有没有办法以编程方式启动Google SignIn而无需按下GIDSignInButton?
我正试图在用户必须登录的谷歌api周围打一个信号。
有点 :
googleSignInSignal().then(getPersonalDataSignal)
您实际上可以调用此方法:
GIDSignIn.sharedInstance().signIn()
它对我来说很好,它似乎是一个更清洁的方法。
我希望它可以帮助有同样问题的人。
你可以尝试这样的东西 - 不漂亮,但有效:
GIDSignInButton *googleButton =[[GIDSignInButton alloc] init];
[googleButton sendActionsForControlEvents:UIControlEventTouchUpInside];
我已经回答了answer to same question,它对我有用。我已经完成了所有步骤并创建了签名按钮的出口
@property (retain, nonatomic) IBOutlet GIDSignInButton *googleSigninbtn;
并使用此按钮作为
[self.googleSigninbtn sendActionsForControlEvents:UIControlEventTouchUpInside];
我已经从故事板中隐藏了这个按钮,并在我自己的按钮的动作中添加了这个代码,它可以工作。
我正在调用GIDSignIn.sharedInstance()。signIn()但是在调用后Google没有显示出用于OAuth的固定WebView。此外,未在配置的GIDSignInUIDelegate或GIDSignInDelegate对象上触发事件。
问题是在我的UIViewController中,我在调用signIn()之前调用了dismiss()。如果您已经解除了视图控制器,Google的UI将不会弹出。
最终我最后只是打电话
let signIn = GIDSignIn.sharedInstance()
signIn.delegate = self
signIn.uiDelegate = uiDelegate
if silent {
signIn.signInSilently()
}
else {
signIn.signIn()
}