我按照官方Firebase频道(https://firebase.google.com/docs/auth/ios/google-signin?hl=en-419)的说明使用Google身份验证订阅我的应用。问题出现在函数
中func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?)
它无法从命令中解析标识符GoogleAuthProvider和Auth。即“使用未解析的标识符'GoogleAuthProvider'”
let credential = GoogleAuthProvider.credential(idToken: authentication.idToken, accessToken: authentication.accessToken)
// ...
Auth.auth().signIn(with: credential) { (user, error) in
if let error = error {
// ...
return
}
我在查看器和AppDelegate中都导入了:
import Firebase
import GoogleSignIn
我的Podfile看起来像这样:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'racc' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for racc
pod 'Firebase/Core'
pod 'GoogleSignIn'
pod 'Firebase/Auth'
target 'raccTests' do
inherit! :search_paths
# Pods for testing
end
end
我在Swift 4工作
答案 0 :(得分:2)
您需要将FirebaseAuth
导入到您的应用程序委托中。
在您的Podfile中:
pod 'Firebase/Auth'
在您的AppDelegate中:
import FirebaseAuth
Google的官方说明中缺少这些步骤。
答案 1 :(得分:0)
答案 2 :(得分:0)
有时候您需要将pod'Firebase / Auth'放置在pod文件中其他Pod的上方,这在我没有导入常规FirebaseAuth的情况下对我有用