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

dex*_*xtr 6 authorization facebook ios

我有什么,发生了什么问题:

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

流量无效:

如果我在第一个应用程序中使用App ID/API Key,我会打开我的应用程序并尝试登录.Facebook SDK打开本机FB应用程序并向我显示该屏幕在此输入图像描述

我按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}
Run Code Online (Sandbox Code Playgroud)

有效流程:

如果我从第二个(测试)应用程序使用App ID/API Key,我打开我的应用程序并尝试登录.Facebook SDK打开本机FB应用程序并向我显示该屏幕在此输入图像描述

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

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

如果有人有这样的问题,请帮忙.非常感谢.

小智 16

我解决了这个问题.

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

  1. 项目的包标识符.
  2. 在您的FB a/c中,名为"iOS Bundle ID:"的文件名为Native iOS App.
  3. AppDelegate.m中的通知字符串值

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

  • `FBSessionStateChangedNotification`是你自己代码中的一个变量,对吗?那为什么重要呢? (2认同)