使用 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 地址栏是空的。我将“当前城市”误认为是地址。
最佳答案
尝试这样做:
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 的名称属性,该属性为您提供该地点的 NSString 表示形式。您要做的是访问作为 FBGraphLocation 的位置属性。该对象具有您想要的各种组件的属性。
但我不确定这是你需要的。
关于iOS Facebook SDK - 获取用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21821612/