Appcelerator iOS 推送通知显示在前台

Appcelerator iOS push notification displaying in foreground

目前正在使用以下设备处理推送通知 os iOS 台设备。

Ti.App.iOS.addEventListener("usernotificationsettings", function registerForPush() {

    Ti.App.iOS.removeEventListener("usernotificationsettings", registerForPush);

    Cloud.Users.login({
        login: "user",
        password: "12345"
    }, function (e) {

        if (e.success) {

           Ti.Network.registerForPushNotifications({
                success: function(e){

                    Cloud.PushNotifications.subscribeToken({
                        channel: "AppAlerts",
                        device_token: e.deviceToken,
                        type: "ios"
                    }, function(e){
                        alert("subscribed");
                    });

                },
                error: function(e){
                    alert(e.error);
                },
                callback: function(e){
                    alert(e);
                }
            });

         }
    }); 

});

我可以毫无问题地向 Appcelerator 注册设备令牌。当应用程序在后台并且用户单击推送通知时,将调用回调并且我能够读取有效负载。但是,当应用程序在前台时,会显示通知横幅(就像应用程序仍在后台一样)。单击横幅或收到时永远不会调用回调。

Example

这似乎发生在 iOS 10+ 的设备上。 9.3.5的设备没有问题。

我设法通过使用 Titanium SDK 7.2.0 GA 构建应用程序来实现这一点。该应用程序之前使用的是 7.3.1 GA 和 7.4.0 GA。