Google Sign In not working on iOS 10 Beta 7 with Xcode 8 beta 6

前端 未结 7 2415
后悔当初
后悔当初 2020-12-15 09:30

I have an app in the app store which worked perfectly fine till first few betas of iOS 10 (i am not exactly sure which one). It also works perfectly fine on iOS 9.3.

相关标签:
7条回答
  • 2020-12-15 09:51

    Turn on "Keychain Sharing" in the capabilities tab of your target and it will work.

    0 讨论(0)
  • 2020-12-15 09:53

    I am not sure if this is what other people are facing but I solved it by adding a [self.view layoutIfNeeded]. I know this is weird but this is what worked for me, I am myself not sure why.

    I was using a custom view container inside which I was showing the Google's sign in view controller as a child. So before adding the custom view controller to the container, i had to do [self.view layoutIfNeeded] as else the view layout hadn't been set yet, so google's sdk probably uses the width/height somewhere inside.

    I am not sure if this is the right solution but it seems to have fixed my issue.

    0 讨论(0)
  • 2020-12-15 09:54

    I am able to find a solution in my case by fixing my code to present a subview properly. Before I was getting this warning but ignored it:

    Warning :-Presenting view controllers on detached view controllers is discouraged
    

    until I saw Pranoy C's answer. My code is structured in a very similar way that a view container is used to present subviews which contain the Google button. It was not using the container correctly to present a subview. So I followed Apple's guide, especially this block:

    - (void) displayContentController: (UIViewController*) content {
        [self addChildViewController:content];
        content.view.frame = [self frameForContentController];
        [self.view addSubview:self.currentClientView];
        [content didMoveToParentViewController:self];
    }
    

    Once the warning was gone, Google started to work properly.

    As far as root cause of this issue, I'm still not exactly sure, but the warning seems to be a hint. It has to do with detached view controllers. (I'm not super experienced at iOS coding, so if someone has more knowledge with views, view controllers, feel free to chime in.)

    0 讨论(0)
  • 2020-12-15 10:00

    I'm (still) using Google+ SDK for sign-in (1.7.1), and it also broken on iOS 10 beta 7. I was thinking about moving to GIDSignIn since GPPSignIn is deprecated. but I guess I will wait for next beta...

    0 讨论(0)
  • 2020-12-15 10:01

    Do Nothing Just set the clientID while application is being finished launching. Like Given in the code below:

    import FBSDKLoginKit import GoogleSignIn import GGLCore

    @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    
        var ConfigError : NSError?
        GGLContext.sharedInstance().configureWithError(&ConfigError)
        assert(ConfigError == nil, "Error Configuration with Google services: \(ConfigError)")
        GIDSignIn.sharedInstance().clientID = "679401366566-8107g2n11hpnqas58m9v8rk7hl2lgl7s.apps.googleusercontent.com" // Here You Have To Change Your App ID
    
        let fbDelegate = FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
        print("DidFinish")
    
        return fbDelegate
    }
    
    0 讨论(0)
  • 2020-12-15 10:05

    Our issue was some third party plugins trying to auto integrate into our app delegate. For us, it was CleverTap (the autoIntegrate() function).

    0 讨论(0)
提交回复
热议问题