Ios Facebook SDK FBGraphUser可以';t存储本地副本
我为一个项目启动了Facebook集成,但遇到了一个问题。我试图将登录的用户存储为本地对象,以便以后可以引用这些信息,但我似乎无法保留这些信息 下面是我获取用户数据的函数:Ios Facebook SDK FBGraphUser可以';t存储本地副本,ios,objective-c,facebook,facebook-graph-api,Ios,Objective C,Facebook,Facebook Graph Api,我为一个项目启动了Facebook集成,但遇到了一个问题。我试图将登录的用户存储为本地对象,以便以后可以引用这些信息,但我似乎无法保留这些信息 下面是我获取用户数据的函数: if(_session.isOpen) { [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES
if(_session.isOpen)
{
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error)
{
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error)
{
if(!error)
{
NSLog(@"Username: %@",user.name);
[_user initWithDictionary:user];
NSLog(@"Username: %@",[_user objectForKey:@"name"]);
}
else
{
NSLog(@"Couldn't get user details!");
}
}];
}];
}//endif
由于这两个都不起作用(第二个NSLog提供了正确的变量,但后来尝试在此函数之外访问它时导致崩溃),因此我只能假设我没有正确存储信息
有人能告诉我我做错了什么吗?你需要打印
user.username
而不是user.name
我在尝试访问user.username时得到空值
@property (strong, nonatomic) NSDictionary<FBGraphUser> *loggedInUser;
if(!error)
{
NSLog(@"Username: %@",user.name);
_user = user;
NSLog(@"Username: %@", _user.name);
}
else
{
NSLog(@"Couldn't get user details!");
}