2012-09-27 40 views
11

में ट्विटर अकाउंट अलर्ट में नहीं दिखाना चाहिए, मैं उपयोगकर्ता के ट्विटर खाते (खातों) तक पहुंचने के लिए TWTweetComposeViewController का उपयोग कर रहा हूं, जिसे उसने सेटिंग्स -> ट्विटर में जोड़ा है। जब अनुप्रयोग एक चहचहाना खाते का उपयोग करने का प्रयास करता है, यह संदेश इस के समान के साथ एक चेतावनी presente चाहिए:"[ऐप]" आईओएस 6

"[AppName] Would Like Access to Twitter Accounts" 

जो या तो आप "की अनुमति न दें" या "ठीक है" टैप कर सकते हैं करने के लिए। मुझे लगता है कि यह ओएस द्वारा प्रदर्शित एक चेतावनी है, क्योंकि "ठीक" टैप करने से वास्तव में ट्विटर तक पहुंच सक्षम हो जाती है।

उपरोक्त अलर्ट प्रदर्शित होता है जब मैं इसे आईओएस 5.x डिवाइस पर परीक्षण करता हूं, लेकिन ऐसा नहीं होता है जब मैं इसे आईओएस 6 डिवाइस पर परीक्षण करता हूं। मैं उम्मीद चेतावनी प्रस्तुत करने के लिए किया जा जब मैं निम्नलिखित संदेश भेजते हैं, और मैं अभी तक सेटिंग में ट्विटर पर मेरे ऐप पहुँच प्राप्त नहीं किया है:

[TWTweetComposeViewController canSendTweet] 

के रूप में वर्णित है, यह नहीं होता है। क्या किसी को पता है कि यह आईओएस 6 में एक ज्ञात बग है? मैं एसओ पर कोई भी पोस्ट नहीं ढूंढ पा रहा हूं और क्योंकि मुझे अलग-अलग व्यवहार का कोई अन्य कारण नहीं मिल रहा है, मुझे विश्वास है कि यह एक बग है। आईओएस 5.1 के साथ आईओएस 6,0

अद्यतन

मैं उपयोग के साथ

  • iPhone 4
  • iPhone 4:

    FYI करें, मैं इस के बाद दो उपकरणों पर परीक्षण कर रहा हूँ DETweetComposeViewController, जो आईओएस 5 के लिए निम्नलिखित तरीके से जांचता है:

    + (BOOL)de_isIOS5 
    { 
        return (NSClassFromString(@"NSJSONSerialization") != nil); 
    } 
    

    लेकिन चूंकि NSJSONSerialization क्लास को आईओएस 6 में भी दर्शाया गया है, इसलिए यह कारण नहीं होना चाहिए।

उत्तर

30

मैं इस बात को आईओएस 5.1 बनाम आईओएस 6.0 पर पूरे दिन सॉर्ट कर रहा हूं।

जब तक सेटिंग्स में एक ट्विटर खाता कॉन्फ़िगर किया गया है, तब तक मेरा ऐप अब आईओएस 6.0 में ट्विटर एक्सेस अनुमति मांगता है, बस TWTweetComposeViewController प्रदर्शित करने के लिए। मैंने Settings > Privacy > Twitter में अपने ऐप के लिए मैन्युअल रूप से ट्विटर एक्सेस को बंद करके इसे सत्यापित कर लिया है। एक्सेस ऑफ के साथ, मुझे TWRequest का उपयोग करके दोस्ती बनाने की क्षमता से ठीक से इनकार कर दिया गया है, लेकिन अभी भी TWTweetComposeViewController पॉप अप कर सकता है। जब तक मैं इसे एक्सेस नहीं करता तब तक मुझे हर बार आईओएस 5.1 में एक संकेत मिलता है।

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

No Twitter Accounts 
There are no Twitter accounts 
configured. You can add or create 
a Twitter account in Settings. 

:

कोई ट्विटर खातों अभी तक कॉन्फ़िगर रहे हैं, तो TWTweetComposeViewController यद्यपि इस संदेश के साथ संकेत देगा।

इस पर एक sidenote: आईओएस 6 पहली बार एप अनुरोधों के अनुरोध के लिए "[AppName] Would Like Access to Twitter Accounts" संदेश के साथ संकेत देता है।

इसके बाद आपको पूछे जाने वाले प्रश्न प्राप्त करने के लिए Settings > General > Reset > Reset Location & Privacy रीसेट करना होगा।यहां तक ​​कि यदि आप किसी ऐप को हटा और पुनर्स्थापित/पुनर्निर्माण करते हैं, तो "पहले से पूछा गया" सेटिंग बनी रहती है। आप Settings > Privacy में मैन्युअल रूप से एक्सेस सक्षम कर सकते हैं, लेकिन रीसेट को फिर से चलाने के लिए संकेत प्राप्त करने का एकमात्र तरीका है (यदि यह आपके परीक्षण के लिए महत्वपूर्ण है)।

दो अतिरिक्त चीजें जो मुझे मिलीं। [ACAccountStore requestAccessToAccountsWithType:options:completion:] के पूरा होने के ब्लॉक, अगर granted == NO में:

  1. तो [error code] == 6, अपने उपयोगकर्ता कोई भी खाता नहीं परिभाषित है।
  2. यदि error == nil, तो आपके उपयोगकर्ता ने अभी या आपके पहले ऐप के लिए प्रवेश अस्वीकार कर दिया है। यदि यह पहले हुआ था, तो स्क्रीन पर प्रदर्शित कोई भी अलर्ट के साथ अनुरोध को चुपचाप अनदेखा किया जाता है, न कि "अनुमति न दें" बटन टैप करने के लिए।
+0

उत्तर के लिए बहुत बहुत धन्यवाद। मैंने हाल ही में पाया है कि TWTweetComposeViewController को आईओएस 6 के रूप में बहिष्कृत किया गया है और इसके बजाय ऐप्पल चाहता है कि हम SLComposeViewController का उपयोग करें। मैं परीक्षण करूंगा कि यह SLComposeVC के साथ एक ही मामला है और परिणाम पोस्ट करें। –

+0

मैं सिम्युलेटर में आईओएस 6 के साथ परीक्षण कर रहा हूं और कभी भी "[ऐपनाम] ट्विटर खातों तक पहुंच पसंद नहीं करूंगा" संदेश - यह केवल अनुमति के लिए संकेत दिए बिना भेजता है। बहुत अजीब। अभी तक किसी डिवाइस पर कोशिश नहीं की है। –

+0

मैं अनुशंसा करता हूं कि आप इसे किसी डिवाइस पर आज़माएं! – Ahsan

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