Kevin Donnelly
@donnellyk
GOOGLE+, APP REVIEW, AND
YOUA CAUTIONARY TALE
Google+ log-in opens a web page in mobile Safari for logging in, then
returns the user to the app. The user should be able log in without
opening Safari first.
10.6: Apple and our customers place a high value on simple, refined,
creative, well thought through interfaces. They take more work but are
worth it.
APPLE'S RESPONSE
Hello, Jumping to Safari and to an app is only approved for Facebook,
among social networks. If the removal of the Google+ login is the
solution, please update the screenshots to match the interface. If you
choose to keep it in, please implement web-view for login.
Issue 900 on google-plus-platform
First reported back on July 4th, 2014
GOOGLE'S RESPONSE
The Google Sign-In button does a fast app-switch on iOS because it is
the best way to achieve single sign-on, where the user only needs to
enter their password once per device. Google believes any usability
issue of the app-switch is greatly outweighed by the usability benefit of
only needing to enter your Google password once per device.
A (HORRIBLE) FIX
- (BOOL)openURL:(NSURL*)url {
if ([[url absoluteString] hasPrefix:
@"https://accounts.google.com/o/oauth2/auth"]) {
[[NSNotificationCenter defaultCenter]
postNotificationName:ApplicationOpenGoogleAuthNotification
object:url];
return NO;
}
return [super openURL:url];
}
SIDEBAR
Change
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
To
return UIApplicationMain(argc, argv, NSStringFromClass([UIApplicationSubclass class]),
NSStringFromClass([AppDelegate class]));
MORE (HORRIBLE) FIXES
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([[[request URL] absoluteString] hasPrefix:
@"com.bundle.id:/oauth2callback"]) {
[GPPURLHandler handleURL:url
sourceApplication:@"com.google.chrome.ios" annotation:nil];
[self.navigationController popViewControllerAnimated:YES];
return NO;
}
return YES;
}
More detailed Stackoverflow answer
"We do not support hand-rolled/embedded UIWebView for reasons of
security, though are well aware of the unsavory tradeoff currently in
place."

G plus pres

  • 1.
  • 2.
    GOOGLE+, APP REVIEW,AND YOUA CAUTIONARY TALE
  • 3.
    Google+ log-in opensa web page in mobile Safari for logging in, then returns the user to the app. The user should be able log in without opening Safari first. 10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it.
  • 4.
    APPLE'S RESPONSE Hello, Jumpingto Safari and to an app is only approved for Facebook, among social networks. If the removal of the Google+ login is the solution, please update the screenshots to match the interface. If you choose to keep it in, please implement web-view for login.
  • 5.
    Issue 900 ongoogle-plus-platform First reported back on July 4th, 2014
  • 6.
    GOOGLE'S RESPONSE The GoogleSign-In button does a fast app-switch on iOS because it is the best way to achieve single sign-on, where the user only needs to enter their password once per device. Google believes any usability issue of the app-switch is greatly outweighed by the usability benefit of only needing to enter your Google password once per device.
  • 7.
    A (HORRIBLE) FIX -(BOOL)openURL:(NSURL*)url { if ([[url absoluteString] hasPrefix: @"https://accounts.google.com/o/oauth2/auth"]) { [[NSNotificationCenter defaultCenter] postNotificationName:ApplicationOpenGoogleAuthNotification object:url]; return NO; } return [super openURL:url]; }
  • 8.
    SIDEBAR Change return UIApplicationMain(argc, argv,nil, NSStringFromClass([AppDelegate class])); To return UIApplicationMain(argc, argv, NSStringFromClass([UIApplicationSubclass class]), NSStringFromClass([AppDelegate class]));
  • 9.
    MORE (HORRIBLE) FIXES -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([[[request URL] absoluteString] hasPrefix: @"com.bundle.id:/oauth2callback"]) { [GPPURLHandler handleURL:url sourceApplication:@"com.google.chrome.ios" annotation:nil]; [self.navigationController popViewControllerAnimated:YES]; return NO; } return YES; } More detailed Stackoverflow answer
  • 10.
    "We do notsupport hand-rolled/embedded UIWebView for reasons of security, though are well aware of the unsavory tradeoff currently in place."