Yo también tengo más dificultades para hacer lo mismo. Eventualmente encontré la solución para enviar notificaciones automáticas a través de la URL global de PHP. Pruebe los pasos a continuación. Antes de que espero que todos ustedes saben para generar los certificados 3 thats PushChat.certSigningRequest, pushkey.p12 & aps_development.cer (CSR, p12, CER)
Abra su terminal y paso a paso ejecuta los siguientes comandos:
# 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
Luego, finalmente mueva el SimplePush.php a la ubicación del archivo ApnsDev.pem. Ambos archivos estarán en la misma carpeta. y cambie Token del dispositivo, Frase del pase, Nombre del certificado (ApnsDev.pem), Mensaje ... En simplepush.php Descargue el archivo usando la siguiente URL. http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip luego ejecutar el archivo en el servidor de terminal o de dominio
$ php simplepush.php
o
www.Domainname.com/push/simplepush.php // Now, url shows 'Connected to APNS Message successfully delivered'.
Eso es todo, la notificación de inserción será volar y alcanzar el dispositivo IOS específica.
Si desea enviar 'insignia' y luego cambiar el código de carga en simplepush.php como a continuación,
// 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);
Ahora ejecute el archivo php de nuevo y el icono de la aplicación aparece con el número de placa en el círculo rojo.
¿Esto se solucionó? Estoy teniendo el mismo problema. –