我最近开始使用 Sencha Touch 2 进行开发,目前我正在创建一个需要支持 Apple Push Notifications 的应用程序。
因此,我在 Apple 开发人员中心创建了必要的证书,并使用它们将应用程序与 Sencha Touch SDK 工具打包在一起。一切顺利,我可以在我的设备上运行这个应用程序。
在应用程序中,我添加了一个按钮来接收设备令牌。当我点击按钮时,它执行以下代码:
Ext.device.Push.register({
type: Ext.device.Push.ALERT | Ext.device.Push.BADGE | Ext.device.Push.SOUND,
success: function (token) {
console.log('# Push notification registration successful:');
Ext.Msg.alert(' token: ' + token);
},
failure: function (error) {
console.log('# Push notification registration unsuccessful:');
Ext.Msg.alert(' error: ' + error);
},
received: function (notifications) {
console.log('# Push notification received:');
Ext.Msg.alert(' ' + JSON.stringify(notifications));
}
// Ext.device.Notification.show({
// title: 'My Title',
// message: 'A message',
// style: "login",
// buttons: ["Cancel", "Login"],
// callback: function (button, values, options) {
// //When the user taps a button, show another notification
// Ext.device.Notification.show({
// message: 'You typed: "' + values + '"'
// });
// }
// });
},
当 Ext.device.Notificaion.show 未注释时,我会收到一条消息,因此我确信这段代码会被执行。现在我的问题是我没有收到来自 Ext.device.Push.register 的任何消息。没有成功、失败或收到的事件被触发。这里有没有人设法让这个工作,或者我做错了什么?