FIRUser与核心数据冲突 - Swift 4

时间:2018-01-23 12:55:08

标签: swift firebase firebase-authentication

我怀疑这个错误是由于Xcode 9.2中的编译器问题...

我正在将Firebase集成到我的iOS应用程序中(现在正在使用auth工作),并且由于应用程序严重依赖用户,我还创建了一个用户实体。

但是,我的代码不会编译,因为它认为委托方法didSignInWith中的FIRUser用户参数应该是User(核心数据实体)而不是FIRUser ...

这显然是错误的,因为我想从Firebase上的FIRUser映射到手机上的User对象,只是为了验证此冲突是否引发了错误,我在User实体上设置了codegen没有/手动,虽然修复了命名冲突,但我的应用程序不再“知道”用户NSManagedObject变量是什么......

我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解了这个问题,那么您会遇到命名冲突,因此使用FirebaseAuth.User替换调用中的参数?而不仅仅是用户?所以XCode知道它是哪个用户类。

所以

func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
  // handle user and error as necessary
}

func authUI(_ authUI: FUIAuth, didSignInWith user: FirebaseAuth.User?, error: Error?) {
  // handle user and error as necessary
}

如果我误解了这个问题,请告诉我。