我可以在所有(模拟器和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