2015-05-13 9 views
8

मैंने स्विफ्ट और स्टोरीबोर्ड का उपयोग करके एक्सकोड पर आईओएस ऐप पर काम करना शुरू कर दिया है। मुझे एक आवश्यकता है जहां एक बटन पर क्लिक करने पर मैं स्क्रीन पर उपयोगकर्ता की फेसबुक प्रोफाइल जानकारी दिखाऊंगा (केवल तभी जब उपयोगकर्ता फेसबुक का उपयोग कर साइन इन हो), लेकिन यदि वह साइन इन नहीं है तो वह स्वचालित रूप से लॉगिन स्क्रीन पर और सफल लॉगिन पर जायेगा फिर प्रोफ़ाइल दृश्य दिखाया जाएगा।आईओएस: जांचें कि क्या उपयोगकर्ता फेसबुक का उपयोग कर पहले ही लॉग इन है?

मैं यह कैसे कर सकता हूं?

उत्तर

18

आप फेसबुक लॉग इन एसडीके का उपयोग कर रहे हैं, तो फोन

FBSDKAccessToken.currentAccessToken() 

यह नहीं के बराबर नहीं हो सकता है अगर उपयोगकर्ता के प्रवेश।

https://developers.facebook.com/docs/facebook-login/ios/v2.3#token

+2

उन्होंने स्विफ्ट के लिए पूछा, जो 'FBSDKAccessToken.currentAccessToken() 'होगा। –

+0

इस जानकारी के लिए धन्यवाद। हालांकि, मुझे एक और संदेह है कि अब ऐप शुरू करने के बाद मैं लॉगिन पेज को सीधे पेज पर जाने के लिए कैसे छोड़ सकता हूं। मुझे यकीन है कि यह सुरक्षित के साथ कुछ करने के लिए है, लेकिन मैं थोड़ा उलझन में हूं – hutututu

+0

आपको उस एपडिलेगेट में उस फ़ंक्शन को कॉल करने और उस – chedabob

6
नवीनतम फेसबुक SDK के साथ

, आप कर सकते हैं इस तरह की जाँच करें।

if(FBSDKAccessToken.current() != nil){ 
    // logged in 
}else{ 
    // not logged in 
} 

वे हाल ही में और अधिक सुविधाजनक और मानक कोड स्विफ्ट में आप इस निम्नलिखित कोड का टुकड़ा का उपयोग कर सकते FBSDKAccessToken.current()

+0

को अधिकृत नहीं किया है, यह काम नहीं करना चाहिए। जैसा कि FBSDKAccessToken.current() गैर-शून्य मान लौटा रहा है। रिटर्न प्रकार की जांच करें। इसका एफबीएसडीके एक्सेस टूटे! जो गारंटी देता है कि यह कभी शून्य नहीं हो सकता है। मुझे नहीं पता कि यह कैसे काम कर रहा है, लेकिन यह काम कर रहा है। –

+0

मुझे लगता है कि निम्नलिखित कोड होना चाहिए ... अगर ([FBSDKAccessToken currentAccessToken]! = शून्य) { // में लॉग इन} else { // लॉग इन नहीं} –

0

करने के लिए FBSDKAccessToken.currentAccessToken() से बदल दिया है। बीटीडब्ल्यू मैं स्विफ्ट 2.2 और एक्सकोड 7.3.1 का उपयोग कर रहा हूँ।

if let loggedInUsingFBTokenCheck = FBSDKAccessToken.currentAccessToken(){ 
    //User is already logged-in. Please do your additional code/task. 
}else{ 
    //User is not logged-in. Allow the user for login using FB. 
} 

आप लॉगिन के आधार पर एप्लिकेशन लॉन्च के दौरान विशिष्ट ViewController लोड करने के लिए चाहते हैं, तो देखें कि आपको अपने परियोजना की AppDelegate अंदर इस कोड डालते हैं और अंदर जांच कर सकते हैं -

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
//Check here for login 
} 

धन्यवाद।

संबंधित मुद्दे