2013-11-14 3 views
0

В настоящее время я создаю приложение для социальных сетей, которое позволяет пользователям зарегистрироваться через Facebook. Мой процесс регистрации работает нормально, но одна вещь, которую я хотел бы сделать, - это запросить пользователей City и State и сохранить их как отдельные ключи в моей базе данных. Таким образом, я могу разрешить пользователям искать пользователей по городам или штатам в моем приложении.Хранение пользователей Facebook Город и штат отдельно

У меня уже есть метод FBRequestConnection, который настраивает и вытягивает местоположение пользователя в целом.

Можно ли запросить город и штат и сохранить их отдельно? Если да, то какие-нибудь предложения?

Заранее благодарен!

+0

можете ли вы показать код для того, как вы делаете это сейчас ? Я предполагаю, что вы используете '[FBRequest requestForMe]' для получения FBGraphUser пользователя. FBGraphUser имеет свойство location, которое является FBGraphPlace. FBGraphPlace имеет свойство location, которое является FBGraphLocation. FBGraphLocation имеет свойства строки и номера для города, страны, штата и т. Д. Что вы делаете, чтобы получить местоположение сейчас? – Alex

+0

Да, я использую [FBRequestrequestForMe]. Затем я захватываю местоположение пользователя по приведенному ниже коду: if ([result objectForKey: @ "location"]) { NSString * facebookLocation = [[result objectForKey: @ "location"] objectForKey: @ "name"]; [[PFUser currentUser] setObject: facebookLocation forKey: @ "location"]; } –

+0

Будет ли лучший способ получить информацию о местоположении пользователя? –

ответ

1

Из комментариев вы сейчас делаете это:

[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"]; 
+0

Thats great !! Бесконечно благодарен! –

+0

IT не работает. – Xeieshan

Смежные вопросы