[英]react native google signin failed in iOS react native
我运行 react-native 升级来修复 play store base 64 问题。 Android 工作正常,这是我在使用 iOS 时遇到的唯一问题。 为构建运行时,React Native google sing in 失败。
我已经运行了以下命令:
反应原生升级@0.59.1
rm -rf node_modules && npm i
将谷歌 sdk 4.4.0 升级到 5.0.0 和
cd ios && 吊舱安装 && cd..
以下是错误:
1) 'GIDSignIn' 没有可见的@interface 声明选择器'signInSilently'
[[GIDSignIn sharedInstance] signInSilently];
2) 'GIDSignIn' 没有可见的@interface 声明选择器'hasAuthInKeychain'
RCT_REMAP_METHOD(isSignedIn,
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
BOOL isSignedIn = [[GIDSignIn sharedInstance] hasAuthInKeychain];
resolve([NSNumber numberWithBool:isSignedIn]);
}
3) 'GIDSignIn' 没有可见的@interface 声明选择器'handleURL:sourceApplication:annotation:'
+ (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation: (id)annotation {
return [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
4) 使用未声明的标识符“kGIDSignInErrorCodeNoSignInHandlersInstalled”
case kGIDSignInErrorCodeNoSignInHandlersInstalled:
请让我知道是否有人可以帮助我...谢谢!
我不是专家并且完全理解,但在从文档中了解详细信息后提出了我自己的方法。
第 4 点在 5.0.0 中已弃用,因此请注释掉或删除它。 第 1 点和第 2 点您需要在 GoogleSignIn.h 文件中进行输入,但根据文档,hasAuthInKeychain 被替换为 hasPreviousSignIn 并且 signInSilently 已被替换为 hasPreviousSignIn。
您可以通过将 signInSilently 和 hasAuthInKeychain 条目添加到 GoogleSignIn.h 文件来克服该错误。
您可以参考https://developers.google.com/identity/sign-in/ios/release中的详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.