@interface GooglePlusManager() <GIDSignInDelegate,GIDSignInUIDelegate>
@property (nonatomic, strong) GIDSignIn *gppSignIn;
@property (nonatomic, weak) UIViewController * localVC;
@end
@implementation TWNGooglePlusManager
(void)doGooglePlusLogin: (UIViewController *)viewController
{
[self setPropertiesToInitialState];
NSString* clientId = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"GoogleClientId"];
self.gppSignIn = [GIDSignIn sharedInstance];
[self.gppSignIn setClientID:clientId];
if (self.gppSignIn)
{
self.gppSignIn.scopes = @[ @"profile", @"email" ];
[self.gppSignIn setDelegate:self];
self.localVC = viewController;
[self.gppSignIn setUiDelegate:self];
self.gppSignIn.allowsSignInWithWebView = YES;
[self.gppSignIn signIn];
}
}
#pragma mark - GIDSignInUiDelegate
(void)signIn:(GIDSignIn *)signIn presentViewController:(UIViewController *)viewController {
[self.localVC presentViewController:viewController animated:YES completion:nil];
}
@end
基本上,GIDSignIn在我的GooglePlusManager中,我将当前的SignIN ViewController传递给GooglePlusManager,一切正常,但登录页面没有后退/取消按钮。我试过setUiDelegate到self或VC,结果是一样的。 发生在真正的9.0设备和9.1模拟器中。
答案 0 :(得分:0)
找出答案是我错过了SafariServices.framework。在我将SafariServices.framework链接到应用程序后,它正常工作。