每当我尝试从云端发送数据时,我都无法从iOS应用中访问它,因为userInfo
始终是application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler handler: (UIBackgroundFetchResult)
或application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject: AnyObject])
中的空指针。
该功能实现如下
func application(application: UIApplication,
didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) {
PFPush.handlePush(userInfo)
println("Received Notification")
handler(UIBackgroundFetchResult.NewData)
}
数据发送方式如下:
Parse.Push.send({
where: pushQuery,
data: {
aps: {
alert: "Test",
sound: "",
"content-available": 1,
badge: 0
},
"p": "12"
}
}, {
success: function () {
response.success("Hello world!");
},
error: function (error) {
response.error(error);
}
});
有没有办法从数据中访问属性p
?为什么userInfo
总是nil
,而在其他任何地方,它都被指向可以作为字典访问的特定对象。
信息本身正在正确显示,徽章也可以调整。如果我省略了content-available
属性,它也会触发一个不同的代表,所以我会说推送工作正常。