Из комментариев вы сейчас делаете это:
[FBRequestrequestForMe]
, а затем:
if ([result objectForKey:@"location"]) {
NSString *facebookLocation = [[result objectForKey:@"location"] objectForKey:@"name"];
[[PFUser currentUser] setObject:facebookLocation forKey:@"location"];
}
result
является FBGraphUser
объектом и location
свойства вы получаете доступ является FBGraphPlace
объектом:
https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphPlace
В настоящее время вы получаете доступ к объекту name
объекта FBGraphPlace
, который дает вам представление NSString о месте. Вместо этого вы хотите получить доступ к объекту location
, который является FBGraphLocation
. Этот объект имеет свойства для различных компонентов, которые вы хотите:
https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphLocation
(я не на Mac прямо сейчас, так что, вероятно, некоторые ошибки в этом коде) Вы должны быть в состоянии сделать что-то подобное :
id<FBGraphUser> fbUser = (id<FBGraphUser>)result;
id<FBGraphPlace> fbPlace = [fbUser location];
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation city];
NSString * userCountry = [fbLocation country];
NSString * userZip = [fbLocation zip];
//etc
вы можете использовать эту информацию, однако вы хотите с пользователем: Разбор
[[PFUser currentUser] setObject:userCity forKey:@"city"];
[[PFUser currentUser] setObject:userZip forKey:@"zip"];
можете ли вы показать код для того, как вы делаете это сейчас ? Я предполагаю, что вы используете '[FBRequest requestForMe]' для получения FBGraphUser пользователя. FBGraphUser имеет свойство location, которое является FBGraphPlace. FBGraphPlace имеет свойство location, которое является FBGraphLocation. FBGraphLocation имеет свойства строки и номера для города, страны, штата и т. Д. Что вы делаете, чтобы получить местоположение сейчас? – Alex
Да, я использую [FBRequestrequestForMe]. Затем я захватываю местоположение пользователя по приведенному ниже коду: if ([result objectForKey: @ "location"]) { NSString * facebookLocation = [[result objectForKey: @ "location"] objectForKey: @ "name"]; [[PFUser currentUser] setObject: facebookLocation forKey: @ "location"]; } –
Будет ли лучший способ получить информацию о местоположении пользователя? –