亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

如何在自己的電腦上配置APNS推送環境

2020-07-26 03:32:25
字體:
來源:轉載
供稿:網友

本文只是記錄一下如何在自己的電腦上配置APNS推送環境,其它的如推送的原理,流程什么的這里就不寫了。

一. 去Apple 開發者中心,創建App ID。注意App ID不能使用通配符。并注意添加Push Notification Service

     對于已經創建的APP ID,也可以編輯給他添加Push Notification Service

二. 創建development 和 production的Certificates及Profiles.

  步驟略。

  注意

  1. 創建Profile的時候App ID及Certification要正確。對于已經創建的Profile也可以再次編輯修改其證書及Devices。修改后只需要到Xcode => References => Accounts中Refresh就可以了。

  2. 創建證書的時候我們會用KeyChain先在電腦上創建一個 .certSigningRequest文件,這個文件請保存,因為在證書到期后如果不用這個文件去更新,而用一個新的.certSigningRequest文件,那服務器需要使用的證書就又需要按照以下步驟重新生成。

三. 創建證書給服務器使用

  1. 在KeyChain中導出對應證書的Private Key。(方便后面使用,記為Push.p12)

  2. openssl x509 -in aps_developer_identity.cer -inform der -out PushChatCert.pem

  3. openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12

  4. cat PushChatCert.pem PushChatKey.pem > ck.pem

四. 為了測試證書是否工作,執行下面的命令:

復制代碼 代碼如下:
$ telnet gateway.sandbox.push.apple.com 2195

  Trying 17.172.232.226...
  Connected to gateway.sandbox.push-apple.com.akadns.net.
  Escape character is ‘^]'.


  它將嘗試發送一個規則的,不加密的連接到 APNS 服務。如果你看到上面的反饋,那說明你的 MAC 能夠到
  達APNS。按下 Ctrl+C 關閉連接。如果得到一個錯誤信息,那么你需要確保你的防火墻允許 2195 端口。

  然后再次連接,這次用我們的 SSL 證書和私鑰來設置一個安全的連接:

復制代碼 代碼如下:
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

  Enter pass phrase for PushChatKey.pem:


  你會看到一個完整的輸出,讓你明白 OpenSSL 在后臺做什么。如果連接是成功的,你可以鍵入一些字符。
  當你按下回車后,服務就會斷開連接。如果在建立連接時有問題,OpenSSL 將會給你一個錯誤消息,
  ck.pem 文件就是我們需要得到 Push 服務器 連接 APNS 的文件。

五. 配置本地服務器

  1. 啟用Apache
  Mac OS X 10.5.6自帶了Apache 2.2.9,直接在命令行運行apachectl start,Apache就搞定了。

  現在Apache的主目錄就是/Libary/WebServer/Documents/,你可以在這目錄里放置文件測試了。

  2. 啟用PHP
  Mac OS X 10.5.6自帶了PHP 5.2.6,我們需要做的就是將PHP加入Apache中。

  修改/etc/apache2/httpd.conf中的 #loadModule php5_module libexec/apache2/libphp5.so 為

  loadModule php5_module libexec/apache2/libphp5.so

  然后將/etc/php.ini.default復制為/etc/php.ini。

  cp /etc/php.ini.default /etc/php.ini

  之后就可以按照自己的習慣修改php.ini的配置  

  比如將error_reporting = E_ALL & ~E_NOTICE 修改為

  error_reporting = E_ALL

  最后,重啟Apache,可以在/Libary/WebServer/Documents/目錄中建立個phpinfo.php來測試了。
  sudo apachectl restart

  3. 將步驟四生成的ck.pem拷貝到/Library/WebServer/Documents/

    4. 創建push.php文件,并拷貝到/Libary/WebServer/Documents/

<?php  // 這里是我們上面得到的deviceToken,直接復制過來(記得去掉空格)//deviceToken 在測試版本和上線版本上不一樣。    //lei ipod touch  $deviceToken = 'f5b70734ea5f4b91c904544f75457d6ecb908488317e097abaab769e741e6752';  // Put your private key's passphrase here:  $passphrase = '1111';  // Put your alert message here:  $message = 'My first push test!';  ////////////////////////////////////////////////////////////////////////////////  $message = array('msg'=>'小小說閱讀器','title'=>'小小說','url'=>'http://www.apple.com.cn');  //$message = array('msg'=>'去商品詳細頁面','itemtype'=>'2','id'=>'192172');  //$message = array('msg'=>'去菜單頁面','itemtype'=>'1','zktype'=>'1','order'=>'1','zksubtype'=>'1','zktitle'=>'9.9包郵');  //$message = array('msg'=>'軟件升級');  $ctx = stream_context_create();  stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');  stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);  var_dump($ctx);  // Open a connection to the APNS server  //這個為正是的發布地址  //$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);  //這個是沙盒測試地址,發布到appstore后記得修改哦  $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);  if (!$fp)  exit("Failed to connect: $err $errstr" . PHP_EOL);  echo 'Connected to APNS' . PHP_EOL;  // Create the payload body  $body['aps'] = array(             'alert' => '逗你玩!哈哈。',             'sound' => 'beep.wav',             'badge' => 1             );  $body['type']=2;  $body['data']=$message;  // Encode the payload as JSON  $payload = json_encode($body);  // Build the binary notification  $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;  // Send it to the server  $result = fwrite($fp, $msg, strlen($msg));  if (!$result)  echo 'Message not delivered' . PHP_EOL;  else  echo 'Message successfully delivered' . PHP_EOL;  // Close the connection to the server  fclose($fp);  ?>

  注意:代碼中的DeviceToken需要在真機上運行起來后,拷貝出來替換。

  重啟Apache,  sudo apachectl restart

  這樣當我們訪問一次http://localhost/push/push.php就會收到一個通知。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频免费观看高清中文| 国产mv免费观看入口亚洲| 正在播放欧美视频| 欧美最猛性xxxxx免费| 欧美丰满少妇xxxxx做受| 中文字幕亚洲无线码在线一区| 久久久亚洲精选| 久久精品国产2020观看福利| 久久久亚洲天堂| 久久免费视频网站| 国产福利精品在线| 国产精品对白刺激| 精品久久久久久久久久久久久久| 亚洲欧美激情四射在线日| 国产欧美日韩免费| 久久99国产精品自在自在app| 欧美激情高清视频| 韩国精品美女www爽爽爽视频| 国产日韩中文字幕| 久久亚洲国产成人| 亚洲第一视频网| 亚洲视频网站在线观看| 91av网站在线播放| 久久99久国产精品黄毛片入口| 精品二区三区线观看| 欧美电影在线免费观看网站| 久久精品这里热有精品| 亚洲网在线观看| 午夜精品蜜臀一区二区三区免费| 国产精品白丝av嫩草影院| 国产欧美一区二区三区久久| 中文字幕亚洲无线码在线一区| 精品久久香蕉国产线看观看亚洲| 国产视频精品免费播放| 亚洲国产精品99久久| 最近2019年日本中文免费字幕| 97视频在线观看成人| 亚洲欧美另类人妖| 欧美黄色小视频| 欧美日韩在线看| 2021久久精品国产99国产精品| 亚洲国产成人爱av在线播放| 欧美日韩在线另类| 久久精品视频99| 国产精品九九久久久久久久| 国产精品极品美女粉嫩高清在线| 成人免费xxxxx在线观看| 欲色天天网综合久久| 欧美高跟鞋交xxxxhd| 欧美在线性爱视频| 久热爱精品视频线路一| 九九精品视频在线观看| 久久久噜噜噜久久久| 国模gogo一区二区大胆私拍| 国产一区二区三区在线观看网站| 色香阁99久久精品久久久| 亚洲国产97在线精品一区| 久久久免费观看| 亚洲欧洲国产一区| 在线播放日韩av| 亚洲男人的天堂在线| 欧美理论电影网| 日韩av有码在线| 日韩一级裸体免费视频| 日韩av在线最新| 韩国视频理论视频久久| 亚洲免费小视频| 成人亚洲激情网| 日本免费一区二区三区视频观看| 色婷婷av一区二区三区久久| 一区三区二区视频| 亚洲人成网站免费播放| 亚洲男人7777| 国产亚洲激情视频在线| 九九热r在线视频精品| 日本精品久久久| 91免费高清视频| 亚洲精品国偷自产在线99热| 日韩av快播网址| 日韩精品在线第一页| 91在线观看免费观看| 在线视频精品一| 这里只有精品在线播放| 亚洲天堂日韩电影| 久久久久久高潮国产精品视| 亚洲高清av在线| 伦伦影院午夜日韩欧美限制| 亚洲xxxxx电影| 欧美视频免费在线| 久久影院模特热| 亚洲欧美日韩中文在线| 久久精品99无色码中文字幕| 国产精品久久一区主播| 国产精品久久电影观看| 欧美黄网免费在线观看| 亚洲午夜未满十八勿入免费观看全集| 国产精品成人一区二区三区吃奶| 国产精品视频白浆免费视频| 欧美精品videossex性护士| 国产中文字幕91| 性欧美xxxx交| 欧美刺激性大交免费视频| 欧美日韩中文字幕| 亚洲成人激情在线观看| 超碰日本道色综合久久综合| 日韩电影第一页| 国产在线视频一区| 按摩亚洲人久久| 日韩精品极品在线观看播放免费视频| 91精品在线一区| 日韩欧美国产免费播放| 一区二区三区四区精品| 国产日韩精品综合网站| 国产99视频在线观看| 亚洲欧美成人一区二区在线电影| 日韩av电影在线播放| 久久久在线免费观看| 日本一区二三区好的精华液| 中文字幕日韩免费视频| 亚洲国产成人在线播放| 92国产精品视频| 亚洲国产99精品国自产| 色av中文字幕一区| 国产日韩精品在线播放| 高清欧美性猛交xxxx黑人猛交| 午夜精品久久久久久99热| 国产欧美日韩综合精品| 亚洲xxxxx电影| 国产精品www| 国产视频丨精品|在线观看| 精品人伦一区二区三区蜜桃网站| 亚洲xxxx做受欧美| 最近2019好看的中文字幕免费| 欧美在线视频在线播放完整版免费观看| 国产精品久久久av| 亚洲综合自拍一区| 中文字幕v亚洲ⅴv天堂| 亚洲国产成人久久综合| 国产精品久久久久77777| 日韩欧美在线视频观看| 国产精品丝袜一区二区三区| 精品国产自在精品国产浪潮| 欧美日韩亚洲一区二| 亚洲国产另类久久精品| 亚洲人高潮女人毛茸茸| 亚洲国产精品yw在线观看| 日韩成人中文字幕在线观看| 亚洲最大在线视频| 亚洲精品中文字幕有码专区| 久久精品国产亚洲| 久久久影视精品| 欧美激情亚洲精品| 91av成人在线| 欧美成aaa人片免费看| 在线一区二区日韩| 最近2019中文字幕在线高清| 国产精品免费视频xxxx| 亚洲精品www久久久久久广东| 亚洲丁香婷深爱综合| 欧美精品九九久久| 日韩精品久久久久久久玫瑰园| www亚洲精品| 亚洲曰本av电影| 欧美激情精品久久久久久变态|