2010-04-18 6 views
5

मैं अपने स्थान-आधारित आईफोन एप्लिकेशन के प्रदर्शन को अनुकूलित करने के किसी भी तरीके को खोजने का प्रयास कर रहा हूं और कुछ लोगों को यह उल्लेख किया है कि आप अपने CLLocationManager को शुरू करके और रोककर स्थान अपडेट को मजबूर कर सकते हैं। मुझे सबसे अच्छी सटीकता की आवश्यकता है जो मुझे मिल सकती है, और मेरे मामले में उपयोगकर्ता शायद हर कुछ सेकंड (कहें, 10 सेकंड) अपडेट को देखना चाहेगा क्योंकि वे घूमते हैं। मैंने तदनुसार फ़िल्टर सेट किए हैं, लेकिन मुझे लगता है कि कभी-कभी मुझे डिवाइस पर कुछ समय तक कोई अपडेट नहीं मिलता है।CLLocation प्रबंधक अपडेट को मजबूर करना - क्या इससे मदद या चोट लगती है?

मैं निम्नलिखित दृष्टिकोण है, जो एक अद्यतन बलों जब एक निश्चित समय अंतराल से गुजरता है (मैं 20 सेकंड का उपयोग कर रहा) का परीक्षण कर रहा हूँ। मेरा आंत मुझे बताता है कि यह वास्तव में मुझे उपयोगकर्ता को अधिक सटीक अपडेट प्रदान करने में मदद नहीं करेगा, और यह कि हर समय चल रहे CLLocationManager को छोड़कर शायद सबसे अच्छा तरीका है।

- (void)forceLocationUpdate { 
    [[LocationManager locationManager] stopUpdates]; 
    [[LocationManager locationManager] startUpdates]; 
    [self performSelector:@selector(forceLocationUpdate) withObject:nil afterDelay:20.0]; 
} 

मेरा प्रश्न है- CLLocationManager से नई जानकारी के लिए मजबूर करता है वास्तव में कोर स्थान प्रदर्शन में सुधार? क्या यह प्रदर्शन को चोट पहुंचाता है? अगर मैं अच्छे जीपीएस रिसेप्शन के साथ खुले मैदान में बाहर हूं, तो क्या इससे मदद मिलेगी? क्या किसी को इसका प्रयास करने का अनुभव है?

अग्रिम धन्यवाद, स्टीव

+0

जब आपके CLLocationManager सेट करते समय आप 'kCLLocationAccuracyBestForNavigation ', उपलब्ध आईओएस में 4 करने के लिए अपने' desiredAccuracy' कसौटी स्थापित करना चाहिए। फिर, ओएस अनुकूलित करें। – Nate

उत्तर

0

मैं भी एक अनुप्रयोग में एक 'मेरे पास' सुविधा का अनुकूलन करने की कोशिश कर रहा हूँ - मैंने पाया निम्नलिखित अतः जानकारी उपयोगी पोस्ट: link text

0

संभावना है कि आप पूछना चाहते हैं तो कर रहे हैं आपकी वांछित सटीकता और दूरी फ़िल्टर सही ढंग से सेट है, तो आपको कोई अपडेट नहीं मिल रहे हैं क्योंकि आपका उपयोगकर्ता या परीक्षण अद्यतन को ट्रिगर करने के लिए पर्याप्त स्थानांतरित नहीं हुआ है। @Nate की टिप्पणी की तरह, अगर आप इसे सर्वश्रेष्ठ या सर्वश्रेष्ठ के लिए सेट करते हैं, तो आपके पास अधिक अपडेट प्राप्त करने का एक बेहतर मौका है।

आपके स्थान प्रबंधक को बंद करने का वास्तविक कारण वास्तव में बैटरी को संरक्षित करना है। जीपीएस और एनएवी के लिए डिवाइस का उपयोग करने वाले अधिकांश उपयोगकर्ता इसे प्लग इन रखने के बारे में जानते हैं। अगर आप इस तरह के किसी स्थान के लिए स्थान का उपयोग नहीं कर रहे हैं, तो आप अपने स्थान को प्राप्त करने से बेहतर हैं और बैटरी को सहेजने के लिए इसे बंद कर रहे हैं जब तक आपको किसी अन्य स्थान अपडेट की आवश्यकता न हो । यह टाइमर या ब्लॉक के माध्यम से किया जा सकता है। मुख्य बात यह है कि आप जितना संभव हो उतना बैटरी संचालित और सहेज सकते हैं, इस बारे में सोचना है।

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