これは何よりも有益です。 iOSアプリをデバッグするときにログインプロンプト(別名safari)にアクセスしようとすると、エラーコード8で何も見つかりませんでした。アプリでFacebookにログインボタンを押した後、サファリを開き、アプリのログインページにダンプします。このエラーは、権限の配列が原因でした。明らかにエラーを投げていた許可「public_profile」のスペルが「public profile」でした。そのため、com.facebook.sdk.coreエラー8が発生した場合は、許可がタイプ修正されていることを確認してください。
それが誰かを助けることを願っています。
許可が正しく入力されていることを確認してください
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.
}
}
私の場合、Facebookアプリのadmins/developers/testersロールのいずれにもまだ追加されていないFacebookアカウントを使用していました。
私の場合、このエラーは、アプリ自体のFacebook設定で設定された不適切なバンドルIDが原因で発生しました。 Facebookの「バンドルID」では大文字と小文字が区別されます。Info.plistでは製品名は大文字でしたが、fb設定では小文字です。
私の場合、数時間のデバッグを行った後、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
}
それは私のために働いた。これが誰かの時間を節約することを願っています。
おとこ!!!私の場合、このエラーの原因となったパラメーターの「バイオ」でした。 Facebookは「bio」キーを「about」に変更しました。したがって、パラメータで「bio」を使用する場合は、「about」に変更する必要があります
うわぁ!!!
私の場合、バージョンが間違っていました。 バージョン: "v2.7"の代わりに、バージョン: "2.7"を使用しました
私の場合は、fields配列にname
を2回リストしたためです。 2回要求されたフィールドに適用されると仮定します。
私の場合、FacebookにログインせずにFacebook IDを取得しようとしました。 Facebookにログインしていることを確認してください。
let accessToken = FBSDKAccessToken.current()
if accessToken != nil {
self.getCurrentUserFbId()
print("LoggedIn")
} else {
print("Not loggedIn")
self.loginIntoFacebook()
}
これが誰にとっても役立つことを願っています。
私の場合、誕生日、友人リストが原因でした。それらを削除すると動作し始めました。
偶然にも、Facebookのアクセストークンの有効期限が切れていることがわかりました。誰かがUserDefaults
にアクセストークンを保存し、後で再利用することにしました。もちろん、2か月以上経過したすべてのトークンは期限切れになりました。
私の場合、Facebook Ads APIで遊んでいて、フィールドを取得しようとしましたが、名前が間違っていました。
洞察力{date_start、date_stop}の代わりに、洞察力{date_start、date_end}がありました。
詳細 こちら 。
それが誰にも役立つことを願っています。
私の場合、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" = {body = {error = {code = 2500; "fbtrace_id" = AFEUYbcYP39; message = "文字5の構文エラー\"\"%\"ではなく、文字列の終わりが予想されます。 ":email%2Cname%2Cgender%2Cpicture";タイプ= OAuthException; }; };コード= 400; };
それに関する問題は https://github.com/facebook/facebook-Swift-sdk/issues/309
同じ問題がありました。それは、Facebookのログイン機能を実装していなかったためです。それを追加した後、ログインして問題が解決しました。