MDM:APNS通知无法到达iPhone

时间:2012-05-11 03:56:34

标签: ios ruby apple-push-notifications mdm

通知未到达终端。 请告诉我。 你好。谢谢。

iPhone 4S iOS 5.1 我写了以下ruby脚本。 它从MDM服务器执行。 但是,通知没有到达iPhone终端。 请告诉我。 完成设置。“mobileconfig”已完成,主题和设备令牌已经PUT到MDM服务器。 它检查了正确的信息是否也可以获取, 确认在APN中对iPhone终端进行消息或徽章的更新。 只有MDM的APN才能到达iPhone终端。 我想解决这个问题。 如果你愿意,请帮助我。

#!/usr/bin/ruby -Ku
require 'openssl'
require 'socket'

(msg = []) << "dd0b64b77ebcac2092d6fe644d4db04e39d577c0228cf2187d8f87966aff8234"
device  = msg.pack("H*")
socket = TCPSocket.new('gateway.sandbox.push.apple.com',2195)
#socket = TCPSocket.new('gateway.push.apple.com',2195)
context = OpenSSL::SSL::SSLContext.new('SSLv3')
context.cert = OpenSSL::X509::Certificate.new(File.read('nj_dev_apns-dev.pem'))
context.key  = OpenSSL::PKey::RSA.new(File.read('nj_dev_apns-dev-key-noenc.pem'))
ssl = OpenSSL::SSL::SSLSocket.new(socket, context)
ssl.connect

payload = <<-EOS
{
    #"mdm":"{<PushMagic>}"
    {"mdm":"7C68976X-E70D-485Q-8CA7-7AC48F2F5F4A"}
}
EOS

(message = []) << ['0'].pack('H') << [32].pack('n')
  << device << [payload.size].pack('n') << payload
ssl.write(message.join(''))
ssl.close
socket.close 

1 个答案:

答案 0 :(得分:5)

我的建议是首先尝试生产APNS,所以使用这个url:gateway.push.apple.com,如果你使用IPCU生成mobileconfig,那么在MDM有效载荷中不要选择“使用开发APNS服务器”选项。 另请参阅this