gpt4 book ai didi

ios - React Native Twitter 登录冲突 fb 和 google 登录 iOS

转载 作者:行者123 更新时间:2023-11-28 19:29:57 24 4
gpt4 key购买 nike

我知道这个问题,但我没有 Objective C 和 iOS 原生开发经验

我有两个同名参数不同的方法

//function 1
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {



return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
]
|| [RNGoogleSignin application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
];
}
}


//function 2
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
return [[Twitter sharedInstance] application:application openURL:url options:options];
}

如果我这样定义两者,那么重定向后的所有 oauth 请求都将变为功能 2。如果我尝试将两者结合起来,则 twitter 不工作 Twitter 仅适用于功能 2 格式

//combine function 3
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation options:(NSDictionary<NSString *,id> *)options {

NSString *stringurl = url.absoluteString;
NSString *sub = @"twitterkit";
NSRange range = [stringurl rangeOfString: sub options: NSCaseInsensitiveSearch];
if (range.location != NSNotFound){
return [[Twitter sharedInstance] application:application openURL:url options:options];
}
else{
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
]
|| [RNGoogleSignin application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
];
}
}

我无法向函数 2 添加额外的参数来支持 google 或 fb 登录

我如何通过函数重载来处理所有请求,但如何处理?

最佳答案

你可以这样组合它们:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
] || [RNGoogleSignin application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
]
|| [[Twitter sharedInstance] application:application openURL:url options:options];
return handled;
}

我正在使用:

react native twitter signin , react native fbsdkreact native google signin

关于ios - React Native Twitter 登录冲突 fb 和 google 登录 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com