我有什么以及发生了什么问题:
- 我有一个带有游戏应用程序的 Facebook 帐户(每天都有人在玩)
- 我还有一个带有测试应用程序的 Facebook 帐户,是最近使用默认设置创建的。
- 我的 iPod 上有原生 Facebook 应用程序
- 我正在开发使用 Facebook iOS SDK 的 iOS 应用程序。
无效流:
如果我使用第一个应用程序的 App ID/API key ,我会打开我的应用程序并尝试登录。 Facebook SDK 打开 native FB 应用程序并显示该屏幕
我按 OK 并返回到我的 iOS,出现这样的错误并且没有访问 token :
(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 打开 native FB 应用程序并显示该屏幕
我按确定并使用有效的访问 token 返回到我的 iOS。
应用程序的设置相同,我没有看到任何差异。如果我有 native Facebook 应用程序,就会出现此问题。如果我没有,Facebook SDK 打开浏览器并使用第一个和第二个 App ID 授权成功。
如果有人有这样的问题,请帮助。非常感谢。
最佳答案
我解决了这个问题。
实际上,在这里和那里进行更改后,我发现我的包 ID 不匹配。我在以下 3 个地方保持了相同的包 ID,并且它起作用了:
- 您项目的包标识符。
- 在您的 FB a/c 中,名为“iOS Bundle ID:”的文件位于 Native iOS App 标题下。
- AppDelegate.m 中的通知字符串值
NSString *const FBSessionStateChangedNotification = @"yourbundleid:FBSessionStateChangedNotification";
关于ios - 无法使用 iOS SDK 和 native Facebook 应用程序向 Facebook 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985502/