2012-06-26 9 views
10

क्या होता है यदि मैं startUpdatingLocation पर कॉल करता हूं जबकि startMonitoringSignificantLocationChanges चल रहा है? क्या महत्वपूर्ण स्थान परिवर्तन निगरानी बंद हो जाती है? अगर मैं stopUpdatingLocation महत्वपूर्ण स्थान परिवर्तन निगरानी जारी रखेगा या फिर से शुरू होगा?कैसे प्रारंभ करें मॉनिटरिंग सिग्निफिशेंट लोकेशन चेंज और स्टार्टअपडेटिंग लोकेशन प्रभाव एक-दूसरे?

मुझे स्थान की निगरानी के इन दो तरीकों के बीच इंटरप्ले को कवर करने वाला कोई दस्तावेज नहीं मिल सकता है।

+0

अरे, क्या आपको इसके बारे में और जानकारी मिली? विशेष रूप से बातचीत हिस्सा। क्या आईओएस दूसरे को शुरू होने पर रोकने से रोकता है? – Philiiiiiipp

+0

क्या आप जानते हैं कि क्या आप पृष्ठभूमि स्टार्ट में 'startMonitoringSignificantLocationChanges'' प्रारंभ करने के बाद 'startUpdatingLocation' कर सकते हैं? – Honey

+0

मुझे खेद है, लेकिन मैंने कई वर्षों तक इस एपीआई का उपयोग नहीं किया है। आप एक नया सवाल क्यों नहीं पूछते? – Undistraction

उत्तर

3

वे समवर्ती रूप से उपयोग करने के लिए नहीं हैं। यह या तो दोनों या जैसा कि वे दोनों एक ही प्रतिनिधि विधि में शीर्षक और स्थान परिवर्तन प्रदान करते हैं।

locationManager: didUpdateToLocation: fromLocation

वे आवृत्ति और सटीकता (और विस्तार के हार्डवेयर का इस्तेमाल किया और बिजली की खपत से) परिवर्तन की में मतभेद है। आपको डेवलपर को यह तय करने की आवश्यकता है कि आपके उपयोग के मामले में कौन सा सर्वोत्तम है

मुझे अलग-अलग समय पर दोनों दृष्टिकोणों का उपयोग करने की आवश्यकता है। जब मैं एक से दूसरे में स्विच करता हूं तो मैंने एक ध्वज सेट किया है जिसे मैं अपने प्रतिनिधि में संदर्भित कर सकता हूं ताकि मुझे अपडेट के प्रकार पता हो।

+1

धन्यवाद। यह वही है जो मैं इस समय कर रहा हूं। मैंने अपनी सेवा के साथ CLLocationService को लपेट लिया है और मैं इसका उपयोग कर रहे सेवाओं के प्रकार के लिए झंडे सेट करने के लिए कर रहा हूं। मुझे बस दिलचस्पी थी कि दोनों कैसे बातचीत करते हैं। यह दिलचस्प है कि ऐप्पल दस्तावेज़ इस विषय का उल्लेख करने के लिए पूरी तरह से उपेक्षा करते हैं। – Undistraction

+1

नवीनतम दस्तावेज़ों में, ऐप्पल का उल्लेख है कि उन्हें एक साथ चलाया जा सकता है, लेकिन बातचीत पर कोई विवरण प्रदान नहीं करता है। "यदि दोनों स्थान सेवाएं एक साथ सक्षम हैं, तो वे प्रतिनिधि विधियों के एक ही सेट का उपयोग करके घटनाएं प्रदान करते हैं।" https://developer.apple.com/reference/corelocation/cllocationmanager –

14

मुझे नहीं लगता कि स्वीकृत उत्तर वास्तव में पूछे गए प्रश्न का उत्तर देता है। मैंने कुछ परीक्षण किए हैं और यदि आप चाहें तो आप दोनों का उपयोग कर सकते हैं और वे एक-दूसरे को रद्द नहीं करेंगे।

कोई दोनों का उपयोग क्यों करना चाहेगा? क्योंकि startMonitoringSignificantLocationChanges किसी भी पृष्ठभूमि मोड की आवश्यकता के बिना ऐप को निलंबित या समाप्त होने से जगाता है। तो यदि आप दोनों को चलाते हैं तो आप सटीक अग्रभूमि स्थान अपडेट और महत्वपूर्ण स्थान परिवर्तन पृष्ठभूमि स्थान अपडेट प्राप्त कर सकते हैं।

बेशक

, आप विधि स्विच कर सकते हैं, जब पृष्ठभूमि में जा रहा है, लेकिन एक) है कि नहीं था सवाल ख) यह अनावश्यक तर्क

बेशक

, वहाँ एक सवाल है, तो दोनों तरीकों से चल रहा है और अधिक बैटरी नालियों कहते हैं, लेकिन मेरी शर्त यह है कि यह नहीं करता है।

1

मानक स्थान सेवा और महत्वपूर्ण स्थान परिवर्तन सेवा का उपयोग एक साथ किया जा सकता है। the API Reference से उद्धरण:

दोनों स्थान सेवाओं को एक साथ सक्षम हैं, वे प्रतिनिधि तरीकों का एक ही सेट का उपयोग कर घटनाओं वितरित।

दोनों का उपयोग करने का एक अच्छा कारण यह है कि मानक सेवा बेहतर सटीकता प्रदान करती है, जबकि महत्वपूर्ण स्थान परिवर्तन सेवा आपके ऐप को निलंबित होने पर भी काम करती है।

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

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