2017-08-07 112 views
1

我试图将Laravel中的推送通知发送到iOS应用程序,我正在使用Laravel的Push Notification Package。这是我的配置文件:Laravel推送通知:证书不存在

return array(

     'appNameIOS' => array(
      'environment' => 'development', 
      'certificate' => base_path('app/cert/APNS_Cert_Hasalty_dev.p12'), 
//I am using absolute path in the actual code 
      'passPhrase' => '', 
      'service' => 'apns' 
     ), 
     'appNameAndroid' => array(
      'environment' => 'production', 
      'apiKey' => 'yourAPIKey', 
      'service' => 'gcm' 
     ) 

    ); 

这是我在做什么,以发送通知:现在

$payload = PushNotification::Message('Hello World, i`m a push message from hasalty', array(
      'badge' => 1, 
      'sound' => 'default', 
     )); 

     PushNotification::app('appNameIOS') 
      ->to($deviceToken) 
      ->send($payload); 

,证书文件存在于在配置中给出的路径,但它抛出我的错误:

Certificate app/cert/APNS_Cert_Hasalty_dev.p12 does not exist

我在做什么错?任何帮助? Laravel的版本是5.3.31

+0

添加你的.p12路径而不是'path/to/APNS_Cert_Hasalty_dev.p12',例如''certificate'=>'..../APNS_Cert_Hasalty_dev.p12','(... ...你保存了p12 add证书的路径) –

+0

我已更新我的问题,请看看。 – Saani

+0

检查一次你的路径是否有效,如果有效检查一个.p12文件是否放在该地方 –

回答

0

我明白了。事实上,我正在使用.p12文件,并将其更改为.pem文件,它工作。可以研究这些差异b/w here

0

试试这个,改用绝对路径。 __DIR__。'/ path/to/certificate.pem'