2016-04-21 9 views
0

Ich versuche, alle Benutzer in einem bestimmten Kanal in einer bestimmten Entfernung vom aktuellen Benutzerstandort zu pingen. Das Problem, an dem ich festhalte, ist meine Unfähigkeit, beide Einschränkungen zu erfüllen. Der eine oder andere arbeitet für sich. Bei beiden wird die Nachricht irgendwie an niemanden gesendet. Fehle ich hier etwas? Danke im Voraus!IOS-Push-Benachrichtigungen mit Parse

func findDriver(loc: CLLocationCoordinate2D) { 
    let driverQuery = PFInstallation.query() 
    driverQuery?.whereKey("channels", equalTo:"drivers") 
    let geoPoint = PFGeoPoint(latitude: loc.latitude, longitude: loc.longitude) 
    driverQuery?.whereKey("location", nearGeoPoint: geoPoint) 

    let push = PFPush() 
    push.setQuery(driverQuery) 
    push.setMessage("Looking for Drivers!") 
    push.sendPushInBackground() 

} 

Antwort

0

Vielleicht versuchen, UND für Abfrage zu tun?

hier ist der Link: https://www.parse.com/questions/combining-or-queries

func findDriver(loc: CLLocationCoordinate2D) { 
let driverQuery = PFInstallation.query() 
driverQuery?.whereKey("channels", equalTo:"drivers") 
let geoPoint = PFGeoPoint(latitude: loc.latitude, longitude: loc.longitude) 
driverQuery?.whereKey("location", nearGeoPoint: geoPoint) 

let comboQuery = PFQuery.query() 
comboQuery?.whereKey("channels", matchesKey:"channels", inQuery:driverQuery) 
comboQuery?.whereKey("location", matchesKey:"location", inQuery:geoPoint) 

let push = PFPush() 
push.setQuery(comboQuery) 
push.setMessage("Looking for Drivers!") 
push.sendPushInBackground() 

}