我無法將推送通知從用戶發送到用戶。我使用了一個Parse後端,我的所有代碼都在Swift中。我可以添加一個推送通知到服務器沒有問題,但我似乎無法添加推送通知接收器沒有得到突出顯示的錯誤[PFInternalUtils assertValidClassForQuery:]。我知道這與我如何查詢收件人有關,但我不知道如何解決。任何幫助表示讚賞。這是我的完整代碼:使用Parse和Swift將推送通知從用戶發送給用戶
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()
這個作品 如果我拿出查詢,代碼工作,只需發送一個推送通知解析:
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'
親愛user3353890;你可以提供控制檯輸出,你得到的錯誤[PFInternalUtils assertValidClassForQuery:]?問候。 – kingspeech 2014-10-11 06:32:13
當然!我的錯。我有一個異常斷點,並忘記關閉它以獲取控制檯輸出...輸出錯誤狀態:'NSInvalidArgumentException',原因:'不能做類型比較查詢:PFQuery'...我也會修改我的這個問題。 – user3353890 2014-10-11 06:41:51
尊敬的用戶3353890;你可以檢查你的用戶查詢,如果它返回結果?我認爲有一個與返回用戶對象(關係)有關的問題。 – kingspeech 2014-10-11 07:08:28