14

我正在尝试基于 PyAPNs 为 iphone 实现推送通知

当我在本地运行它但它阻止并提示我手动输入密码并且在我这样做之前不起作用

我不知道如何设置它以便在没有提示的情况下工作

这是我的代码:

from apns import APNs, Payload
import optparse
import os


certificate_file = here(".." + app.fichier_PEM.url   )        
token_hex = '0c99bb3d077eeacdc04667d38dd10ca1a'
pass_phrase = app.mot_de_passe



apns = APNs(use_sandbox=True, cert_file= certificate_file)
payload = Payload(alert = message.decode('utf-8'), sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload)


# Get feedback messages
for (token_hex, fail_time) in apns.feedback_server.items():
    print "fail: "+fail_time
4

2 回答 2

25

当您创建没有短语指定的 .pem 文件时-nodes

创建不带短语的 .pem 文件

openssl pkcs12 -nocerts -out Pro_Key.pem -in App.p12 -nodes

使用短语创建 .pem 文件

openssl pkcs12 -nocerts -out Pro_Key.pem -in App.p12

如果您有一个带有密码的 .pem 文件,您可以使用以下命令删除 PyAPNs 的密码

openssl rsa -in haspassword.pem -out nopassword.pem

参考

用于制作证书和其他配置。

一些用于与 Apple 推送通知服务 (APN) 交互的 Python 库

于 2013-12-04T12:43:10.097 回答
0

尝试使用

apns = APNs(use_sandbox=True, cert_file='XYZCert.pem', key_file='XYZKey.pem')

您在其中指定证书和私钥。

于 2014-07-22T04:18:08.280 回答