2011-02-08 9 views
5

पर एक कॉलबैक नहीं मिल रहा ऐप्लिकेशन के अंतर्गत खरीदी तरह सेट करें जिससे जब खरीदें बटन पर एक उपयोगकर्ता क्लिक करता है, एक "कृपया प्रतीक्षा करें" दृश्य दिखाई देता है और भुगतान कतार में भुगतान कहते है। यह हमेशा कतार के पर्यवेक्षक के तत्काल कॉलबैक का कारण बनता है कि लेनदेन "खरीद" राज्य में प्रवेश करता है।SKPaymentTransactionObserver एप्लिकेशन स्विच

मेरे समस्या होता है से पहले की पुष्टि करें संवाद खरीद करने के लिए पॉप अप होता है जब उपयोगकर्ता मुख्य स्क्रीन पर लौट आता है, तो रोक देता है। यदि मैं एप्लिकेशन पर वापस स्विच करने से पहले कुछ समय तक मुख्य स्क्रीन पर प्रतीक्षा करता हूं, तो एप्लिकेशन को लेनदेन स्विचिंग स्थिति या हटाए जाने के बारे में कभी भी कोई कॉलबैक नहीं मिलता है। यदि मैं भुगतान कतार की जांच करता हूं, तो मैं देख सकता हूं कि लेनदेन अभी भी कतार में है, फिर भी "खरीदारी" स्थिति में। क्या ऐसा कुछ भी है जो मैं इसे वापस कॉल करने के लिए कर सकता हूं और इसे फिर से शुरू करने के बाद कतार से हटा सकता हूं?

+0

एक ही समस्या है ... क्या आपको इसे हल करने का कोई तरीका मिला है? – nico

उत्तर

5

तो मैं समझ गया अपनी स्थिति को सही ढंग से, तो आप इस समस्या आई थी:

In App Purchase user cancels tx while app in background: tx state stays on purchasing

यह एप्पल के स्टोर किट में एक बग प्रतीत होता है। यदि आप खरीदारी शुरू करने के बाद अपने ऐप को पृष्ठभूमि में सीधे भेजते हैं और फिर पुष्टिकरण पॉपअप को संकेत मिलने पर रद्द बटन दबाते हैं तो समस्या को आसानी से पुन: उत्पन्न किया जा सकता है। आपका ऐप कभी लेनदेन विफल नहीं हुआ (रद्द) अधिसूचना प्राप्त करेगा और एक अवरुद्ध स्थिति दर्ज करेगा (यदि आपने यूआई को निष्क्रिय करने तक उपयोगकर्ता को ऐप से बातचीत करने से रोकने की कोशिश की है)।

हम एप्पल से एक सुधार के लिए इंतजार करना पड़ता है। इस बीच, यदि आपका ऐप अवरुद्ध स्थिति में प्रवेश कर रहा है क्योंकि आप खरीदारी करते समय यूआई को अक्षम करते हैं; आपको उपयोगकर्ता को उस राज्य को छोड़ने की अनुमति देने के लिए कुछ तंत्र लागू करना चाहिए।

गुड लक!

+0

अच्छा, धन्यवाद। कम से कम मैं अकेला नहीं हूँ। –

0

मैं एक ही समस्या है, हालांकि, मैं केवल जब एक sandbox डालें, खाते का उपयोग कर यह पुन: पेश करने में कामयाब रहे।

किसी को भी कोई वास्तविक सेब खाते का उपयोग कर यह पुन: पेश करने में कामयाब रहे है?

मैंने अभी तक यह कोशिश नहीं की है, लेकिन मैं अपने एसकेपेमेंट ट्रान्सएक्शन ओब्सर्वर को हटाने के बारे में सोच रहा हूं, जिस दिन ऐप फोकस खो देता है, और जब इसे सक्रिय हो जाता है तो इसे फिर से जोड़ना।

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

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