Facebook sdk iPhone 身份验证

发布于 2024-12-11 20:31:38 字数 378 浏览 0 评论 0原文

我按照 Facebook 教程开发本机 iPhone 应用程序,但一开始无法使其工作。看来原因是我的手机上也安装了官方 Facebook 应用程序。

我一卸载官方应用程序,该应用程序就开始运行。 在尝试 Facebook 的 Hackbook 演示应用程序时也发生了同样的情况。

在卸载官方应用程序之前,我的应用程序和 Hackbook 都会在身份验证后启动 Facebook 应用程序,而不会提示输入用户名和密码或执行任何其他操作。 Facebook 官方应用程序只是保持运行,就像它是独立于其他应用程序启动的一样。卸载后,这两个应用程序将打开一个带有适当身份验证屏幕的 Safari 实例。

Graph API 和官方 iPhone Facebook 应用程序之间是否存在一些不兼容性?

I followed the Facebook tutorial for developing a native iPhone app and couldn't make it work at first. It seems that the reason was the fact that I had the official Facebook app also installed on the phone.

As soon as I uninstalled the official app, the application started working.
The same happened while trying the Hackbook demo app from Facebook.

Before uninstalling the official app, both my app and the Hackbook were launching the Facebook app upon authentication without prompting for username and password or doing anything else. The Facebook official app simply stayed up like it was launched independently from the rest. After uninstalling it, the two apps were opening a Safari instance with the appropriate authentication screen.

Is there some incompatibility between the Graph API and the official iPhone Facebook app?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平安喜乐 2024-12-18 20:31:38

阅读本文(特别是第5步)

Facebook.m 查找

- (void)authorize:(NSArray *)permissions {
  self.permissions = permissions;

  [self authorizeWithFBAppAuth:YES safariAuth:YES];
}

并将两个参数设置为 NO

[self authorizeWithFBAppAuth:NO safariAuth:NO];

如果两个参数都设置为“否”,应用程序将显示在应用程序弹出窗口中以进行 Facebook 身份验证。

它的作用是,如果安装了 Facebook 应用程序,则使用 Safari 执行身份验证;如果未安装 Facebook 应用程序,则使用 Safari 执行身份验证。
如果您想使用 safari 进行身份验证,只需将第一个参数设置为 NO

[self authorizeWithFBAppAuth:NO safariAuth:YES];

这将打开 safari 进行 Facebook 身份验证。

read this (step5 specially)

Facebook.m find

- (void)authorize:(NSArray *)permissions {
  self.permissions = permissions;

  [self authorizeWithFBAppAuth:YES safariAuth:YES];
}

and set both parameters to NO

[self authorizeWithFBAppAuth:NO safariAuth:NO];

if both parameters are set to NO, Application will show in app popup for Facebook authentication.

What this does is, this performs the authentication using Facebook application if installed or Safari if facebook application isn't install.
If you want to authenticate using safari then just set first parameter to NO

[self authorizeWithFBAppAuth:NO safariAuth:YES];

This will open safari for Facebook authentication.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文