Я пытаюсь использовать Подключение Facebook от веб-приложения iPhone, таким образом, это выглядело бы подобным тому, как это смотрит в собственном приложении для iPhone, которое использует Подключение Facebook iPhone SDK.
iPhone SDK получает хорошую страницу входа в систему путем посещения:
http://www.facebook.com/login.php?fbconnect=1&connect_display=touch&api_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 к моему серверу, который затем уведомит родительскую страницу относительно успеха. Но мне не нравится идея intruducing серверный компонент к моему веб-приложению только из-за этого.
У кого-либо есть какие-либо умные мысли?
Править: Это о веб-приложении, не исходном приложении.
Похоже, вы сможете сделать это с помощью OAuth 2.0. Документация Facebook довольно тонкая - ее можно хорошо обсудить на http://www.raywenderlich.com/1488/how-to-use-facebooks-new-graph-api-from-your-iphone- app
Это сообщение в блоге посвящено использованию OAuth и нового Graph API в приложении для iPhone, но я обнаружил, что обсуждение OAuth лучше, чем где-либо еще. Вы можете использовать URL-адреса и потоки, которые он обсуждает, в своем веб-приложении, чтобы добиться того же.