ich versuche, eine Demo-App mit Estimote Beacons zu bauen. Ich möchte, dass die App einen bestimmten Viewcontroller öffnet, wenn sich der Benutzer in der Nähe eines Beacons befindet. Ich benutze performseguewidentifier, aber wenn die App startet, öffnet sich nur der erste Viewcontroller, der den ersten Beacon darstellt, der sich in der Reichweite befindet, und er öffnet nicht die anderen, wenn ich in die Nähe der anderen Beacons gehe. es hört irgendwie auf, für andere Beacons zu reichen. unten ist der Code im für Beacons Bereich mit:performseguewidentifier mit iBeacons
func beaconManager(manager: AnyObject, didRangeBeacons beacons: [CLBeacon],
inRegion region: CLBeaconRegion) {
let knownBeacons = beacons.filter{ $0.proximity != CLProximity.Unknown}
if (knownBeacons.count > 0) {
let closestBeacon = knownBeacons [0] as CLBeacon
if(closestBeacon.minor.integerValue==50557){
performSegueWithIdentifier("VC1", sender: nil)
}
else if(closestBeacon.minor.integerValue==37890){
performSegueWithIdentifier("VC2", sender: nil)
}
else if(closestBeacon.minor.integerValue==18976){
performSegueWithIdentifier("VC3", sender: nil)
}
else {
self.view.backgroundColor = UIColor.brownColor()
}
Wird der Code in der AppDelegate angezeigt? Sind die benannten Segmente nur einem einzigen viewController zugeordnet? Bist du sicher, dass sie gefunden werden? Wenn Sie Haltepunkte setzen oder NSLog-Anweisungen hinzufügen, um zu sehen, welcher Zweig der if-Anweisung ausgeführt wird. – davidgyoung
@davidgyoung nein, der Code ist in der Hauptansicht Controller und jedes Segment ist mit einem bestimmten Viewcontroller (nicht eine einzige) zugeordnet und ja sie werden gefunden. Es hängt davon ab, in welchem Beacon ich die App starte, es zeigt nur dieses und es "feuert" das andere Segment nicht, wenn ich in die Nähe des anderen Beacons gehe. Wenn ich jedoch die App schließe und ich in die Nähe des anderen Beacons gehe, wird es geöffnet. aber ich möchte, dass die Segmente die zugehörigen Viewcontroller automatisch anzeigen, wenn ich in die Nähe dieses Beacons gehe (mit dem angegebenen Minor-Wert) –