[英]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.