2012-03-30 3 views
2

Meine Frage betrifft die Erstellung von Regionen für regionMonitoring in iOS 5. Können neue Regionen basierend auf dem Benutzer des aktuellen Standorts der App erstellt werden? Oder müssen alle Regionen vom Entwickler in der binären Anwendung programmiert werden?iOS 5 Region Monitoring: Können neue Regionen basierend auf den aktuellen Koordinaten von coreLocation erstellt werden?

Ich weiß, dass Sie bestimmte Regionen basierend auf dem aktuellen Standort des Benutzers registrieren können, da das Betriebssystem die Anzahl der Regionen begrenzt, die das Telefon/die App gleichzeitig überwachen kann, und Sie sollten nur die Regionen registrieren Nähe zum aktuellen Standort des Benutzers ... aber kann eine Region (zuvor undefiniert) im laufenden Betrieb basierend auf dem Standort des Benutzers erstellt werden?

Use-Case-Beispiel:

Benutzer App Corelocation spinnt auf einen genauen Satz von Koordinaten zu erhalten, sobald wir genaue Koordinaten haben, schaltet sich Corelocation Batterie zu sparen. Ein Ereignis muss auftreten, wenn der Benutzer den Bereich verlässt, sodass wir wissen möchten, wann der Benutzer x Entfernungseinheiten bewegt. Kann eine Region x Entfernungseinheiten um den aktuellen Standort dieses Benutzers erstellt werden, sodass wir mit der Überwachung der Ausgangsregion beginnen können?

Ich habe eine Menge Forschung betrieben, konnte aber keine Antwort finden ... und leider bin ich mit regionMonitoring nicht sehr vertraut.

Thanks :)

Antwort

2

Theoretisch können Sie überwachen eine beliebige Region jederzeit, diese Bereiche müssen nicht sein vordefiniert, Sie folgenden Code verwenden, können Sie die gewünschten Regionen pragmatisch

, zu erstellen und überwachen
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude); 
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:center radius:50.0f identifier:identifier]; 
[self.locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyBest]; 

PS: Region Monitoring-Implementierung ist nicht so nützlich wie Apple Werbung, nach meinem Verständnis beruht auf Zelle ändern Ereignisse (wieder um die Batterie zu speichern). Ich bin nicht einmal mit den Ergebnissen der Standard Erinnerungen App (ortsbasierte Erinnerungen) sowohl auf iPhone 4 und 4s zufrieden.

+1

Ich mache das gleiche in iOS7. Aber jetzt steckte ich mit einem neuen Problem fest. Ich denke, dass die höchste Zahl von Region, die wir überwachen können, 15 ist. Jetzt ist meine Frage, wenn ich Region mit der aktuellen Position des Benutzers und einem nach dem anderen die Zahl erreichen will, erreichen Sie dann 15, wie ich die Situation behandeln kann. Oder ich muss mir keine Gedanken über die Anzahl der Regionen machen, da ich die Region immer basierend auf der aktuellen Position des Benutzers überwachte. Wenn Sie irgendeine Lösung haben, bitte teilen Sie mit mir. Danke im Voraus. Hab einen guten Tag. – Tulon

+1

Wenn Sie die Dokumente überprüfen, ist das maximale Limit 20. Stellen Sie sicher, dass der Radius kleiner als maximumRegionMonitoringDistance ist. Jetzt verstehe ich, dass wenn Sie diese Zahl überschreiten, das iOS die Überwachung der ältesten Region veröffentlicht https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#// apple_ref/occ/instm/CLLocationManager/startMonitoringForRegion: – Zee

+0

Ja, natürlich tat ich. Aber das ist nicht mein Problem. Wenn Sie können bitte werfen Sie einen Blick auf diese Frage von mir http://stackoverflow.com/questions/21850536/number-of-region-monitored-by-regionmonitoring-based-on-users-current-locatio Danke – Tulon

Verwandte Themen