无论我尝试什么,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
一切都会变得很好