Мне бы хотелось знать
A) если возможно полностью отключить использование GPS, когда приложение находится в фоновом режиме, и я прекращаю его (долгое нажатие на кнопку «Домой», нажмите на «X» соответствующей задачи), даже если "Мониторинг региона" активен, и в приложении есть соответствующий активный флаг .plst.
Также я бы хотел напомнить, как вы можете отслеживать местоположение устройства; Я думаю, что есть три способа:
- [locationManager startUpdatingLocation]
- [locationManager startMonitoringSignificantLocationChanges];
- [locationManager startMonitoringForRegion: требуемая область Точность: точность];
Б) Я не понимаю, могут ли они «бежать» / «не может» / «бежать» одновременно. например: startUpdatingLocation и startMonitoringSignificantLocationChanges являются взаимоисключающими, и это нормально, но как насчет startMonitoringForRegion?
C) Могу ли я использовать только startMonitoringForRegion без startMonitoringSignificantLocationChanges?
D) если я использую оба одновременно, могу ли я получить два уведомления при входе / выходе из контролируемого региона? Как я могу избежать этого?
В этом случае, думаю, я должен реализовать что-то вроде этого:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
BOOL crossedBoundary = [self checkIfNewLocationHasCrossedMyMonitoredRegionBoundary:newLocation ];
if (crossedBoundary) NSLog(@"Crossed the boundary");
}
И
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region { NSLog(@"Crossed the boundary"); }
E) Как включить / выключить startMonitoringForRegion, пока приложение находится в фоновом режиме?
Большое спасибо.
Я начинаю с примера "Apple" и "breadCrumb" Apple
https://developer.apple.com/library/ios/#samplecode/Breadcrumb/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010048-Intro-DontLinkElementID_2
https://developer.apple.com/library/ios/#samplecode/Regions/Introduction/Intro.html