2015-03-31 22 views
26

, ama sadece görünüm kumandam içinde FBSDKLoginButton örneği olması ve uygulanmasıFacebook SDK 4.0 IOS Swift Günlüğü ben dışarı kullanıcıyı giriş yapmanız benim uygulamada bazı durumlarda

FBSDKLoginButtonDelegate 

kullanılarak programlı bir kullanıcı
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) 

Ben nasıl kullanılacağını bilmiyorum (Facebook oturumunu yok) dışarı kullanıcıyı giriş yaptıktan sonra giriş görünümünü pop istiyorum

FBSDKLoginManager.logOut(<#FBSDKLoginManager#>) 

bi'şey UIViewController içinde çalışmadan ve bir çıkış

cevap

64

Tamam aracılığıyla FBSDKLoginButton başvuran, burada herkes için bir şey yardıma ihtiyacı olduğunu. Ben FBSDKLoginManager örneği

Görünüşe

ve belgeli olup olmadığını bilmiyorum kullanarak kullanıcılarımı oturumu kapatmayı başardı ya da değil FBSDKLoginManager

FBSDKAccessToken.currentAccessToken() 

yüzden

let loginManager = FBSDKLoginManager() 
loginManager.logOut() // this is an instance function 

Günlükleri saatler Kullanıcı out out, ben logOut yanlış bir şey olduğunu bir sınıf işlevi değil.

Birisine yardım etmesini umuyorum!

+0

Kullanılması Bir tabbar denetleyicisinden bu arama ve yani kontrolörün içinde Girişimle benim rootview kontrolöre dönüyorum. Bu oturum açma denetleyicisine döndüğümde, "kullanıcı oturumu kapattı" günlüğünü görüyorum, bu yüzden oturum kapatıldı ancak işlev giriş yaptım didCompleteWithResult. Bir fikrin neden? – user2363025

+0

Oturumunuzun loginViewController içinde viewDidAppear içinde oturum açma işlevini çağırmadığınızdan emin olun, bu didCompeleteWithResultult bloğu yalnızca oturum açma eylemi tetiklendiğinde çağrılmalıdır! Bu kod burada –

+0

kodunu yapıştırmaya yardımcı olmadıysa, bu denetleyici için bir görünümde kodum yok. Sohbete geçebilir miyiz? – user2363025

11

aynı mı ama Objective-C:

[[[FBSDKLoginManager alloc] init] logOut];

ithalatı unutmayın: Eğer Ayrıştırmakullandıysanız, aynı zamanda FBSDKCoreKit/FBSDKCoreKit.h & FBSDKLoginKit/FBSDKLoginKit.h

+0

Bu biraz çirkin değil mi? – Ricardo

+0

Oturum açma logOut'ta daha sonra aramak için LoginManager'ı tutmak için geçici bir değişken ekleyebilirsiniz. Ama sadece çıkış yapmak istiyorsam en kısa yol bu. Benim görüşüme göre LoginManager'ın bir singleton sınıfı olarak uygulanması gerekiyor (çünkü sonunda bu şekilde çalışıyor) ve [[FBSDKLoginManager shared instance] logOut] 'u çağır. –

1

ve Facebook iOS SDK version> = 4.4.0 üye olmak veya Facebook aracılığıyla bir kullanıcı girişi yapmak için, lütfen bunun yerine kullanın:

PFUser.logOut() 

O Ayrıştırma arka uç tarafında oturumu silme kullanıcı oturumunu olacaktır (sizin Ayrıştırma uygulama ayarlarında aracılığıyla enable Parse revocable session unutmayın), artı bir de Facebook silecektir kullanıcı aygıtının diskinde yazılı oturum.

Bu cevabın size yardımcı olacağını umuyorum. Benim gibi tembel olanlar için

27

Swifty ve basit bir cevabı :

Swift 3 için
FBSDKLoginManager().logOut() 
+2

Sorun şu ki, eğer kullanıcı Facebook ile tekrar giriş yapmaya çalıştığında, "Daha önce {Uygulama Adı} 'nı yetkilendirdiniz" diyeceksiniz. Kullanıcı Facebook'tan nasıl çıkıp hesapları değiştirebilir? – MarksCode

+0

@MarksCode. https://stackoverflow.com/questions/36368510/how-to-logout-user-using-facebook-authentication-using-swift-and-ios – Jeff

İlgili konular