Upload
kevin-donnelly
View
38
Download
1
Embed Size (px)
Citation preview
Kevin Donnelly@donnellyk
GOOGLE+, APP REVIEW, AND YOU
A 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."