2

我最近开始使用 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 的任何消息。没有成功、失败或收到的事件被触发。这里有没有人设法让这个工作,或者我做错了什么?

4

2 回答 2

0

确保您包含"notificationConfiguration":"debug"在 JSON 配置中。

于 2012-11-30T19:56:58.340 回答
0

我已经在我的博客上发布了如何为 IOS 推送通知配置和构建 Sencha Touch 应用程序 - http://isolaso ​​ftware.it/2013/09/17/ios-push-notifications-using-sencha-touch-2 /。

最重要的步骤是:

  • 在 package.json 中配置 applicationName、applicationId 和 bundleSeedId
  • 在您的应用程序上执行手动授权
  • 正确构建推送服务器的 .pem 证书(或 .p12)
于 2013-09-17T14:55:11.007 回答