iOS Facebook SDK,如何在App中登录,而不是在safari中登录

时间:2013-01-08 15:49:15

标签: iphone ios facebook facebook-graph-api

是否可以使用Facebook iOS SDK在应用内进行身份验证(而不是访问Safari),还可以保留这些身份验证凭据以便下次启动该应用?

我已使用Facebook SDK示例代码SessionLoginSample进行检查。它在Safari中打开Facebook登录帐户....我希望它在应用程序中打开..

我没有使用FBConnect,因为它已过期...如何将其用于Facebook SDK

https://github.com/facebook/facebook-ios-sdk ...示例代码

https://github.com/facebook/facebook-ios-sdk/tree/master/samples/SessionLoginSample

this sample code here~~

2 个答案:

答案 0 :(得分:2)

Facebook iOS SDK将在应用程序内打开,前提是您的用户在iOS 6上并且在设备中设置了他们的Facebook帐户。否则,它将优雅地回退到Facebook应用程序(如果已安装),然后仅回退到Safari。来自SDK Docs

  

用户登录后可以使用本机登录对话框   Facebook在他们的设备上。如果设备未连接到Facebook,   本机登录对话框不可用,权限请求将   通过快速应用程序切换到Facebook应用程序(如果已安装)或   苹果浏览器。 Facebook SDK方法[...]将无缝回退   这种快速应用切换行为。

如果您的用户既没有在iOS 6设备上配置Facebook也没有安装Facebook应用程序,并且您仍然希望在您的应用程序中进行登录,那么您最好的选择可能是在某个地方启动指向您自己的服务器的UIWebView出server-side login

请记住,基于UIWebView的方法的一大缺点是UIWebView不与Safari共享cookie,因此即使用户已经在Safari中登录,他们仍需要再次重新输入用户名和密码在你的应用程序中我在第三方应用程序中有点犹豫,因为无法知道他们是否欺骗Facebook网站和网络钓鱼我的凭据。

答案 1 :(得分:0)

FBSDKLoginManager * login = [[FBSDKLoginManager alloc] init];         login.loginBehavior = FBSDKLoginBehaviorWeb;