我们最近因为以下原因而拒绝了我们的ios应用程序:
我们注意到用户被带到Safari登录或注册帐户,这提供了糟糕的用户体验。
然而,启动facebook / Google登录的safari窗口的位是AWSMobileHubHelper框架的一部分,因此我们无法修改该代码。
非常感谢任何想法/解决方案。
答案 0 :(得分:2)
所以我找到了一个解决方法。我只是抓住GIDSignIn实例并自己更改属性。如果其他任何人想知道如何,你所要做的就是:
#import <GoogleSignIn/GoogleSignIn.h>
func signIn(signIn: GIDSignIn!, presentViewController viewController: UIViewController!) { presentViewController(viewController, animated: true, completion: nil) }
func loginWithGoogle(delegate: GIDSignInUIDelegate!) { let googleProvider = AWSGoogleSignInProvider.sharedInstance() // It is important that these are initialized after // AWSGoogleSignInProvider.sharedInstance() is called GIDSignIn.sharedInstance().uiDelegate = delegate GIDSignIn.sharedInstance().allowsSignInWithBrowser = false GIDSignIn.sharedInstance().allowsSignInWithWebView = true handleLoginWithSignInProvider(googleProvider, callback: callback) }
答案 1 :(得分:0)
从使用Facebook SDK的iOS 9开始,这是Facebook登录的预期行为。 Mobile Hub快速入门应用程序只是应用Facebook SDK 3并按照指示使用API。查看下面的简要说明并阅读评论以获得更好的洞察力。这不是Facebook的热门决定,如果您想进行实验,其他人已经提供了解决方法(通过移动浏览器强制用户身份验证)。至于AWSMobileHubHelper框架,我们正在考虑在某些时候提供它,但没有时间表。
“逻辑自动默认人们获得iOS 9的最佳体验。这意味着Facebook登录,Facebook和Messenger共享,App邀请,App Events或Native Like的SDK对话框将自动确定人们的最佳体验基于他们的设备。“
来源: https://developers.facebook.com/blog/post/2015/09/10/new-SDK-for-iOS9/