跳转至

【苹果推信】【最新苹果短信推信软件、苹果推信imessage群发设备】【imessage群发平台,imessage推广】

苹果真机推送自动分配任务,自动分配任务,让您瞄准中高端客户 作者✈️@IMEAX推荐内容 |iMessage苹果推软件 *** 点击即可查看作者要求内容信息 -------- | ----- 作者✈️@IMEAX推荐内容 |1.家庭推内容 *** 点击即可查看作者要求内容信息 作者✈️@IMEAX推荐内容 |2.相册推 *** 点击即可查看作者要求内容信息 作者✈️@IMEAX推荐内容 |3.日历推 *** 点击即可查看作者要求内容信息 作者✈️@IMEAX推荐内容 |4.虚拟机安装简单 *** 点击即可查看作者要求内容信息 作者✈️@IMEAX推荐内容 |5.iMessage *** 点击即可查看作者要求内容信息

【imessage群发平台,imessage推广】最新苹果短信推信软件、苹果推信imessage群发设备

苹果基于bug原因,停用了服务器端的SSL3.0连接方式。目前只支持TLS连接。

然后再次连接,这次用我们的SSL证书和私钥来设置一个安全的连接:

1. 如果推送的时候deviceToken对应的机器在APNS服务器上是离线状态,苹果会保存推送信息“一段时间”。当机器恢复在线状态时,推送信息到该机器。如果机器长时间不在线,苹果会抛弃掉这条消息。这个“一段时间”没有明文说多久,而且不知道苹果在不同情况下对这个时间有没有动态调整,所以无法推测这个时间对于信息丢失情况的影响。

2. 对于连续推送的情况,针对离线设备,苹果永远只存储最新的一条,上一条信息会被抛弃。

3. 有多条推送任务时,苹果推荐使用单个连接持续发送,而不是重复的开关连接,否则会被苹果认为D-O-S攻击给拒绝掉。如果有多台服务器,可以并发连接到APNS,分摊推送任务,可以更高效的执行任务。

4. 发送多条推送任务时,如果其中有一条推送使用了错误的deviceToken,那么连接就会被断掉,导致后面的推送任务停止执行。苹果通过一个“The Feedback Service”的服务来定期告知provider无效的deviceToken列表,如何使用这个服务参见苹果官方文档中的详细说明,下面有附连接。 import uuid

mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:].upper()

mac_address = '-'.join([mac_address[i:i+2] for i in range(0, 11, 2)])

print(mac_address) Development和Production两个版本对应的apns device token是不同的,前者是develop的mobileprovision下获取的。后者是production的mobileprovision获取的。

Development和Production两个版本可以共用一个App ID(不推荐。共用时每次调试前都要删除设备上的app,重新打包生成。而且共用appid会经常抓狂,早上行,下午就不行了。所以不推荐),但是不能共用一个mobileprovision,所以要单独生成Distribution的证书供production版本使用。

注:Distribution的版本是无法在设备上debug调试的!

Development和Production两个版本的code sign是不同的,前者是iPhone Developer,后者是iPhone Distribution。注意不能搞错。 function checkGit (str, logMsg) {

if (!(

['error', 'failed', 'git rebase --abort', 'git rebase --continue'].every(item => str.indexOf(item) === -1)

)) {

fs.writeFileSync(logFile, logMsg)

process.exit()

}

}

无论是Development Push SSLCertificate还是Production Push SSL Certificate 都有过期时间的。Development Push SSL Certificate有效期大概四个月左右(后来好像改到一年了),而ProductionPush SSL Certificate的有效期是一年。需要注意在过期之前生成新的证书,以免影响使用。官网可以同时设置两个,第一个快过期的时候,生成第二个,然后替换服务器证书,等第二个使用一周没问题后删除第一个证书设置。

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-cert.p12

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

在Mac上生成 Apple推送通知SSL许可证:

  1. 登录到 iPhone Developer Connection Portal 并点击 App IDs

  2. 创建一个不使用通配符的 App ID 。通配符 ID 不能用于推送通知服务。例如,我们的iPhone程序ID像这样: AB123346CD.

  3. 点击App ID旁的“Configure”,然后按下按钮生产 推送通知许可证。根据“向导”指导的步骤生成一个签名并上传,最后下载生成的许可证。此步骤在 Apple文档中 也有谈到。

  4. 通过双击.cer文件将你的 aps_developer_identity.cer 引入Keychain中。

  5. 在Mac上启动 Keychain助手,然后在login keychain中选择 Certificates分类。你将看到一个可扩展选项“Apple Development Push Services”

  6. 扩展此选项然后右击“Apple Development Push Services” > Export “Apple Development Push Services ID123”。保存为 apns-dev-cert.p12 文件。

  7. 扩展“Apple Development Push Services” 对“Private Key”做同样操作,保存为 apns-dev-key.p12 文件。

  8. 需要通过终端命令将这些文件转换为PEM格式:

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

  1. 转换得到key的pem:

openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-cert.p12

  1. 如果你想要移除密码,要么在导出/转换时不要设定或者执行:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

  1. 最后,你需要将键和许可文件合成为apns-dev.pem文件,此文件在连接到APNS时需要使用:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

将此文件保存为一个易记的名字,你有可能以后会用到它。上述步骤同样适合于生成产品许可证。

检验证书是否正确的方法:

Connected to gateway.sandbox.push-apple.com.akadns.net.

Escape character is ‘^]’

它将尝试发送一个规则的,不加密的连接到APNS服务。如果你看到上面的反馈,那说明你的MAC能够到达APNS。按下Ctrl+C 关闭连接。如果得到一个错误信息,那么你需要确保你的防火墙允许2195端口。