我的应用中的用户可以使用 2 种服务登录:Facebook 或 Google
一切正常,但是,在 :
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation: (id)annotation {
...
}
我应该决定调用 Facebook 回调还是 Google 回调
如果用户有应用程序,这比我由 sourceApplication 决定的要容易 但如果不是(没有本地 Facebook 帐户链接,没有 FB 应用程序,没有 GooglePlus 应用程序),它会链接到浏览器 :( 我不知道它是来自 Facebook 还是来自 Google
有没有办法决定调用什么?喜欢
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation: (id)annotation {
// how to decide?
if (facebook) {
return [FBSession.activeSession handleOpenURL:url];
} else if (google) {
return [GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation];
}
}
最佳答案
我们不需要显式检查 URL,下面的代码可以做到:
- (BOOL)application: (UIApplication *)application openURL: (NSURL *)url sourceApplication: (NSString *)sourceApplication annotation: (id)annotation
{
if ([GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation]) {
return YES;
}else if([FBAppCall handleOpenURL:url sourceApplication:sourceApplication]){
return YES;
}
return NO;
}
关于ios - 处理 openURL : with Facebook and Google,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50364597/