आईफोन ऐप चैट का उपयोग कर आईएएम सर्वर के साथ संवाद करने के लिए सॉकेट कनेक्शन का उपयोग करता है। जब ऐप पृष्ठभूमि में ले जाया जाता है तो मैं देख सकता हूं कि सर्वर ऐप के साथ लगभग 5 मिनट तक संवाद करने में सक्षम है। लेकिन इस समय के बाद, सॉकेट कनेक्शन नष्ट हो गया है। लेकिन ऐप पृष्ठभूमि में जितनी जल्दी हो सके निष्पादित करना बंद कर देता है। यह क्यों है कि सॉकेट कनेक्शन 5 मिनट तक बनाए रखा जाता है लेकिन ऐप निष्पादन नहीं होता है। क्या सेब सही समय निर्दिष्ट करता है जिसके लिए कनेक्शन बनाए रखा जाएगा।आईओएस ऐप पृष्ठभूमि में जाने के बाद सॉकेट कनेक्शन मारे गए
उत्तर
आप applicationDidEnterBackground में निम्न कोड का इस्तेमाल कर रही का उपयोग करके 600 सेकंड (10 मिनट) की एक अधिकतम समय प्राप्त कर सकते हैं:
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]) { //Check if our iOS version supports multitasking I.E iOS 4
if ([[UIDevice currentDevice] isMultitaskingSupported]) { //Check if device supports mulitasking
UIApplication *application = [UIApplication sharedApplication]; //Get the shared application instance
__block UIBackgroundTaskIdentifier background_task; //Create a task object
background_task = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask: background_task]; //Tell the system that we are done with the tasks
background_task = UIBackgroundTaskInvalid; //Set the task to be invalid
//System will be shutting down the app at any point in time now
}];
//Background tasks require you to use asyncrous tasks
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Perform your tasks that your application requires
NSLog(@"\n\nRunning in the background!\n\n");
[application endBackgroundTask: background_task]; //End the task so the system knows that you are done with what you need to perform
background_task = UIBackgroundTaskInvalid; //Invalidate the background_task
});
}
}
प्रलेखन यहां पाया जा सकता http://disanji.net/iOS_Doc/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
मैं सिर्फ backgroundTaskIdentifier वस्तु लागू किया और समय की जांच करने के लिए background_task को अमान्य करें, ऐप जीवित था और 600sec चला रहा था। आप इस
NSLog(@"Time remaining: %f", application.backgroundTimeRemaining);
यदि आप आईओएस 4.3 या बाद में लक्षित कर रहे हैं, तो दो शुरुआती 'if' कथनों की आवश्यकता नहीं है। – rmaddy
@rmaddy आप सही हैं :) –
@chinta पृष्ठभूमि के लिए वीओआईपी उपयोग के लिए सॉकेट कॉन्फ़िगर करना यहां पाया जा सकता है। बहुत जानकारीपूर्ण http://wiseman-safiq.blogspot.in/2010/11/ios-executing-code-in-background.html –
एप्पल के IOS Programming Guide
अधिकांश आवेदनों कि पृष्ठभूमि राज्य में प्रवेश से कुछ ही समय बाद निलंबित अवस्था में चले जाते हैं। इस स्थिति में, एप्लिकेशन किसी भी कोड को निष्पादित नहीं करता है और किसी भी समय स्मृति से हटाया जा सकता है। उपयोगकर्ता को विशिष्ट सेवाएं प्रदान करने वाले अनुप्रयोग उन सेवाओं को प्रदान करने के लिए पृष्ठभूमि निष्पादन समय का अनुरोध कर सकते हैं।
कम से कम बताता है कि ऐप निष्पादन क्यों बंद कर देता है। आपका सर्वर अभी भी 5 मिनट के लिए आपके ऐप के साथ संवाद करने में सक्षम क्यों हो सकता है, क्योंकि आप एक अतिरिक्त लंबा समय निर्धारित करते हैं और पृष्ठभूमि में प्रवेश करने वाले आपके ऐप पर सॉकेट कनेक्शन को बंद नहीं कर रहे हैं।
- 1. आईओएस वीओआईपी सॉकेट पृष्ठभूमि में नहीं चलाएगा
- 2. आईओएस ऐप कम मेमोरी के लिए मारे गए लेकिन मेमोरी चेतावनी
- 3. ऐप बिलिंग सेवा में कई बार मारे गए
- 4. पृष्ठभूमि में वीओआईपी सॉकेट कनेक्शन कैसे बनाए रखें?
- 5. क्या होता है जब एंड्रॉइड ऐप "मारे गए"
- 6. जावा सॉकेट और ड्रॉप किए गए कनेक्शन
- 7. ऐप पृष्ठभूमि पर जाने के बाद प्रत्येक एन मिनट में उपयोगकर्ता स्थान प्राप्त करना
- 8. आईओएस पृष्ठभूमि ऑडियो एक वेब ऐप में
- 9. जांचें कि आईओएस ऐप पृष्ठभूमि में है
- 10. सॉकेट कनेक्शन
- 11. आईओएस एवीप्लेयर कनेक्शन हानि के बाद धीमी प्रतिक्रिया देना
- 12. आवेदन संदर्भ मारे गए लेकिन गतिविधि
- 13. अंक प्रणाली द्वारा मारे गए है या अब आप एंड्रॉयड
- 14. आईओएस ऐप क्रैश दर - पृष्ठभूमि शोर स्तर?
- 15. ऐप में फॉरग्राउंड (आईओएस)
- 16. आईओएस 4 आईफोन वेब ऐप पृष्ठभूमि में डाले जाने पर एचटीएमएल 5 ऑडियो कैसे बंद करें?
- 17. मारे गए एंड्रॉइड सेवा और स्थैतिक चर
- 18. रेल और आईफोन देशी ऐप के बीच सॉकेट कनेक्शन
- 19. मौजूदा सॉकेट कनेक्शन
- 20. क्या आईओएस में ऐप हटाए जाने का कोई तरीका है?
- 21. पायथन सॉकेट कनेक्शन टाइमआउट
- 22. आईओएस 6 में बदलने के बाद ऐप क्रैश - ucol_getVersion
- 23. एस 3 सीएमडी सिंक रिटर्न "मारे गए"
- 24. गतिविधि मारे गए/ऑनक्रेट को इरादे के माध्यम से चित्र लेने के बाद बुलाया गया
- 25. आईओएस: पृष्ठभूमि में मीडिया प्राप्त करें
- 26. एकाधिक सॉकेट कनेक्शन
- 27. करीब() सॉकेट भेजने के बाद सीधे(): असुरक्षित?
- 28. आईओएस AVAudioPlayer अन्य ऐप के पृष्ठभूमि संगीत को
- 29. आईओएस समय पृष्ठभूमि प्रसंस्करण
- 30. आईओएस: ब्राउजर से पृष्ठभूमि प्ले?
का उपयोग करके शेष समय भी प्राप्त कर सकते हैं क्या आपका ऐप वीओआईपी ऐप के रूप में पंजीकृत है? – trojanfoe
नहीं। यह वीओआईपी के रूप में पंजीकृत नहीं है। – Chinta