在AppDelegate.m中集成google和facebook登录的问题有两个方面:
一、有条件处理开盘,我通过以下方式进行管理:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSString *stringURL = [ url absoluteString];
if([stringURL containsString:@"fb"])
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
else return [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
II.处理用户登录后的回调。这一点,我无法在两者同时工作的情况下做到。其中一个或另一个被禁用。它们的代码片段如下:
// Facebook SDK
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
// Google
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handled = [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
return handled;
}
如果我删除最后一部分,Facebook回拨会起作用。但我真的希望两者都能起作用:)有人能帮忙吗?
3条答案
按热度按时间46scxncf1#
你可以这样查
在didFinishLaunchingWithOptions方法中
用于处理FACEBOOK
pxyaymoc2#
试试这个
wn9m85ua3#
此解决方案对我很有效:
来源:https://github.com/facebookarchive/react-native-fbsdk/issues/770
必须在appdelegate. m中修改openUrl函数
代码: