2015-11-22 9 views
8

didUpdateLocations में है कहा जाता है नहीं किया जा रहा ठीक काम कर रहा है, जब एप्लिकेशन सक्रिय है और अग्रभूमि में चल रहा है, लेकिन यह रूप में जल्द ही एप्लिकेशन को पृष्ठभूमिdidUpdateLocations जब एप्लिकेशन को पृष्ठभूमि

में प्रवेश करती है के रूप में ज फ़ाइल में काम करने के लिए बंद हो जाता है

@property (nonatomic, strong) CLLocationManager *customerLocationManager; 
.m फ़ाइल में

@synthesize customerLocationManager; 



customerLocationManager = [[CLLocationManager alloc] init]; 
customerLocationManager.delegate = self; 
customerLocationManager.desiredAccuracy = kCLLocationAccuracyBest; 
customerLocationManager.distanceFilter = kCLDistanceFilterNone; 

if(IS_OS_8_OR_LATER) { 
    [customerLocationManager requestAlwaysAuthorization]; 
} 
[customerLocationManager startUpdatingLocation]; 

मैं NSLocationAlwaysUsageDescription को एकीकृत किया है Info.plist में। पृष्ठभूमि मोड सक्षम किया गया है और स्थान अपडेट विकल्प

+0

आपका CLLocationManager एक स्थानीय चर है। बड़ी गलती। यह किसी प्रकार का निरंतर वस्तु होना चाहिए, उदा। एक उदाहरण चर/संपत्ति। – matt

+0

@matt मैंने CLLocation प्रबंधक को संपत्ति के रूप में घोषित कर दिया है, लेकिन समस्या अभी भी –

+0

बनी हुई है आपके द्वारा पोस्ट किया गया कोड स्थान प्रबंधक को सहेजने के लिए स्थानीय चर का उपयोग करता है। यदि यह आपका वास्तविक कोड नहीं है तो अपना वास्तविक कोड दिखाएं। –

उत्तर

26

मैं Info.plist में NSLocationAlwaysUsageDescription को एकीकृत किया है चुना गया है। पृष्ठभूमि मोड सक्षम किया गया है और स्थान अद्यतन विकल्प

अच्छा चयन किया गया है, लेकिन आईओएस 9 में एक और आवश्यकता नहीं है: आप स्थान प्रबंधक के allowsBackgroundLocationUpdates हाँ करने के लिए सेट करने के लिए है। आप ऐसा नहीं कर रहे हैं, इसलिए आपको पृष्ठभूमि स्थान अपडेट नहीं मिलेंगे।

+0

ने मुझे काम किया। –

+0

@matt, यह लगभग 10 मिनट तक काम करता है और अपडेट करना बंद कर देता है, कोई विचार क्यों? अगर मैं ऐप को अग्रभूमि में लाता हूं तो यह फिर से शुरू होता है। –

+0

बीटीडब्ल्यू, मुझे उम्मीद है कि जल्द ही ओएस द्वारा ऐप को निलंबित नहीं किया जाएगा .. –

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