我们最近实施了Facebook SDK。对于我们所有的团队和测试人员,他们可以毫无问题地登录;但对于一个团队成员,它总是给'用户取消登录错误' - 这对我在西海岸并且他在东海岸是没有帮助所以我无法调试它 - 但是我确实有以下通过TestFlight打印出错误...
2013-06-27 20:33:27 facebookFirstTimeLogInUserCanceled错误:错误 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),attemptsRefreshDate: 0001-12-30 00:00:00 +0000,权限:(null)>}
2013-06-27 20:33:35错误Domain = com.facebook.sdk Code = 5“The 操作无法完成。 (com.facebook.sdk错误5.)“
UserInfo = 0x1e5c2190 {com.facebook.sdk:ParsedJSONResponseKey = {body = {error = {code = 2500; message =“必须有一个活动的访问令牌 用于查询有关当前用户的信息。“; type = OAuthException; }; };代码= 400; }, com.facebook.sdk:HTTPStatusCode = 400} 2013-06-27 20:33:35意外 错误:错误Domain = com.facebook.sdk代码= 5“操作不能 完成。 (com.facebook.sdk错误5.)“UserInfo = 0x1e5c2190 {com.facebook.sdk:ParsedJSONResponseKey = {body = {error = {code = 2500; message =“必须使用活动访问令牌进行查询 有关当前用户的信息。“; type = OAuthException;};}; 代码= 400; },com.facebook.sdk:HTTPStatusCode = 400}
2013-06-27 20:33:44 TestFlight:会话结束
答案 0 :(得分:2)
我们确实遇到了一些问题:每个人都可以登录 - 除了一个用户,当他想通过Facebook内置于iOS 6中的登录对话框登录时收到以下错误消息:
The operation couldn’t be completed. (com.facebook.sdk error 2.)
FBErrorCategoryUserCancelled
当我们无法弄清楚为什么系统登录被取消(SystemLoginCancelled
)和The Facebook server could not fulfill this access request
时,我们决定传递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中,您可以转到Privacy Settings
并从主菜单中选择Apps
来启用平台应用程序。现在,您可以点击Edit
以显示一个显示Turn On Platform
的按钮。
答案 1 :(得分:0)
我最近在我正在处理的应用程序中看到com.facebook.sdk错误2消息,结果对我来说,问题是用户在没有意识到的情况下拒绝了facebook访问我们的应用程序。让您的用户进入设置 - > Facebook并查看您的应用是否在列表中,并确保开关已打开。
答案 2 :(得分:0)
平台事件可能就是这种情况,或者用户可能还没有接受邀请。虽然通过Facebook应用程序和浏览器登录工作,但这不是。他必须转到https://developers.facebook.com,转到应用并接受邀请。