Lebih
ios facebook sdk 4.0 login error kode 304
I've hanya diperbarui facebook sdk v4.0
dan sesuai tutorial dari Menggunakan Custom Login UIs
-(IBAction)facebookLoginClick:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
}
}
}];
}
TAPI hasilnya selalu nihil dan kode kesalahan adalah 304, aku kehilangan sesuatu?
64
14
Saya punya masalah yang sama.
Setelah inisialisasi
FBSDKLoginManager
saya menambahkan baris untuk flush data dan (Facebook)Token:Semoga ini bisa membantu.
Dengan demikian, persis seperti OP bertanya, "aku kehilangan sesuatu"?
Ya, standar berikut contoh kode yang terlihat di mana-mana, hanya salah:
anda harus melakukan ini:
Jika tidak, sangat sederhana, aplikasi ini tidak akan bekerja jika user yang terjadi mengubah FB account pada perangkat. (Kecuali jika mereka terjadi untuk beberapa alasan re-menginstal aplikasi!)
Sekali lagi - populer sampel kode di atas hanya tidak bekerja (aplikasi ini berjalan di lingkaran tak berujung) jika pengguna terjadi untuk mengubah account FB.
LogOut
panggilan yang harus dibuat.Hal ini terjadi pada saya ketika saya mengubah Facebook AppID (di Info.plist) pengalihan bentuk tes Facebook app untuk produksi Facebook app. Jika aplikasi anda mengirimkan Facebook token ke server yang menghasilkan JWT untuk misalnya, Facebook SDK masih berlanjut fbToken (
FBSDKAccessToken.currentAccessToken()
) bertahan kecuali's mengatakan untuk menghapusnya. Yang mungkin juga terjadi pada produksi ketika pengguna log out dari aplikasi, log out, permintaan API akan log pengguna keluar dan me-reset JWT. Tetapi bahkan sebelum mengirim log out permintaan API, klien akan perlu untuk memberitahuFBSDKLoginManager
contoh untuk log out.Aku punya ini, itu terjadi ketika mengubah aplikasi FB rincian dalam Xcode sementara sebuah aplikasi iOS berjalan. Anda perlu untuk menghapus aplikasi dari perangkat dan kemudian menerbitkan dengan FB baru aplikasi setup. Hanya recompiling tidak cukup untuk menghapus FB lama pengaturan
Swift 3.0
Anda dapat menggunakan kode berikut untuk memecahkan masalah anda :
Menurut dokumen, 304
FBSDKLoginUserMismatchErrorCode
"Menunjukkan kegagalan untuk permintaan izin baru karena pengguna telah mengubah".Masuk akal dalam skenario @Adrian999 disebutkan.
Swift 4.0 dan FBSDKCoreKit 4.33
swift 4.0, 4.2, 5.0
Sebenarnya, alasannya sangat sederhana, anda dapat mencoba langkah berikut untuk muncul kembali kode kesalahan ini dengan mudah.
"Facebook login gagal" mungkin memiliki dua alasan:
Kode di
FBSDKLoginManager.m
adalah:kapan
currentToken.userID
tidak samaactualID
,FBSDKLoginUserMismatchErrorCode
akan melempar.Sekarang, masalah ini akan muncul ketika pengguna login facebook gagal,tetapi anda tidak memiliki
[FacebookSDKManager logOut]
setelah gagal, aplikasi akan men-cache accessToken untuk pengguna , dan kemudian pengguna mengubah facebook account untuk user B, ketika user B login facebook lagi,ia akan muncul kembali masalah ini.Saya juga terjebak pada masalah ini untuk sementara waktu. kemudian saya buat objek untuk FBSDKLoginManager di .h file dan di viewDidLoad dari .m file , menginisialisasi dan mengatur keluar kamar.
Ini membantu saya dan semoga membantu anda juga. Semua yang terbaik.
Terima kasih
Bagi saya di Objective-C berikut bekerja
dan masalah pengguna mencoba untuk login sebagai user lain seperti yang disarankan oleh @Vineeth Joseph
Single Sign On
I've juga menemukan bahwa masalah ini terjadi jika anda memiliki sebuah aplikasi yang tidak memerlukan single sign on (yaitu sebuah aplikasi yang beberapa pengguna akan membuat konten dan berbagi satu perangkat).
Anda dapat mengubah single sign on dalam pengaturan aplikasi anda https://developers.facebook.com/apps/your-app-id/settings/.
Memeriksa keadaan anda FBSession:
https://developers.facebook.com/docs/reference/ios/3.0/class/FBSession/
304 menunjukkan bahwa tidak ada yang berubah. Mungkin anda entah sudah dikonfirmasi dan sehingga mendapatkan nihil dengan 304 menunjukkan tidak ada yang berubah.