从版本 4.0.10.0 到 Testflight 的 PushSharp Apple 通知问题

Posted

技术标签:

【中文标题】从版本 4.0.10.0 到 Testflight 的 PushSharp Apple 通知问题【英文标题】:ISSUE With PushSharp Apple Notification From Version 4.0.10.0 To Testflight 【发布时间】:2016-05-05 07:50:44 【问题描述】:

我创建了一个生产版本 .p12 文件来将通知发送到 iPhone,并使用 testflight 安装了应用程序。

从我的示例控制台应用程序发送通知时,我总是收到通知发送回调,但设备没有收到通知。

我的 Pushsharp 版本是 4.0.10.0 发送通知的代码如下所示:

  public static void SendAppleNotification()
    
        // Configuration (NOTE: .pfx can also be used here)
        var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, "C:\\Users\\MancMiniUser\\Documents\\visual studio 2013\\Projects\\PushSharpDemo\\PushSharpDemo\\Resources\\P12CertifyPIE.p12", "1234");

        // Create a new broker
        var apnsBroker = new ApnsServiceBroker(config);

        // Wire up events
        apnsBroker.OnNotificationFailed += (notification, aggregateEx) =>
        

            aggregateEx.Handle(ex =>
            

                // See what kind of exception it was to further diagnose
                if (ex is ApnsNotificationException)
                
                    var notificationException = (ApnsNotificationException)ex;

                    // Deal with the failed notification
                    var apnsNotification = notificationException.Notification;
                    var statusCode = notificationException.ErrorStatusCode;

                    Console.WriteLine("Apple Notification Failed: ID=apnsNotification.Identifier, Code=statusCode");

                
                else
                
                    // Inner exception might hold more useful information like an ApnsConnectionException           
                    Console.WriteLine("Apple Notification Failed for some unknown reason : ex.InnerException");
                

                // Mark it as handled
                return true;
            );
        ;

        apnsBroker.OnNotificationSucceeded += (notification) =>
        
            Console.WriteLine("Apple Notification Sent!");
        ;

        // Start the broker
        apnsBroker.Start();


        // Queue a notification to send
        apnsBroker.QueueNotification(new ApnsNotification
        
            DeviceToken = "3cfcc2ceefe6675d89b063e2e39d03503b3917250e6743d185c755e9e2c3579d",
            Payload = JObject.Parse("\"aps\":\"alert\":\"Hello from sourabh v.4.0 Tester.\",\"badge\":\"1\"")

        );

        // Stop the broker, wait for it to finish   
        // This isn't done after every message, but after you're
        // done with the broker
        apnsBroker.Stop();
    

谁能帮我解决这个问题,为什么即使通知发送的回调即将到来,也没有收到通知?

【问题讨论】:

【参考方案1】:

您创建了生产证书,然后用作 ApnsConfiguration.ApnsServerEnvironment.Production

var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, "C:\Users\MancMiniUser\Documents\visual studio 2013\Projects\PushSharpDemo\PushSharpDemo\Resources\P12CertifyPIE.p12", "1234");

【讨论】:

以上是关于从版本 4.0.10.0 到 Testflight 的 PushSharp Apple 通知问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apple 的 Testflight 安装旧版本

从 Testflight 安装同一应用程序的不同构建版本时,UserDefaults 正在消失

从 TestFlight 应用行为下载

在发布版本上推送通知工作,但在上传到 TestFlight 之后没有

如何从xcode获取TestFlight应用程序的日志

将新版本上传到 Testflight 但保持旧版本有效(Xamarin)