2016-01-02 76 views
0

我試圖發送推送到IOS APN與pushsharp nugetPushSharp iPhone推送通知Doent工作

push.RegisterAppleService(new ApplePushChannelSettings(false, applecert, ""), serviceSettings); 
        AppleNotification notif = new AppleNotification().ForDeviceToken(deviceToken) 
         .WithAlert(message) 
         .WithBadge(1) 
         .WithSound("default"); 
        push.QueueNotification(notif); 
        //wait for queue to finish 
        push.StopAllServices(true); 

一次得手......現在即時通訊的愈來愈此異常:

您已經選擇了開發/測試區(不生產)服務器,但 您的證書沒有出現是發展/ Sandbox 證書!請檢查以確保您擁有正確的證書!

請幫助我。

+0

您是否正在測試開發模式或生產模式? – Dhruv

+0

你的代碼似乎沒問題。我敢打賭,你的證書必須有問題。嘗試使用密碼重新生成它。我有兩個證書(生產和開發),但我告訴Pushsharp,這兩個都是生產。有沙盒的問題... – rolo1091

回答

0

Apple改變了他們生成證書的方式,並且證書中的名稱現在有所不同,因此無法檢查它是否爲生產或沙箱證書,這是PushSharp用來做的事情(除了驗證這是這兩種可能性之一)。最後

ApplePushChannelSettings(false, applecert, "", disableCertificateCheck: true)

,你應該檢查出PushSharp的3.X版本,因爲這:

若要解決此蘋果的變化,而不更新PushSharp,您可以用正確的構造器來關閉證書檢查問題在那裏得到解決,通常它是一個更穩定的版本。這也是HTTP/2 APNS提供商開發將發生的地方。 PushSharp 2.x將很快被棄用。

0

這是證書... :) 我不知不覺地導出了私鑰而不是公鑰。 現在它的發展模式和作品。 我會在這裏更新如何使用生產模式。 謝謝!