Я тоже получил больше борьбы, чтобы сделать то же самое.В конце концов я нашел решение отправить push-уведомление через глобальный URL-адрес PHP.Попробуйте следующие шаги.До этого я надеюсь, что вы все знаете, чтобы сгенерировать 3 сертификата, которые PushChat.certSigningRequest, pushkey.p12 & aps_development.cer (csr, p12, cer)
Откройте ваш терминал и выполните шаг за шагомвыполните следующие команды:
# Make sure terminal refers your correct certificate path.
$ cd ~/Desktop/
# Ask system administrator to open if its not connected
$ telnet gateway.sandbox.push.apple.com 2195
Trying 17.110.227.35...
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is '^]'.
# Convert .cer to .pem
$ openssl x509 -in aps_development.cer -inform der -out PushCert.pem
# Convert .p12 to .pem. Enter your pass pharse which is the same pwd that you have given while creating the .p12 certificate. PEM pass phrase also same as .p12 cert.
$ openssl pkcs12 -nocerts -out PushKey1.pem -in pushkey.p12
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
# To remove passpharse for the key to access globally. This only solved my stream_socket_client() & certificate capath warnings.
$ openssl rsa -in PushKey1.pem -out PushKey1_Rmv.pem
Enter pass phrase for PushChatKey1.pem:
writing RSA key
# To join the two .pem file into one file:
$ cat PushCert.pem PushKey1_Rmv.pem > ApnsDev.pem
Затем, наконец, переместите файл SimplePush.php в расположение файла ApnsDev.pem.Оба файла будут в одной папке.и измените маркер устройства, фразу-пароль, имя сертификата ( ApnsDev.pem ), сообщение… В simplepush.php Загрузите файл, используя указанный ниже URL-адрес.http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip Затем выполните файл в терминале или на сервере вашего домена.
$ php simplepush.php
или
www.Domainname.com/push/simplepush.php // Now, url shows 'Connected to APNS Message successfully delivered'.
. Это означает, что push-уведомление вылетит и достигнет определенногоУстройство IOS.
Если вы хотите отправить «Значок», измените код полезной нагрузки в simplepush.php, как показано ниже:
// Construct the notification payload body:
$badge = 1;
$sound = 'default';
$body = array();
$body['aps'] = array('alert' => $message);
if ($badge)
$body['aps']['badge'] = $badge;
if ($sound)
$body['aps']['sound'] = $sound;
// End of Configurable
// Encode the payload as JSON:
$payload = json_encode($body);
Теперь снова запустите файл php, и значок приложения появится сномер значка в красном круге.