Ich habe den signifikanten Event Location Manager auf ios verwendet, aber es scheint, dass es nicht auf einer Zellenänderung wie beansprucht basiert.
Ich habe eine einfache Anwendung verwendet, die ein signifikantes Standortereignis verwendet, aber ich konnte keine wiederholbare, konsistente oder sensible Antwort vom ios sdk erhalten.
Ich habe die Route (blaue Linie), die Zelle Türme (Ortsmarke) und ein 1000m2 Gitter (blaues Quadrat) auf der Karte unten gezeichnet. Karte mit Route
Die Route war 5000 m entfernt.
Ich fuhr es dreimal.
bevor Sie sich beschweren, dass mein Test zu klein ist, habe ich andere Test-Routen seit Tagen beobachtet und alle zeigen die inkonsistente Form.
Ich hatte erwartet, dass das sig-Ereignis auf dem Wechsel des Mobilfunkmastens basiert. Also habe ich eine Jailbreak-App namens "signal" verwendet, um zu identifizieren, was die aktive Zelle ist. (NB. Es ist überraschend, welche Zelle aktiv ist. Nicht, was ich erwarten würde.)
Von der Überwachung der "Signal" -Anwendung wechselten die Zellen ungefähr 6-7 Mal von dem, was ich bemerkte.
Ich habe noch keine 6-7 sig-Veranstaltungen erhalten. Daher kann ich keine Korrelation zwischen Zellwechsel und signifikanten Ereignissen sehen.
Ich habe die folgenden Fragen
Dies ist der Code, der in der Test App ausgeführt wird
%Vor%-lp
Wichtige Standortänderungen werden von iOS bestimmt und Sie können nichts tun, um ihre Granularität direkt zu ändern. Beachten Sie, dass nur in iOS 4 nur die Positionen der Mobilfunkmasten verwendet werden. Zukünftige Versionen des Betriebssystems werden dies verbessern.
Aber als Workaround könnten Sie normale CoreLocation Positionsupdates einschalten, wenn die App durch eine signifikante Standortänderung geweckt / gestartet wird. Sobald Sie das perfekte Ergebnis erzielt haben, deaktivieren Sie die Standortüberwachung erneut, damit die App in den Ruhezustand zurückkehren kann.
Ich habe gerade einen 3-Kilometer-Test im ziemlich zentralen San Francisco mit meiner App gemacht, und habe auch keine signifikanten Änderungen bei den Standort-Ereignissen erhalten. Ich habe einen Schalter in meiner App, um zum normalen Polling mit kCLLocationAccuracyHundredMeters
zu wechseln und habe 40+ Events über die gleiche Distanz.
Wenn ich die Gefühle verschiedener anderer Antworten hier und anderswo befolge, halte ich mich bis zu iOS 5 auf Significant Change zurück. Ich denke, das Beste, was man jetzt tun kann, ist eine eigene Geschäftslogik, um den alten Core Location Weg abzufragen und die Frequenz der Ratsche im Laufe der Zeit (oder so) nach und nach batteriefreundlich.
Sieht so aus, als wäre in iOS 4 Significant Change besser geeignet, um zu erkennen, an welchem Ende Ihrer Reise Sie sind, als an welcher Stelle (oder gar Postleitzahl) Sie sich befinden.