当我开始使用解析实时查询时,我从一开始就知道这将是一个挑战。看到有多种方法可以创建实时查询。当我早期设置服务器时,我用来监听更新的代码就像这样:
let liveQueryClientMessage = ParseLiveQuery.Client()
qMessages.whereKey("toUser", equalTo: (PFUser.current()?.objectId!)! as String)
messageSubscription = liveQueryClientMessage.subscribe(qMessage).handle(Event.created){ _, message in
//prepare a local notification alert
print("object updated")
}
然而,这似乎不再正常运作。所以我查看了解析实时查询文档以查看是否有一个工作示例,并发现这使服务器进入"创建新客户端:"使用此代码:
let qMessages = PFQuery(className: "Messages")
qMessages.whereKey("toUser", equalTo: (PFUser.current()?.objectId!)! as String)
let subscription = Client.shared.subscribe(qMessages)
subscription.handle(Event.updated){ query, event in
print("object updated")
}
但是我无法显示打印信息......我错过了什么吗?我使用最新版本的parselivequery我相信:
pod 'ParseLiveQuery'
UPDATE1:所以我尝试重建服务器,问题似乎仍然存在。我将尝试使用解析查询并查看其是否为过滤器... UPDATE2:我回滚了podfile的版本,以防它只是抓住最新的主分支的问题。还没有修复......
答案 0 :(得分:0)
解决此问题的解决方案与定义所有内容的位置有关。请参阅此stackoverflow问题的awnser:Parse Cloud - LiveQueries - iOS Client doesn't work那里也有足够的解释。