Swift 解析推送高级定位未发送

Swift Parse Push advanced targeting not sending

已关注 documentation for Parse advanced targeting,推送通知仍未发送。 (我可以从 Parse 的控制台接收推送,客户端推送已启用。)

let userQuery: PFQuery = PFUser.query()!
userQuery.whereKey("objectId", equalTo: "JrePAMWUbm") // The user I am logged in with

let pushQuery: PFQuery = PFInstallation.query()!
pushQuery.whereKey("user", matchesQuery: userQuery)

let push = PFPush()
push.setQuery(pushQuery)
push.setMessage("Hello, World!")

push.sendPushInBackgroundWithBlock {
  success, error in

  if success {
    println("The push succeeded.")
  } else {
    println("The push failed.")
  }
}

我不断收到 "The push succeeded." 但我查看推送详细信息,它显示“已发送 0 个推送”。

如果我删除 userQuery 并仅使用 PFInstallation 查询,我会收到通知。

let pushQuery: PFQuery = PFInstallation.query()!
pushQuery.whereKey("deviceType", equalTo: "ios")

let push = PFPush()
push.setQuery(pushQuery)
push.setMessage("Hello, World!")

push.sendPushInBackgroundWithBlock(nil)

userQuery 可能有问题,但我不确定是什么。 Return 类型与 pushQuery.whereKey("user", matchesQuery: userQuery) 不兼容?

以上所有设置均正确。

我的 Installation user 列没有与我的用户相关联 -- 我必须添加以下内容:

let installation = PFInstallation.currentInstallation()
installation["user"] = PFUser.currentUser()
installation.saveInBackground()

post 有帮助。