2015-09-06 5 views
25

मैं घर स्वचालन प्रणाली का निर्माण कर रहा हूं, मैंने ब्लूटूथ उपकरणों (आरएफडीयूनो का उपयोग करके कुछ कस्टम बनाया) को नियंत्रित करने के लिए आईपैड को मुख्य केंद्र/पुल डिवाइस के रूप में चुना है।आईओएस 8 रन ऐप हमेशा के लिए या अक्षम स्क्रीन

आईपैड (आईओएस 8.4.1) दीवार पर घुड़सवार है और हर समय चार्जर में प्लग किया जाता है।

मैं एप्लिकेशन हर समय उपकरणों अद्यतन, ट्रिगर घटनाओं आदि को नियंत्रित करने और प्राप्त करने के लिए चलाने के बनाने के लिए सही दृष्टिकोण चुनने की आवश्यकता

सवाल यह है: वहाँ visualy स्क्रीन निष्क्रिय करने के लिए कोई तरीका है? इसे कम करना पर्याप्त नहीं है; लॉक डिवाइस डिवाइस की तरह स्क्रीन को बंद कर दिया गया तो यह सबसे अच्छा होगा।

सरल शब्दों में, क्या मैं एक ब्लैक स्क्रीन सेवर नियोजित कर सकता हूं?

यदि उपरोक्त का उत्तर नहीं है: क्या ऐप को हमेशा पृष्ठभूमि में चलाने के लिए मजबूर करने का कोई तरीका है?

यहां पर प्रकाश डालने वाली एक चीज़। इस एप्लिकेशन को एप्पल स्टोर करने के लिए जाना नहीं है तो समाधान एक गंदा वैकल्पिक हल हो सकता है

अग्रिम धन्यवाद

अब तक परीक्षण किया गया:

let backgroundQueue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND,0) 

func applicationDidEnterBackground(application: UIApplication) { 

    application.beginBackgroundTaskWithName("myBgTask", expirationHandler: nil) 
    dispatch_async(self.backgroundQueue, myBackgroundTask) 
} 

func myBackgroundTask() { 
    NSThread.sleepForTimeInterval(1) 
    dispatch_async(self.backgroundQueue, myBackgroundTask) 
} 

यह दृष्टिकोण 3 मिनट के लिए अनुप्रयोग को पृष्ठभूमि में रहता है केवल ।

खोज जारी रखें ...

+0

"स्क्रीन को निष्क्रिय करने" करके, आप सभी पर आईपैड का उपयोग करने से उपयोगकर्ता को रोकने के लिए चाहते हैं और उसे/उसके उपकरण अनलॉक करने के लिए अनुमति नहीं है? –

+0

नहीं। मैं चाहता हूं कि दीवार पर अपनी स्क्रीन के साथ दीवार पर लटकने वाले आईपैड को न देखना पड़े लेकिन फिर भी पृष्ठभूमि में पूर्ण ऐप कार्यक्षमता करें। यह एक ठेठ स्क्रीन सेवर की तरह काम करना चाहिए। किसी भी इनपुट पर लाइव पर वापस जाना चाहिए, कुछ समय बाद ब्लैक स्क्रीन स्थिति –

+0

पर वापस जाना चाहिए इसके लिए एंड्रॉइड टैबलेट का उपयोग करना बेहतर विकल्प है, क्योंकि यह मेरे घर में एंड्रॉइड टैबलेट – Andrey

उत्तर

9

UIApplicationExitsOnSuspend समाधान का प्रयास करें:

के बाद से आईओएस 4 क्षुधा निलंबित हो जब तुम घर बटन दबाएँ। इससे पहले (आईओएस 3) वे ऐप खोलने पर हर बार बाहर निकलेंगे और फिर से लॉन्च करेंगे - हालांकि यदि आपने ऐप को बंद करने के लिए होम बटन का उपयोग नहीं किया है, लेकिन इसके बजाय डिवाइस को आपके आईओएस 3 ऐप के साथ लॉक कर दिया है तो यह पृष्ठभूमि में चलाएगा हमेशा के लिए। आप अपने ऐप्स को UIApplicationExitsOnSuspend कुंजी को अपनी जानकारी प्लिस्ट में जोड़कर इस तरह काम करने के लिए प्राप्त कर सकते हैं, मान को YES पर सेट करें।

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

ध्यान दें कि यह समाधान ऐप स्टोर के लिए मान्य है, क्योंकि यह आधिकारिक ऐप्पल एपीआई का उपयोग करता है।

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

+0

रातोंरात परीक्षण चल रहा है। उम्मीद तो दिखती है। फिंगर्स –

+0

पार किया जैसे लगता है कि हमारे पास विजेता है! ऐप ने बस 10 मिनट की सीमा पारित की और पूरी तरह से स्क्रीन के साथ काम कर रहे थे। धन्यवाद महोदय! बधाई के लिए धन्यवाद @ डैमो –

4

सभी ऐप्स को समाप्त करने के लिए पहले इस ऐप्लिकेशन का सही मायने में निलंबित कर दिया है जो कुछ भी वे कर रहे थे 10 मिनट तक मिलता है। लेकिन कुछ मामलों में उन्हें संगीत चलाने या चरणों की गणना करने जैसे लंबे समय तक दौड़ने की आवश्यकता हो सकती है। यह का उपयोग करके किया जा सकता है आवश्यक पृष्ठभूमि मोड वे मोड हैं जिनके द्वारा आप अपने एप्लिकेशन को पृष्ठभूमि में हमेशा के लिए चल सकते हैं।

कृपया नीचे छवियों को देखने के: पृष्ठभूमि निष्पादन के लिए

enter image description here enter image description here

जाएँ: यह सहायक हो सकता है यूआरएल नीचे Apple

जाएँ।

https://stackoverflow.com/a/29168981/4101371

http://www.raywenderlich.com/29948/backgrounding-for-ios (नमूना कोड के साथ explaination के लिए।)

आशा है कि यह आपकी समस्या को हल करने में मदद करता है।

+0

अभी भी रे वेंडरलिच सामान का अध्ययन कर रहे हैं। सभी दृष्टिकोणों का परीक्षण करना। फिलहाल पृष्ठभूमि में केवल 3 मिनट से अधिक समय तक चल सकता है। कृत्रिम रूप से ऐप लाइफ –

+1

@CaptJak को विस्तारित करने से रोकने के लिए आईओएस 8.4.1 में कुछ बदलाव हैं - आपको पहले सेब द्वारा प्रदान किए गए दस्तावेज को पढ़ना चाहिए। अगर पृष्ठभूमि आवेदन में कोई प्रसंस्करण नहीं चल रहा है तो समाप्त हो जाएगा। –

+2

@GregLukosek यदि आपका ऐप कुछ ऑडियो चलाता है, तो आप पृष्ठभूमि में हमेशा के लिए चलते रह सकते हैं। उदाहरण के लिए Spotify या पॉडकास्ट ऐप पृष्ठभूमि में अनिश्चित काल तक चलाने में सक्षम हैं। जो आवाज़ आप खेल रहे हैं उसे वास्तव में वक्ताओं के माध्यम से श्रव्य नहीं होना चाहिए (बस दोहराने पर एक मूक ट्रैक खेलें)। ऐसा करने से आपके ऐप को ऐप स्टोर से प्रतिबंधित कर दिया जाएगा, लेकिन इन-हाउस ऐप के लिए यह पूरी तरह से काम करता है। –

-3

क्या आप पृष्ठभूमि में चुप्पी चलाकर बाईपास/हैक कर सकते हैं। मैं कल्पना नहीं कर सकता कि यह कुशल या सर्वोत्तम समाधान है लेकिन यह एक काम हो सकता है। मुझे पता है कि वर्कफ़्लो के रचनाकारों ने इसे बाईपास करने की कोशिश की है और 10min की सीमा भी मार दी है। वहां 9 मिनट के निशान पर एक स्थानीय अधिसूचना को सरल बनाना सरल है और उपयोगकर्ता को ऐप को फिर से खोलने के लिए कहें ताकि यह चलना जारी रख सके।

+0

तो इसका मतलब है कि मुझे सचमुच हर 10 मिनट में ऐप को पुनः सक्रिय करना होगा, यह बिल्कुल समाधान नहीं है। –

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