iOS Facebook SDK - 获取用户位置

时间:2014-02-17 05:43:42

标签: ios facebook

使用FBLoginView我可以登录用户并获取一个FBGraphUser对象,该对象包含以下结构中的数据:

FBGraphUser
|---username
|---email
|---id<FBGraphPlace> location
|---place_name
|---id<FBGraphLocation> location
|---city
|---street
|---latitude/longitude
请参阅Facebook的documentation以获得更好的图片:)

我能够为用户的FBGraphPlace location提供正确的place_name数据,但FBGraphLocation为空。

我想访问这些数据,这就是我难倒的地方。我确保用户的位置信息是公开显示的,我将readPermissions FBLoginView设置为包含@"user_location"

有谁知道我可能犯错误的地方?谢谢!

编辑 - 解决方案:我的Facebook地址字段为空。我把'当前城市'误认为是地址。

1 个答案:

答案 0 :(得分:1)

尝试这样做:

id<FBGraphUser> fbUser = (id<FBGraphUser>)user;
id<FBGraphPlace> fbPlace = [fbUser location];
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation city];
NSString * userCountry = [fbLocation country];
NSString * userZip = [fbLocation zip];

您当前正在访问FBGraphPlace的name属性,该属性为您提供该地点的NSString表示。您要做的是访问位置属性FBGraphLocation。此对象具有所需各种组件的属性。

但我不确定这是你需要的。