作者:隔壁小王 | 来源:互联网 | 2023-02-05 19:35
我在我的项目中使用https://github.com/devfd/react-native-google-signin和https://github.com/luisfcofv/react-native-deep-linking包.我没有解决AppDelegate.m文件的以下部分,以便包可以工作.
对于这个反应原生谷歌登录
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RNGoogleSignin application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
对于这种反应原生深层连接
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
我不擅长Objective-C.如何使用单个函数返回RNGoogleSignin和RCTLinkingManager?
1> koen..:
由于两种方法都返回BOOL,您可以尝试这样的方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL success = [RNGoogleSignin application:application openURL:url
sourceApplication:sourceApplication annotation:annotation])
if (!success)
success = [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
return success;
}
根据@rmaddy的评论进行更新.