我在使用 APNS 的反馈服务时遇到了一些问题,每次调用该服务时,我只收到一个确切的令牌,而且每次都不一样!这些令牌是什么意思?我已经尝试过开发和生产模式,我也尝试过注册两个设备,卸载一个设备并调用反馈 API,但我仍然收到一个每次都不同的令牌。
我要连接的红宝石代码是:
cert = File.read(options[:cert])
ctx = OpenSSL::SSL::SSLContext.new
ctx.key = OpenSSL::PKey::RSA.new(cert, options[:passphrase])
ctx.cert = OpenSSL::X509::Certificate.new(cert)
sock = TCPSocket.new(ENV['IOS_SERVER_APN_FEEDBACK'], ENV['IOS_PORT_APN_FEEDBACK'])
ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)
ssl.sync = true
ssl.connect
while line = sock.read(38)
time, length = line.unpack("Nn")
puts line.unpack("x6H#{length << 1}").first
end
ssl.close
sock.close
每次我尝试执行此代码时,我都会收到以下输出:
852a38d14b5e6df4168d3f7f41b38f6627b2cc0605bd53266f6d6fe8332738
d88cd573c0a8f521ad10c8cab863575972c6a24140447f62073dc40e12df20
225393b20754363b93712fb15f4d7a5891d93b27a5b5855fdccf88dcdc82a4
(are three output of three different executions)
但这不是已卸载设备的象征……可以是什么?