簡體   English   中英

在 iOS 中反應原生谷歌登錄失敗

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM