我們使用開發認證和gateway.sandbox.push.apple.com向通知設置發送通知沒有任何問題。但現在現在我們的應用程序已經在商店中了,即使我們使用創建證書的機器,我們甚至無法連接到生產apn服務器(gateway.push.apple.com)來發送推送第一個地方。無法連接到生產Apple推送通知服務器
我們已經通過PushMeBaby運行了它,它看起來像到gateway.push.apple.com的連接正在被拒絕。當它執行握手(SSLHandshake(context))時,結果是錯誤代碼-9044或errSSLConnectionRefused - 對等體在響應之前斷開連接。
我對ssl和加密有足夠的瞭解,知道我不知道某件事情,但我非常肯定問題是(或開始於)我們的生產SSL證書。推送通知在iPhone門戶中啓用生產(我們有綠燈)。證書已安裝在運行PushMeBaby的計算機上,我在鑰匙串中看到證書和簽名密鑰。當我導出開發推送證書並在PushMeBaby中使用它時,我能夠連接(併發送推送)沒有問題。但隨着生產證書,我們無處可去。我們一再撤消並在兩臺獨立的計算機上重新創建了開發證書和產品證書,所以如果這是人爲錯誤,我們會一再重複。
有一點可能是一個因素,我的鑰匙串上有「團隊代理」鍵,但我不是她。我可以並且沒有任何問題地將二進制文件提交給App Store。
另外,創建生產證書後,我們還沒有設置配置文件。我不確定這是否是一個因素,但我不明白它是如何用於店內應用的。
我當然希望有人有一些想法,因爲我離開他們!
使用PushMeBaby發送到製作APNs URL(gateway.push.apple。com)我被迫完全評論這條線。所以我更改了URL,取代了證書,並且註釋掉了這一行。然後它爲我工作。 – brentlightsey 2010-12-22 13:37:15
這裏,30實際上是字符串「gateway.sandbox.push.apple.com」的長度。因此,當你將它改爲「gateway.push.apple.com」時,你必須將該數字改爲22.因此它將是:result = SSLSetPeerDomainName(context,「gateway.push.apple.com」,22); – 2011-03-30 11:12:42
非常感謝@ChintanPatel。爲我們節省了很多時間:) – 2013-03-07 04:24:33