Facebook授权在IOS 4.01下无效

时间:2011-11-23 15:49:38

标签: iphone ios facebook authorization

我正在使用官方Facebook IOS API中的[facebook authorize:permissions]使用单点登录连接到Facebook。

如果设备上未安装Facebook应用程序(Safari授权),我的代码可以正常工作。它也适用于安装了Facebook App的运行IOS5的设备(Facebook App授权)。

但是,在运行IOS 4.01(我会继续测试我的应用程序)的设备上,如果安装了Facebook应用程序,authorize请求会启动Facebook应用程序,但当它返回时,我会在{{}}中获得以下回复{1}}

application: HandleOpenURL:

导致fb[MY_APP_ID]://authorize#error=unknown%5Ferror 被调用而我的应用程序失败。

删除并重新安装Facebook App和/或我自己的应用程序没有帮助。在我的应用程序之外注销Facebook:Facebook应用程序在这种情况下显示登录屏幕,但它返回相同的错误。

如果Facebook应用程序未安装在该设备上且Safari用于授权,则一切正常。

我在其他地方读到这个错误可能是由于我的Bundle ID定义不正确,但是(1)所有地方都正确定义了所有地方(我的info.plist,Facebook和iTunes Connect)和(2)事情确实有效在其他配置中。

在IOS 4.01下是否存在导致此行为的问题,或者我做错了什么? (此时我实际上做的不多,我只是发出一个Authorize请求并实现委托方法。)

1 个答案:

答案 0 :(得分:0)

要纠正此行为,您应该明确禁止使用facebook应用进行Facebook授权。默认代码具有以下代码行 -

[self authorizeWithFBAppAuth:YES safariAuth:YES];

要禁止使用Facebook应用授权并仅使用safari强制授权,请将其更改为 -

[self authorizeWithFBAppAuth:NO safariAuth:YES]。