无法使用iOS SDK和本机Facebook应用程序授权Facebook

时间:2012-08-16 10:44:50

标签: ios facebook authorization

我拥有什么以及出现了什么问题:

  1. 我有一个带有游戏应用程序的Facebook帐户(人们每天都在玩)
  2. 我还有一个带有测试应用程序的Facebook帐户,该帐户最近使用默认设置创建。
  3. 我在iPod上使用原生Facebook应用程序
  4. 我正在开发使用Facebook iOS SDK的iOS应用程序。
  5. 无效流程:

    如果我在第一个应用程序中使用App ID / API Key,我会打开我的应用程序并尝试登录。 Facebook SDK打开本机FB应用程序并向我显示屏幕enter image description here

    我按OK然后返回我的iOS,出现此类错误并且没有访问令牌:

    (NSError *) $0 = 0x001710f0 Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x16d4b0 {com.facebook.sdk:ErrorLoginFailedOriginalErrorCode=210}
    

    有效流程:

    如果我使用第二个(测试)应用程序中的App ID / API Key,我会打开我的应用程序并尝试登录。 Facebook SDK打开本机FB应用程序并向我显示屏幕enter image description here

    我按OK然后使用有效的访问令牌返回我的iOS。

    应用程序的设置是一样的,我没有看到任何差异。如果我有本机Facebook应用程序,则会出现此问题。如果我没有,Facebook SDK将打开浏览器,授权将成功获得第一个和第二个App ID。

    如果有人遇到此类问题,请提供帮助。非常感谢。

3 个答案:

答案 0 :(得分:16)

我解决了这个问题。

实际上在这里和那里改变之后我发现我的包ID不匹配。我在以下3个地方保持捆绑ID相同,并且它有效:

  1. 项目的包标识符。
  2. 在您的FB a / c中名为“iOS Bundle ID:”的文件名为“原生iOS应用程序”。
  3. AppDelegate.m中的通知字符串值

    NSString *const FBSessionStateChangedNotification = @"yourbundleid:FBSessionStateChangedNotification";

答案 1 :(得分:4)

我发现在请求权限时收到了同样的错误:“offline_access”。当我停止要求获得此许可时,错误就消失了。

答案 2 :(得分:2)

我有同样的问题,我的BundleId在FB和我的项目中都是正确的。

检查您的FB应用是否已在设置中启用 - > Facebook的。我被禁用(即使我不记得禁用它),一旦我启用它,它就被修复了。

在我的测试过程中,我已经从我的iPhone帐户中添加并删除了我的FB应用程序几次,该帐户与我的iPhone相关联。它可以解释为什么,神奇地,我的应用程序被禁用。