मैं एक webservice को कॉल करने के लिए अलामोफ़ीयर का उपयोग कर रहा हूं जो लोड करने में काफी लंबा समय लेता है। यदि ऐप पृष्ठभूमि में जाता है तो मैं ऐप पर वापस आने पर अपने लोडर से फंस जाता हूं। मुझे कल्पना है कि ऐसा इसलिए है क्योंकि कॉल मेरे पूरा होने वाले हैंडलर को कभी भी कुछ नहीं देता है। मैं इस समस्या को कैसे हल कर सकता हूं?पृष्ठभूमि में प्रवेश करते समय अलामोफ़ीयर अनुरोध अटक गया?
उत्तर
आप इस समस्या को हल करने के लिए पृष्ठभूमि लाने का उपयोग कर सकते हैं। इसे स्विफ्ट 3:
var backgroundTask: UIBackgroundTaskIdentifier? // global variable
backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "backgroundTask") {
// Cleanup code should be written here so that you won't see the loader
UIApplication.shared.endBackgroundTask(self.backgroundTask!)
self.backgroundTask = UIBackgroundTaskInvalid
}
इस लाइन के बाद अपनी अलामोफ़ीयर सेवा पर कॉल करें। पूरा करने वाले हैंडलर में, नीचे दी गई रेखाओं का उपयोग करके कार्य को समाप्त करें।
UIApplication.shared.endBackgroundTask(self.backgroundTask!)
self.backgroundTask = UIBackgroundTaskInvalid
कृपया ध्यान दें एप्लिकेशन कुछ पृष्ठभूमि समय (backgroundTimeRemaining
संपत्ति) शेष होने से पहले ही निष्क्रिय राज्य में प्रवेश करती है। आपको उस समय से पहले अपना काम करना होगा। शेष पृष्ठभूमि समय शून्य तक पहुंचने से पहले ही हैंडलर को बुलाया जाता है। साथ ही, विधि beginBackgroundTask(withName:){}
पर प्रत्येक कॉल को endBackgroundTask:
विधि पर मिलान करने वाली कॉल द्वारा संतुलित किया जाना चाहिए।
ऊपर दिए गए कोड को बनाने के लिए, आपको अपने ऐप में सेटिंग्स समायोजित करने की आवश्यकता है। "लक्ष्य" में जाओ और निम्नलिखित बनाने के लिए "क्षमताओं" पर क्लिक करें बदलता है
उसके बाद, अपनी Info.plist फाइल करने के लिए जाना है, और इसे खोलने के रूप में स्रोत निम्नलिखित कोड जोड़ने के लिए।
मुझे आशा है कि यह आप में मदद करता है। आप अधिक विस्तृत जानकारी की जरूरत है, इन कड़ियों मदद कर सकता है
- 1. पृष्ठभूमि में प्रवेश करते समय स्प्राइटकिट क्रैश
- 2. पृष्ठभूमि में प्रवेश करते समय MPMoviePlayerViewController काला हो जाता है
- 3. ऐप स्टोर पर अपलोड करते समय प्रमाणीकरण पर अटक गया
- 4. एवीकैप्चर पूर्वावलोकन फोन को अनलॉक करते समय फ्रीज/अटक गया
- 5. कुकीज़ के साथ अलामोफ़ीयर अनुरोध
- 6. अलामोफ़ीयर
- 7. प्रवासन कार्य अटक गया।
- 8. 100% सीपीयू का उपयोग करते हुए सब्लिमेटेक्स्ट 3, "प्रसंस्करण करते समय अटक गया"
- 9. अलामोफ़ीयर
- 10. आईओएस: पृष्ठभूमि में प्रवेश करते समय एक कार्य को खत्म करना
- 11. आईओएस मल्टीटास्किंग में पृष्ठभूमि दर्ज करते समय धागे का व्यवहार
- 12. इकाई फ्रेमवर्क संदर्भ - मैं अटक गया हूँ!
- 13. स्विफ्ट करने के लिए माइग्रेट करते समय एक्सकोडिंग पूर्वावलोकन पर अटक गया एक्सकोड 3
- 14. हटाने के दौरान अटक गया nodetool removenode
- 15. एक अटक गया साफ़ करें: होवर psuedoclass
- 16. कैमरे मोड में UIImagePickerController शटर बंद के साथ 'अटक गया'
- 17. अलामोफ़ीयर 4 यूआरएल JSON
- 18. वेबलॉगिक और ओरेकल: अटक गया निष्पादन
- 19. अलामोफ़ीयर अनुरोध के लिए एकाधिक कॉल, प्रत्येक कॉल
- 20. बड़ी पृष्ठभूमि छवि लोड करते समय OutOfMemory
- 21. एक एमवीसी अनुप्रयोग में माइक्रोसॉफ्ट.Web.WebPages.OAuth.OAuthWebSecurity का उपयोग करके अटक गया
- 22. लैरवेल इंस्टालर - क्राफ्टिंग एप्लिकेशन पर अटक गया
- 23. "अनुरोध का समय समाप्त हो गया।" डीबग = "झूठी" सेटिंग करते समय त्रुटि
- 24. java.net पर अटक गया। सॉकेटइनपुटस्ट्रीम.socketRead0 (मूल विधि)
- 25. जावा में साइन लहर उत्पन्न करते समय पृष्ठभूमि में शोर
- 26. डी 3 माउसओवर संक्रमण "अटक गया"
- 27. एंड्रॉइड में टुकड़े एनिमेट करते समय सफेद पृष्ठभूमि
- 28. एनपीएम इंस्टॉल करते समय अनुरोध दिखाएं
- 29. एंड्रॉइड बिल्ड - एंड्रॉइड बूट लोगो पर अटक गया एमुलेटर
- 30. अजाक्स अनुरोध पर "व्यस्त" राज्य में प्रवेश करने वाले ब्रोर्स
http://stackoverflow.com/questions/34328678/web-service-call-in-background-mode -यो – Sofeda
http://redth.codes/ios7-recipe-background-fetching/ – Sofeda
ये आपकी मदद कर सकते हैं – Sofeda