Ios Facebook不会登录一个特定帐户

Ios Facebook不会登录一个特定帐户,ios,facebook,Ios,Facebook,我们最近实现了Facebook SDK。对于我们的所有团队和测试人员,他们可以无问题登录;但是对于一个团队成员来说,它总是给出一个“用户取消了登录错误”-我在西海岸,他在东海岸,所以我无法调试它,这对我没有帮助-但是我通过TestFlight有以下错误打印输出 2013-06-27 20:33:27 FaceBookFirstTimeLogin取消的错误:错误 Domain=com.facebook.sdk Code=2“该操作无法完成 (com.facebook.sdk错误2。)“UserIn

我们最近实现了Facebook SDK。对于我们的所有团队和测试人员,他们可以无问题登录;但是对于一个团队成员来说,它总是给出一个“用户取消了登录错误”-我在西海岸,他在东海岸,所以我无法调试它,这对我没有帮助-但是我通过TestFlight有以下错误打印输出

2013-06-27 20:33:27 FaceBookFirstTimeLogin取消的错误:错误 Domain=com.facebook.sdk Code=2“该操作无法完成

(com.facebook.sdk错误2。)“UserInfo=0x1e5d3790

{com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginCancelled, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7“Facebook服务器无法满足此访问请求: 服务暂时不可用“UserInfo=0x1f0761c0 {NSLocalizedDescription=Facebook服务器无法完成此任务 访问请求:服务暂时不可用}, com.facebook.sdk:ErrorSessionKey=, expirationDate:(null)、refreshDate:(null)、attemptedRefreshDate: 0001-12-30 00:00:00+0000,权限:(空)>}

2013-06-27 20:33:35错误域=com.facebook.sdk代码=5 无法完成操作。(com.facebook.sdk错误5.)

UserInfo=0x1e5c2190{com.facebook.sdk:ParsedJSONResponseKey={body= {error={code=2500;message=“必须使用活动访问令牌 用于查询有关当前用户类型的信息= OAutheException;};};代码=400;}, com.facebook.sdk:HTTPStatusCode=400}2013-06-27 20:33:35意外 错误:error Domain=com.facebook.sdk Code=5“无法执行该操作 已完成。(com.facebook.sdk错误5。)“UserInfo=0x1e5c2190 {com.facebook.sdk:ParsedJSONResponseKey={body={error={code= 2500;message=“查询时必须使用活动访问令牌 关于当前用户的信息。“type=OAutheException;};}; code=400;},com.facebook.sdk:HTTPStatusCode=400}

2013-06-27 20:33:44试飞:课程结束


我最近在我正在开发的一个应用程序中看到com.facebook.sdk error 2消息,结果对我来说,问题是用户在没有意识到的情况下拒绝facebook访问我们的应用程序。让您的用户进入设置->Facebook,查看您的应用是否在列表中,并确保开关已打开。

我们遇到了一些问题:每个人都可以登录–只有一个用户例外,当他想通过内置在iOS 6中的Facebook登录对话框登录时,收到以下错误消息:

无法完成该操作。(com.facebook.sdk错误2.
FBErrorCategoryUserCancelled

当我们无法找出系统登录被取消的原因(
SystemLoginCancelled
)和
Facebook服务器无法满足此访问请求时,我们决定通过iOS 6本机身份验证,改用快速应用程序切换。
绕过iOS 6本机身份验证可以通过使用
FBSession
的类方法(不幸被弃用)来完成

+ (BOOL)openActiveSessionWithPermissions:(NSArray*)permissions
                            allowLoginUI:(BOOL)allowLoginUI
                       completionHandler:(FBSessionStateHandler)handler;
此方法调用

+ (BOOL)openActiveSessionWithPermissions:(NSArray*)permissions
                            allowLoginUI:(BOOL)allowLoginUI
                      allowSystemAccount:(BOOL)allowSystemAccount
                                  isRead:(BOOL)isRead
                         defaultAudience:(FBSessionDefaultAudience)defaultAudience
                       completionHandler:(FBSessionStateHandler)handler;
将第三个参数(
allowSystemAccount
)设置为
NO
,这会导致应用程序退回到快速应用程序切换

当用户尝试再次登录时,出现以下消息:

事实证明,该用户已经关闭了平台应用程序,这使得我们的应用程序无法集成Facebook。平台应用程序重新打开后,登录终于开始工作


在Facebook中,您可以打开平台应用程序,方法是转到您的
隐私设置
,然后从主菜单中选择
应用程序
。现在,您可以单击
Edit
以显示一个按钮,该按钮显示
打开平台

平台可能就是这种情况,或者用户可能没有接受邀请。虽然通过Facebook应用程序和浏览器登录可以正常工作,但这一点不起作用。他必须转到,转到应用程序并接受邀请。

谢谢肖特-我让他在以前的版本中这样做,但它没有显示facebook设置中列出的应用程序。我要请他再检查一次,因为我以前没有启用日志记录功能,我要再次确认。iOS6集成出现问题的另一个可能原因(这里可能不是问题)如果用户更改了他们的FB密码,但在他们的iphone设置中仍然保留了旧密码。我们仔细检查了一下-这不是问题所在-应用程序根本不会显示在他的Facebook设置页面中。很抱歉,这是我唯一的想法。谢谢让我看看我们是否也是这样。我一直在重构我的facebook代码,发现通过查看error.fberrowshouldnotifyuser和error.fberrousermessage等,我得到了更好的错误报告-您查看了该错误消息,它有帮助吗?是的,我们检查了
fberrorShouldNotifyUser
fberrousermessage
,但是结果完全没有用:Facebook告诉我们不要通知用户(
fErrorShouldNotifyUser
was
NO
),因此没有提供用户消息(
fErrorUserMessage
was
nil
)。我们确认这就是问题所在!
userInfo
提供了更多信息,但目前我有一个一般性错误,并将此列为一种可能性
UserInfo={com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginDisallowedWithoutError,com.facebook.sdk:ErrorSessionKey=}
回答得好!我收到了一个稍微不同的错误(error Domain=com.apple.accounts Code=7“Facebook服务器无法满足此访问请求:服务暂时不可用”),但问题是相同的:用户应用程序设置页面中没有启用任何应用程序。