1

我在使用 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)

但这不是已卸载设备的象征……可以是什么?

4

0 回答 0