iOS 9 Facebook Access Token在未来的应用程序发布中没有任何价值

Uno*_*ome 12 ios facebook-login facebook-sdk-4.0 swift

在最近的iOS 9更新以及Facebook SDK(4.6.0)的更新之后,我发现我的登录会话不再在应用程序启动之间持续存在.

到目前为止,我的流程非常简单.

  1. 使用登录到Facebook FBSDKLoginButton.
  2. 在未来的View和Launches上检查FBSDKAccessToken.currentAccessToken(),然后可以在应用程序中使用Facebook.

我发现的是在最近的更新之后我的AccessToken现在出现了,nil好像我关闭并再次启动应用程序.这是一个主要问题,因为以前我只需要登录一次,然后我的会话就会自动更新.

如果我是正确的,登录应该只发生一次,之后应用程序应该能够存储将来连接到Facebook所需的信息,或者只是保留一个刷新自己的令牌.

在iOS9或4.6.0 Facebook SDK更新后,有没有人有任何想法可能导致这种情况?是否存在需要持久保存的属性,以便将来刷新令牌或者是否应该自动续订令牌?我接近100%肯定,Facebook SDK的预期体验不是必须在每个应用程序启动时登录(当您重新启动应用程序时,关闭所有方式并再次打开).

谢谢!

更新

根据回复中的要求,我在Plist文件的TransportSecurity信息中添加了一个额外的密钥.不幸的是,还没有运气.

在此输入图像描述

Zai*_*han 13

添加这一行对didFinishLaunchingWithOptions我有用:

FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
Run Code Online (Sandbox Code Playgroud)

最终方法看起来像这样:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

    if let accessToken = FBSDKAccessToken.currentAccessToken(){
        print(accessToken)
    }else{
        print("Not logged In.")
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

参考


小智 3

即使当我更新 iOS 9 时它对我不起作用,但在尝试这个解决方案后它对我有用。

1)在info.plist中添加数据,如图所示

在此输入图像描述