应用重新启动后,Facebook访问令牌为零

我正在使用Firebase身份validation和Facebook在iOS上开发应用程序。 我想用Facebooklogin后使用FacebookgraphicsSDK。 这是第一次正常工作。 但是当我重新启动应用程序时,graphicsAPI不起作用:

必须使用活动访问令牌来查询有关当前用户的信息。

下面的代码是nil:

FBSDKAccessToken.current()?.tokenString 

但是用户使用Firebase身份validation进行了日志logging:

 // check if user is logged FIRAuth.auth()?.addStateDidChangeListener({ (auth, user) in if user != nil{ print("User logged") ... 

有没有办法通过Firebase身份validation获取当前的Facebook访问令牌? 或者我必须坚持以后使用它的访问令牌? 或每次重新login用户(根本不是用户友好的)?

我的解决scheme(但不知道如果最好的方式):

  1. 在fblogin时在firebase数据库中保存“访问令牌”
  2. 当应用程序重新启动时,从数据库中获取持久的“访问令牌”
  3. 检查“访问令牌”是否仍然有效
  4. 如果没有,重新login用户并获得一个新的“访问令牌”并保存

更新

我注意到我收到这个消息:

由于模拟器错误,从NSUserDefaults退回到加载访问令牌

所以我在一个真实的设备上检查了我的代码,现在它正在工作,访问令牌通过应用程序重新启动持久。

我注意到我收到这个消息:

由于模拟器错误,从NSUserDefaults退回到加载访问令牌

所以我在一个真实的设备上检查了我的代码,现在它正在工作,访问令牌通过应用程序重新启动持久。