如何在IOS App中使用Facebook登录缓存Facebook用户信息

时间:2012-12-09 13:58:12

标签: facebook ios5 facebook-login

我正在将Facebook SDK 3.1集成到我的iOS 5应用程序中。 Facebook登录后,我必须像这样查询以获取用户信息

NSString *query = @"SELECT uid, name, pic_big,username FROM user where uid = me()";

NSDictionary *queryParam =
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];

[FBRequestConnection startWithGraphPath:@"/fql"
                             parameters:queryParam
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection,
                                          id result,
                                          NSError *error) { ....

现在这种方法存在两个问题:

1-用户只是等待从Facebook和Facebook进行身份验证    现在就在那之后,他必须再次等待获得他的基本个人资料信息    从网上获取。

-Q-如何通过Facebook登录网络电话获取此信息?

-2-当用户从登录界面重新打开应用程序时,如果FBSession仍处于打开状态并且有效,Facebok将重新验证该用户,但我仍然需要获得他的基本权限 网络资料信息...

-Q-如何在我的应用程序中缓存用户的基本个人资料信息?在FBSession对象中是否有任何ID可以缓存用户信息?

提前致谢。 Moeen。

1 个答案:

答案 0 :(得分:0)

  

1-用户只是等待从Facebook和Facebook进行身份验证   现在就在那之后,他必须再次等待获得他的基本资料   要从网上获取的信息。

     

-Q-如何通过Facebook登录网络电话获取此信息?

正确使用时,原始等待时间应该最短。您不能将API调用“附加”到登录请求。 Facebook曾经有一个preload_fql工具,但不再支持它。

  

-2-当用户从登录屏幕重新打开应用程序时,如果FBSession仍然打开并且有效,Facebok将重新验证该用户,但我会   仍然需要从网络上获取他的基本个人资料...

     

-Q-如何在我的应用程序中缓存用户的基本个人资料信息?在FBSession对象中是否有任何ID可以缓存用户信息?

这是您的应用程序设计问题。我的建议是创建一个NSMutableDictionary作为类属性,并将其称为cached_user_data或其他东西。将用户数据保存在那里。