我可以在所有(模擬器和iPad設備)上接收位置更新,但是可以接收我的iPhone設備。iOS 7 - 在應用程序進入後臺後不會調用didUpdateLocations委託
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
self.locationManager.delegate = self;
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *newLocation = locations.lastObject;
NSLog(@"didUpdateLocations newLocation = %@", newLocation);
.
.
}
我只要應用程序處於前臺接收didUpdateLocations(的NSLog消息),但後我按主頁按鈕(即應用進去背景),我停止在didUpdateLocations接收通知。 '控制檯'不顯示NSLog消息,此後甚至狀態欄中的位置圖標也會在10秒內消失。
什麼工作的什麼不 -
看來,iOS 6中對我的其他iPhone 3GS的安裝工作正常。小地點圖標不會消失。
在iPad設備上使用iOS 7進行測試,並且該應用程序保持在後臺運行。
iOS 6以及iOS 7的所有模擬器(iPhone和iPad)均按預期工作。
當我在iOS 7上對iPhone 4進行測試時,該應用程序不會在後臺運行。所以很可能,這個問題只在iOS 7上(甚至是某些特定的iPhone設備上)。
確保您處理,如果用戶有過正常,因爲我原來是掀起由於電池消耗 – RyanG
感謝您的反饋意見。剛纔,我正在和我的同事討論這個問題,我們需要向用戶提供適當的反饋,並避免不必要的幫助臺呼叫。你知道如何獲得這個標誌「背景應用程序刷新」的價值在程序內的應用程序? – Ashok
這可能有幫助(雖然我沒有測試雖然):http://stackoverflow.com/a/19138393/480415 – RyanG