Я пытаюсь использовать Facebook Connect с iPhone webapp, поэтому он будет похож на то, как он выглядит в родном приложении для iPhone, которое использует iPhone Connect iPhone для iPhone.Как использовать Facebook Connect в iPhone webapp
iPhone SDK получает хорошую страницу входа по адресу:
http://www.facebook.com/login.php?fbconnect=1&connect_display=touch&api_key=<key>&next=fbconnect://success
(см http://github.com/facebook/facebook-iphone-sdk/blob/master/src/FBLoginDialog.m)
Поскольку я не хочу, чтобы открыть Safari, единственный способ, которым я вижу, чтобы показать эту страницу в используя iframe.
Тогда возникает проблема обнаружения успеха и сбоя.
SDK может сделать это, просто используя делегатский метод webView:shouldStartLoadWithRequest:
и проверив для fbconnect://success
и fbconnect://cancel
.
Насколько я знаю, родительская страница не может контролировать URL-адрес iframe.
Я мог бы открыть соединение Comet с сервером с родительской страницы и переадресовать Facebook на мой сервер, который затем будет уведомлять родительскую страницу об успешном завершении. Но мне не нравится идея вторжения серверного компонента в мой webapp только из-за этого.
У кого-нибудь есть умные идеи?
Редактировать: Это примерно веб-приложение, а не родное приложение.
Вы нашли решение этой проблемы? У вас такая же проблема с OpenID, и вам будет интересно узнать, с чем вы столкнулись. Спасибо! – Cimm
Я действительно собирался опубликовать эту ту же проблему. Я не думал о том, чтобы поместить его в iframe - это отличная идея. – steve