मैं अपने आईफोन ऐप में AsyncUDPSocket तृतीय पक्ष लाइब्रेरी का उपयोग कर रहा हूं और अधिकांश भाग के लिए यह बहुत अच्छा काम करता है। मेरे पास AsyncUDPSocket
का सिंगलटन उदाहरण है जो मैं अपने सभी नेटवर्क यातायात के लिए उपयोग करता हूं। मेरा ऐप पृष्ठभूमि में स्थान ट्रैकिंग के लिए पंजीकृत है और पृष्ठभूमि में चलते समय नेटवर्क पर स्थान अपडेट पैकेट जाग जाएगा और भेज देगा। यह सब smashingly पृष्ठभूमि, अग्रभूमि में चल रहा काम करता है, फोन बंद कर दिया या खुला, को छोड़कर जब मैं निम्न कार्य करें:पृष्ठभूमि में निलंबित आवेदन के साथ फ़ोन लॉक करने के बाद AsyncUDPSocket टूटी हुई पाइप
- मेरी एप्लिकेशन सेटिंग में मेरे ऐप
- अक्षम स्थान ट्रैकिंग शुरू (ताकि कोई पृष्ठभूमि जागने)
- प्रेस घर बटन (एप्लिकेशन पृष्ठभूमि में चला जाता है, सॉकेट एप्लिकेशन के बाकी के साथ "फ्रीज सूखे" है)
- लॉक को फ़ोन
- अनलॉक फोन
- फिर से शुरू एप्लिकेशन
- ट्रैकिंग को पुनरारंभ करने और सॉकेट को कुछ भेजने का प्रयास करें। जैसे ही मैं कोशिश करता हूं, मुझे
SIGPIPE
/EPIPE
त्रुटि मिलती है और ऐप क्रैश हो जाता है।
मैं इस से निपटने के लिए बंद करने और सॉकेट जब भी आवेदन बाहर निकलता है और पृष्ठभूमि ट्रैकिंग सक्षम नहीं है जारी करने के लिए सबसे अच्छा तरीका होगा लगा, लेकिन जब मैं AsyncUDPSocket
पर [socket close]
या [socket release]
कोशिश, मैं विभिन्न EXC_BAD_ACCESS
त्रुटियों मिल । मैंने देव टीम के साथ एक बग दायर किया है, लेकिन यह सोच रहा था कि अगर कोई यहां SIGPIPE
त्रुटि से पूरी तरह से या सॉकेट को जारी किए बिना जीवित रखने के अन्य तरीकों से कुछ विचार दे सकता है। धन्यवाद।