Google plus SDKもFacebook SDKもともにログインする時に下記のメソッドにお世話になります。
- (BOOL)application: (UIApplication *)application openURL: (NSURL *)url sourceApplication: (NSString *)sourceApplication annotation: (id)annotation
Googleの場合
- (BOOL)application: (UIApplication *)application
openURL: (NSURL *)url
sourceApplication: (NSString *)sourceApplication
annotation: (id)annotation {
return [GPPURLHandler handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
Facebookの場合
- (BOOL)application:(UIApplication *)application
openURL: (NSURL *)url
sourceApplication: (NSString *)sourceApplication
annotation: (id)annotation {
BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
return wasHandled;
}
でもろどかぶりしているので、どうすればいいのかなーっと検索していたら、
Handling openURL: with Facebook and Googleというエントリーを発見して、下記のようにすれば問題なく解決することができました。
- (BOOL)application:(UIApplication *)application
openURL: (NSURL *)url
sourceApplication: (NSString *)sourceApplication
annotation: (id)annotation {
if ([[url absoluteString] rangeOfString:@""].location == NSNotFound){
BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
return wasHandled;
}else{
return [GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation];
}
}
0 件のコメント:
コメントを投稿