我一直在尝试整合 Facebook,遇到了一些问题。
1.
我在 viewDidLoad 中实现了以下方法:
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:NO completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
[self sessionStateChanged:session state:status error:error];
}];
当缓存了一个令牌时,该块按预期执行。
但是,当没有缓存令牌时,根本不会执行该块。
这是正常行为吗?如果是这样,该块何时执行?
2.
有人说访问令牌在某个时候过期。
我应该担心令牌过期时该怎么办,还是 Facebook 会自动处理它?
3.
FBSession 的真正含义是什么?
据我了解 - FBSession 管理令牌和用户身份验证,
但是,我不明白“打开会话”是什么意思或FBSessionStates代表什么。
FBSession 是什么时候创建的?就在应用加载的时候?
4.
我发现应该解释 FBSessionsStates
的图表:阅读图表后,我仍然不明白流程 - FBSessionStateCreated 和 FBSessionStateCreatedTokenLoaded 何时是会话的当前状态?
如您所见,我对整个过程有很多疑问。
我试图以一种其他人在未来看到这一点的方式来组织这些问题,不会像我一样遇到困难。
谢谢你。