2012-12-05 21 views
5

मैं नवीनतम फेसबुक आईओएस एसडीके, 3.1.1 का उपयोग कर रहा हूं। मैं उपयोगकर्ताओं को फेसबुक से हमारे ऐप को "डिस्कनेक्ट" करने का विकल्प देना चाहता हूं। मैं फोन कर रहा हूँ:आईओएस 6 पर ऐप से फेसबुक को डिस्कनेक्ट करना?

[[FBSession activeSession] closeAndClearTokenInformation]; 

ठीक से काम करने लगता है यही कारण है, लेकिन अगली बार मैं

[FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:handler]; 

इसे तुरंत मुझे एक टोकन देता है कहते हैं, फिर से प्रवेश करने के लिए उपयोगकर्ता से पूछे बिना। मैं उम्मीद करता हूं कि यह उपयोगकर्ता को प्रमाणीकृत करने के लिए फिर से पूछेगा। यदि डिवाइस पर कोई फेसबुक खाता सेट अप नहीं है, तो यह ठीक काम करता है, क्योंकि यह वेब ब्राउज़र खोलता है जहां यह उपयोगकर्ता को बताता है कि वे पहले से ही ऐप को प्रमाणित कर चुके हैं और 'ठीक है' बटन दिखाते हैं। लेकिन अगर यह स्थापित किया गया है, तो यह चुपचाप टोकन को फिर से प्राप्त करता है और इसलिए उपयोगकर्ता के "डिस्कनेक्टिंग" ऐप का कोई प्रभाव नहीं पड़ता है।

क्या किसी और को यह समस्या है, और आप इसे कैसे प्रबंधित कर रहे हैं?

उत्तर

2

यह फिर से नहीं पूछता है क्योंकि आईओएस एसडीके ने फेसबुक एसडीके को एक वैध पहुंच टोकन दिया है। यह ठीक है कि ऐप्पल ने अपने फेसबुक (और ट्विटर) ढांचे को कैसे डिजाइन किया। इसके बारे में आप कुछ भी नहीं कर सकते हैं। व्यक्तिगत रूप से मुझे लगता है कि यह बहुत अच्छा है। उपयोगकर्ता को केवल एक बार ऐप स्वीकार करने के बाद अपने फोन को बताना होगा।

भी ध्यान रखें कि कैश की गई टोकन की समयावधि समाप्त हो सकता है। वर्तमान में फेसबुक एसडीके उस मामले को पूरी तरह से संभाल नहीं लेता है जहां आईओएस एसडीके इसे एक समाप्त टोकन देता है।

यदि आप परीक्षण करना चाहते हैं तो आप अपने डिवाइस पर फेसबुक खाता हटा सकते हैं और इसे फिर से जोड़ सकते हैं। यह कैश किए गए टोकन को साफ़ करना चाहिए।

+0

धन्यवाद, यह जिस तरह से हम हमारे अनुप्रयोग में चीजों को सेट अप के विपरीत हो जाता है, लेकिन मुझे लगता है कि यह कोई मतलब है। – igalic

+0

ब्याज से, आप हमेशा पूछने के बारे में क्यों परवाह करते हैं? इससे क्या फर्क पड़ता है? – mattjgalloway

+0

क्षमा करें mattjgalloway, मैंने आपकी टिप्पणी नहीं देखी। इसका कारण यह है कि जब उपयोगकर्ता इसका उपयोग शुरू करते हैं तो ऐप को अनुमति देने में संकोच हो सकता है। शायद वे चीजों को आजमाएं, फेसबुक एक्शन ट्रिगर करें, लेकिन फिर एक्सेस से इनकार करें। बाद में जब वे ऐप का अधिक उपयोग करते हैं और इसे भरोसा करना शुरू करते हैं, तो शायद वे इसे अपने फेसबुक अकाउंट तक पहुंचने की इजाजत देंगे, लेकिन यह फिर कभी नहीं पूछेगा। – igalic

0

का उपयोग करना:

- (void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler; 

साथ FBSessionLoginBehaviorForcingWebView के रूप में व्यवहार मेरी समस्या हल। यह लॉगिन मोडल बॉक्स खोलता है और उपयोगकर्ता कुकीज़ भूल जाता है।

+0

धन्यवाद, लेकिन दुर्भाग्य से इसका मतलब है कि आपको अंतर्निहित फेसबुक खाते को पूरी तरह से छोड़ना होगा, जिसे मैं टालना चाहता हूं। इस बीच, हमने बस 'लॉग आउट' बटन छोड़ने का फैसला किया। यदि आप चाहते हैं, तो आप इसे हमेशा सिस्टम सेटिंग्स से कर सकते हैं। – igalic

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

  • कोई संबंधित समस्या नहीं^_^