gpt4 book ai didi

swift - 无法使用 Parse 和 Swift 从用户向用户发送推送通知

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:17 24 4
gpt4 key购买 nike

我在从用户向用户发送推送通知时遇到问题。我正在使用 Parse 后端,我的所有代码都在 Swift 中。我可以毫无问题地向服务器添加推送通知,但我似乎无法在不收到突出显示 [PFInternalUtils assertValidClassForQuery:] 的错误的情况下添加推送通知接收器。我知道这与我查询收件人的方式有关,但我不知道如何解决。任何帮助表示赞赏。这是我的完整代码:

    let message: NSString = responseMessage.text as NSString

var data = [ "title": "Some Title",
"alert": message]

var userQuery: PFQuery = PFUser.query()
userQuery.whereKey("objectId", equalTo: recipientObjectId)
var query: PFQuery = PFInstallation.query()
query.whereKey("currentUser", equalTo: userQuery)

var push: PFPush = PFPush()
push.setQuery(query)
push.setData(data)
push.sendPushInBackground()

这行得通如果我取出查询,代码只需向 Parse 发送推送通知即可:

    let message: NSString = responseMessage.text as NSString

var data = [ "title": "Some Title",
"alert": message]

var push: PFPush = PFPush()
push.setData(data)
push.sendPushInBackground()

这是可疑代码

    var userQuery: PFQuery = PFUser.query()
userQuery.whereKey("objectId", equalTo: recipientObjectId)
var query: PFQuery = PFInstallation.query()
query.whereKey("currentUser", equalTo: userQuery)

push.setQuery(query)

另供引用

recipientObjectId 是应该接收推送通知的用户的 objectId。它被保存为 NSString。

我的安装类中的“currentUser”键是指向拥有安装的用户的指针。

编辑

忘记给出控制台输出。控制台输出为:'NSInvalidArgumentException',原因:'无法对类型进行比较查询:PFQuery'

最佳答案

找到答案了!

而不是使用

query.whereKey("currentUser", equalTo: userQuery)

正确的代码是

query.whereKey("currentUser", matchesQuery: userQuery)

关于swift - 无法使用 Parse 和 Swift 从用户向用户发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com