Действие кнопки при входе в систему Нажатие кнопки в FBConnect API - PullRequest
9 голосов
/ 02 июня 2011

Я использую fbconnect api в своем проекте. Когда открывается диалог входа в систему, где мы вводим свои учетные данные, когда я нажимаю кнопку входа, что-то выполняется, и оно перенаправляется на страницу публикации. Моя проблема в том, что я не понимаю, какие действия выполняются с этой кнопкой входа в систему, чтобы я мог поставить индикатор там.

Я приложил скриншот, чтобы указать, о какой кнопке я говорю. enter image description here

Любые предложения будут высоко оценены!

Ответы [ 2 ]

4 голосов
/ 02 июня 2011

Хотите украсть чужие пароли на Facebook? :)

Кажется, FBConnect использует UIWebView для загрузки страниц из Интернета. Эти элементы формы не создаются из кода. Таким образом, вы не можете иметь доступ к этим методам / действиям.


Отслеживание действия кнопки входа с использованием UIWebViewDelegate :

В webView:shouldStartLoadWithRequest:navigationType: методе делегата в FBDialog.m вы можете увидеть запрос, отправленный из представления входа в систему.

Вы можете прочитать URL, используя [request.URL absoluteString]. Проверьте, содержит ли URL строку https://www.facebook.com/login.php?m=m. Если это ДА , то, вероятно, отправляется запрос на вход. Вы можете выполнять свои действия там.

Примечание: я не уверен, что это всегда будет работать. Вы можете провести дальнейшее исследование, чтобы найти лучшее решение.

1 голос
/ 02 июня 2011

Когда вы нажимаете кнопку входа в систему - запрос на вход отправляется только на сервер FB. Чтобы получить ответ, вам необходимо реализовать протокол FBSessionDelegate:

/**
 * Called when the user successfully logged in.
 */
- (void)fbDidLogin;

/**
 * Called when the user dismissed the dialog without logging in.
 */
- (void)fbDidNotLogin:(BOOL)cancelled;

/**
 * Called when the user logged out.
 */
- (void)fbDidLogout;

Читайте также комментарии в Facebook.m:

  • Запускает диалоговое окно, которое предлагает пользователю войти в Facebook и предоставить
  • запрошенные разрешения для приложения. *
  • Если устройство поддерживает многозадачность, мы используем быстрое переключение приложений для отображения
  • диалоговое окно в приложении Facebook или, если приложение Facebook не установлено,
  • в Safari (это обеспечивает единый вход, позволяя нескольким приложениям на
  • устройство для совместного использования того же сеанса пользователя).
  • Когда пользователь предоставляет или отклоняет разрешения, приложение, которое
  • показало, что диалог (приложение Facebook или Safari) перенаправляет обратно на
  • вызывающее приложение, передающее в URL токен доступа
  • и / или любые другие параметры, которые бэкэнд Facebook включает в
  • результат (например, код ошибки в случае возникновения ошибки).
...