这比任何事情都更有用。在调试我的ios应用程序时,当我尝试访问登录提示(aka safari)时,我无法在错误代码8上找到任何内容。在我的应用程序中点击登录到facebook按钮后,它会尝试打开safari,然后将我转回到我的应用程序的登录页面。该错误是由权限数组引起的。我获得了“public_profile”的许可拼写为“公开个人资料”,这显然是一个错误。因此,如果您收到com.facebook.sdk.core错误8,请确保您的权限已更正。
希望能有所帮助。
答案 0 :(得分:9)
确保您的权限输入正确
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if error == nil {
println("login complete")
self.performSegueWithIdentifier("showLogin", sender: self)
}else{
println(error.localizedDescription)
//com.facebook.sdk.core error 8.
}
}
答案 1 :(得分:4)
在我的情况下,此错误是由应用程序本身的Facebook设置中设置的不正确的包ID引起的。 Facebook“捆绑ID”区分大小写,在我的Info.plist中我有大写的产品名称,但在fb设置中 - 小写。
答案 2 :(得分:4)
就我而言,我使用的Facebook帐户尚未添加到任何Facebook应用程序的管理员/开发人员/测试人员角色中。
答案 3 :(得分:3)
就我而言,经过几个小时的调试后,我发现我正在使用API,
func application(application: UIApplication,
openURL url: NSURL, options: [String: AnyObject]) -> Bool {
if #available(iOS 9.0, *) {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: options)
} else {
// Fallback on earlier versions
}
return true
}
对于iOS 9已弃用。因此,我使用了:
func application(application: UIApplication,
openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
return true
}
哪个适合我。希望这可以节省某人的时间。
答案 4 :(得分:3)
MAN !!!在我的情况下,参数中的“bio”导致了此错误。 Facebook已将“生物”键改为“约”。因此,在参数中使用“bio”的任何人都应该将其更改为“about”
Pheww !!!
答案 5 :(得分:2)
在我的情况下这是错误的版本。我使用的是版本:" 2.7"
答案 6 :(得分:1)
在我的情况下,这是因为我在fields数组中列出了name
两次。假设这适用于任何两次请求的字段。
答案 7 :(得分:0)
我遇到了同样的问题。这是因为我没有实现Facebook登录功能。添加之后,我登录后问题解决了。
答案 8 :(得分:0)
在我的情况下,我正在玩Facebook Ads API,我试图获得一个字段,但名称错了。
我有见解{date_start,date_end},而非见解{date_start, date_stop }。
更多信息here。
希望它可以帮助任何人。
答案 9 :(得分:0)
就我而言,我试图在没有登录Facebook的情况下获得Facebook Id。确保你已登录Facebook。
let accessToken = FBSDKAccessToken.current()
if accessToken != nil {
self.getCurrentUserFbId()
print("LoggedIn")
} else {
print("Not loggedIn")
self.loginIntoFacebook()
}
希望这对任何人都有帮助。
答案 10 :(得分:0)
发生在我身上时,我发现Facebook的访问令牌已过期。有人决定将访问令牌存储在UserDefaults
中,以后再使用。当然,所有超过2个月的令牌都已过期。
答案 11 :(得分:0)
在我的情况下,这是因为GraphRequest。
错误响应为
“ com.facebook.sdk:FBSDKErrorDeveloperMessageKey” =“语法错误 \“字符5的预期字符串结尾,而不是\”%\“。\”: email%2Cname%2Cgender%2Cpicture”; “ com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey” = 0; “ com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode” = 2500; “ com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey” = 400; “ com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey” = { 身体= { 错误= { 代码= 2500; “ fbtrace_id” = AFEUYbcYP39; message =“语法错误\”预期的字符串结尾,而不是字符5的\“%\”。\“:email%2Cname%2Cgender%2Cpicture”; 类型= OAuthException; }; }; 代码= 400; };
与此相关的问题是https://github.com/facebook/facebook-swift-sdk/issues/309
答案 12 :(得分:0)
在我的情况下,是因为生日,朋友名单。删除它们开始起作用。
答案 13 :(得分:0)
对我来说,只需要在and activate deep linking平台下使用Facebook开发人员