2014-02-17 4 views
1

Использование FBLoginView Я могу войти пользователей и получить FBGraphUser объект, который хранит данные в следующей структуре:IOS Facebook SDK - получение местоположения пользователя

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 пустое. Я ошибаюсь «текущий город» для адреса.

+0

Решение проблемы? –

+0

@Bibo К сожалению, нет. – JasonJasonJason

ответ

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 который дает вам представление NSString места. Вместо этого вы должны получить доступ к свойству location, которое является FBGraphLocation. Этот объект имеет свойства для различных компонентов, которые вы хотите.

Но я не уверен, что это то, что вам нужно.

+0

Ах, я понимаю, что вы говорите - хорошая точка. К сожалению, это все еще дает nulls для 'fbLocation', и все его компоненты. Получаете ли вы правильные данные с помощью этого кода? – JasonJasonJason

+0

Да и нет, проверьте, используя свою собственную учетную запись Facebook, вы должны указать свой полный адрес в Facebook (я протестировал его с моей учетной записью, код в порядке, проблема в том, что данные, которые вы получаете от Facebook и пользователей, не связаны к разрешениям), если вы не получите какой-либо ценности, потому что не является полным в Facebook, я думаю, что мы ничего не можем сделать, чтобы получить эту информацию от всех пользователей, я столкнулся с той же проблемой в своем приложении. –

+1

. помог мне решить это - Большое вам спасибо! Я был наивным и только заполнял свой личный «текущий город». Основываясь на вашем последнем комментарии, _ «дайте свой полный адрес Facebook» _, я посмотрел дальше и обнаружил, что есть поле адреса, которое пусто для моей личной учетной записи. Заполненный, он дает правильные результаты. Опять же, спасибо! – JasonJasonJason

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