我正在尝试通过Appcelerator的箭头服务向我的Alloy应用发送推送通知。目前我尝试让它在iOS上运行,但它失败了。我已经按照Appcelerator Tutorials生成iOS证书和registering my device。我正在使用最新的Appcelerator Titanium发行版,即5.1.2.GA。
在平台内的通知日志中,消息如下所示:
56cb19af13d239090f0914aa --- --- Failure Feb 22, 2016 2:22 PM
它有一个ID,但iOS
和Android
没有值,Devices
列也没有。我正在部署的(真实)iOS设备已注册推送频道o***l
。
通过API检查失败的原因产生了这个:
{
"meta": {
"code": 200,
"status": "ok",
"more": false,
"method_name": "queryPushLogDetails"
},
"response": {
"push_log_details": [
{
"_id": "56cb0756e4b0d71f12be298f",
"msg_id": "328eadef-f048-4b7f-bfff-7f360de11823",
"push_id": "56cb07504e8d4309050800ab",
"type": "ios",
"token": "f2815de63052d8b5965f88124c8***",
"channel": "o***l",
"app_id": "5***3",
"send_status": 2,
"sent_at": "2016-02-22T13:04:21+0000",
"updated_at": "2016-02-22T13:04:22+0000",
"error_message": "Exception Type: APNS; Error Code: 1001; Error Message: General Problem; Catched Exception: Remote host closed connection during handshake",
"created_at": "2016-02-22T13:04:22+0000",
"locked_at": "2016-02-22T13:04:23+0000",
"pem_sent_at": "2016-02-22T13:04:23+0000"
}
]
}
}
Google搜索"error_message": "Exception Type: APNS; Error Code: 1001; Error Message: General Problem; Catched Exception: Remote host closed connection during handshake"
返回this post,但我的情况似乎有所不同,因为我可以成功连接到Apple Sandbox:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert keyStore.pem
CONNECTED(00000003)
depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/C=US/ST=California/L=Cupertino/O=Apple Inc./CN=gateway.sandbox.push.apple.com
i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
1 s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
i:/O=Entrust.net/OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Certification Authority (2048)
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFMzC***U2MxV
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Cupertino/O=Apple Inc./CN=gateway.sandbox.push.apple.com
issuer=/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
---
Acceptable client certificate CA names
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Root CA
/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Application Integration Certification Authority
---
SSL handshake has read 3160 bytes and written 2153 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID:
Session-ID-ctx:
Master-Key: F29F1914F74141A29F182AA3B4C4F480B2C2D388E872023774614281E34773E0F856F4A724F7C3AE8F206AF1945C351B
Key-Arg : None
Start Time: 1456152076
Timeout : 300 (sec)
Verify return code: 0 (ok)
我已经为推送通知重新生成了SSL密钥。通过API发送推送消息与从平台的Web界面发送推送消息完全相同。
我还能尝试什么?是否存在已知问题?