Firebase 3.x 问题:FIRUserInfo 是一个"undeclared identifier"



无论我尝试什么,FIRUserInfo都是未声明的标识符。我正试图从Firebase2.x迁移到3.x:不知何故,谷歌/Firebase服务器端最近的变化破坏了我的应用程序的facebookauth集成。

我确保我的Podfile安装了FirebaseAuth 3.0.2。我确保我的头确实导入了@FirebaseAuth。我尝试清理我的构建文件夹,重新启动xcode等

在Xcode 7.3.1中,我可以命令单击FIRUserInfo,它确实在pod框架中找到了预期的头文件。但它不会编译——下面的最后一行失败,FIRUserInfo是未声明的标识符。

@import Firebase;
...
                [[FIRAuth auth] signInWithCredential:credential completion:^(FIRUser * _Nullable user, NSError * _Nullable error) {
                    if (error || user.providerData.count < 1) {
                        DDLogWarn(@"Firebase login after facebook failed: %@", error);
                        if( weakSelf.signInCompletionHandler ) {
                            weakSelf.signInCompletionHandler(false, false, nil);
                            weakSelf.signInCompletionHandler = nil;
                        }
                    } else {
                        FIRDatabaseReference *userRef = [[FIRDatabase database] reference];
                        userRef = [userRef child:[NSString stringWithFormat:@"users/%@", user.uid]];
                        FIRUserInfo *profile = user.providerData.firstObject;

找到了答案。更改此:FIRUserInfo *profile…到此:

id<FIRUserInfo> profile

伙计,我一定很累错过了。抱歉大喊大叫,互联网。。。

尝试使用

pod 'Firebase/Auth'

在您的Podfile中,

@import Firebase;

这应该自动导入正确的模块,而不是特定的模块。

我是ios新手,有同样的问题使用

#import <FirebaseAuth/FirebaseAuth.h>

而不是

@import Firebase; 

能帮上忙吗。。

我与FIRDatabaseReference有相同的未声明类型问题,无法通过更新pod文件来解决。

最后,我找到了一个解决方案。

谷歌教我们只导入

导入Firebase

只需添加:

导入FirebaseDatabase

一切都会变得很好

相关内容

最新更新