Да и нет.
Facebook использует делегированную аутентификацию для подключения вашего приложения к нему. Следовательно, пользователь должен поместить свой пароль во что-то «доверенное» (например, на страницу входа в Facebook), чтобы ваше приложение на самом деле его не видело, а в результате получало только ключ. Идея заключается в том, что пользователи обучены не доверять другим веб-страницам / приложениям свой пароль.
Таким образом, FB предоставляет это веб-всплывающее окно в своей библиотеке FBConnect, не имея другого явного способа превращения учетных данных пользователя в сеанс.
Сказал, и я отвечу на ваш технический вопрос, так как это законный вопрос; Вы могли бы делать то, что хотели, создав закадровый UIWebView, разместив любой URL-адрес для входа в FB в этом веб-представлении, и вставив Javascript на страницу, используя stringByEvaluatingJavaScriptFromString:
. Этот Javascript может взять имя пользователя / пароль, заполнить форму и отправить ее, даже не увидев пользователя. Прочитайте код библиотеки FBConnect, чтобы понять, какой URL использовать и что делать с результатом отправки страницы - вы можете подключить его обратно в библиотеку.
Это (1) хрупко, так как вам придется полагаться на идентификаторы и вещи, которые могут / будут меняться, чтобы победить только такие методы, и (2), вероятно, нарушает условия использования для FB Connect и, конечно, (3) ) не очень хорош для здоровья аутентификации в сети в целом, поскольку это не подтверждает, что пользователи не должны доверять третьим лицам свои пароли.
И, безусловно, само собой разумеется, что если вы идете в одиночку и даете пользователям более привлекательный вид аутентификации, никогда не сохраняйте и не делайте что-либо со своими учетными данными, кроме предоставления их в Facebook.