ホームページ バックエンド開発 PHPチュートリアル iPhone用PHP版Pushサーバー構築準備 動作例

iPhone用PHP版Pushサーバー構築準備 動作例

Jun 13, 2016 pm 01:12 PM
iphone nbsp push

iPhoneにPHP版Pushサーバーを設定する例
iPhone上にPHP版Pushサーバーを構築する操作例がこの記事で紹介する内容です。アプリケーションにプッシュ機能を追加すると、ユーザーがタイムリーに情報を取得するのに非常に役立ちます。iPhone のプッシュ (プッシュ通知) 機能の原理については、以前に簡単に説明しました。アプリの場合、開発者は最初にプッシュ サーバーを構築する必要があります。以下は、iPhone アプリケーション用の PHP プッシュ サーバーを構築するプロセスの紹介です。

0. Mac OS に XCode をインストールします。ポータルで APP ID とデバイスを確立します。

2. Keychain Access.app CertificateSigningRequest.certSigningRequest で証明書リクエストを生成します (メニュー>キーチェーン アクセス> ; 証明書アシスタント > 認証局に証明書を要求します。).

3. iPhone プロビジョニング ポータルで証明書を要求し、CertificateSigningRequest.certSigningRequest をクリックします。

4. リクエストが完了したら、証明書ファイル (developer_identity .cer) をダウンロードし、ダブルクリックしてキー チェーンにインポートします。

5. iPhone プロビジョニング ポータルで新しいプロファイルを作成します。 、指定した APP ID と生成するデバイスを選択します。

6 . *_profile.mobileprovision として生成されたプロファイルをダウンロードし、ファイルをダブルクリックしてプロファイルを iPhone にロードします。

Push通知サービスの設定

7. [iPhone プロビジョニング ポータル] > [アプリ ID] で、プッシュ サービスを必要とするアプリ ID を選択し、[設定] を入力します。

8. Apple プッシュ通知サービスを有効にすることを確認し、開発を設定します。 SSL 証明書をプッシュし、手順 2 で生成した証明書リクエストをアップロードします。

9. 生成された aps_developer_identity.cer をダウンロードし、プッシュ サービスの構成を完了します。

10. aps_developer_identity.cer をダブルクリックし、それをキーチェーンに保存します。

php プッシュ通知送信者に必要な証明書ファイルを生成します

11. Keychain Access.app でこの新しい証明書 (Apple Development Push Services*) を選択し、エクスポートします。これをデスクトップに保存し、

12. 次のコマンドを実行します:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in Certificates.p12
openssl pkcs12 -nocerts -out key.pem -in Certificates.p12
openssl rsa -in key.pem -out key.unencrypted.pem
cat cert.pem key.unencrypted.pem > php プッシュ通知送信者に必要なデバイス トークン:

13. $PROJECT_NAMEAppDelegate に新しいビューベースのアプリケーション プロジェクトを作成します。m:

a. 次のコードを貼り付けます。 void)applicationDidFinishLaunching:(UIApplication *)app {
// その他のセットアップ タスクはこちら….
[window addSubview:viewController. view];
[self alter Notice:@"" withMSG:@"リモート通知を開始していますアクティブです"

cancleButtonTitle:@"Ok" otherButtonTitle:@""];
[[UIApplicationsharedApplication] registerForRemoteNotificationTypes:

(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge |

UIRemoteNotificationTypeSound )];
}
- (void)application:(UIApplication *)app

didRegisterForRemoteNotificationsWithDeviceToken:( NSData *)deviceToken {
//NSLog(@"devToken=%@", deviceToken); 🎜>
cancleButtonTitle:@"Ok" otherButtonTitle:@""];
}
- (void)application:(UIApplication *)app

didFailToRegisterForRemoteNotificationsWithError:(NSError * )err {
NSLog(@"登録エラー。エラー: %@", err);
[self warning Notice:@"" withMSG:[NSString stringWithFormat:@"登録エラー。

エラー:

*)cancleTitle otherButtonTitle:(NSString *)otherTitle{

UIAlertView *alert;
if([otherTitle isEqualToString:@""])
アラート = [ [UIAlertView alloc] initWithTitle:title message:msg delegate:self

cancelButtonTitle:cancleTitle otherButtonTitles:nil,nil];
      else
alter = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self

cancelButtonTitle:cancleTitle otherButtonTitles:otherTitle,nil];
[alert show];
[警報解除];
}
b.在 - (BOOL)application:(UIApplication *)application DidFinishLaunchingWithOptions:(NSDictionary *)launchOptions { メソッド中增加
[selfalert Notice:@"" withMSG:@"リモートの開始通知がアクティブです" cancleButtonTitle:@"Ok" otherButtonTitle:@""];
[[UIApplicationsharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound)];

14.项目设置

a.ターゲット > $APP_NAME >コンテキストメニュー >プロパティ >識別子

修正
識別子
である
アプリ ID
b. ターゲット > $APP_NAME >コンテキストメニュー >ビルド >コードサイニング >コード署名識別子 >任意の iPhone OS デバイス
は iPhone 開発者を开公開用机,编译并运行後会在iPhone 上显示设备令牌

php プッシュ通知送信者代码如下:

deviceToken = "设备令牌";
$body = array("aps" => array
("alert" => 'message', "badge" => 1, "sound " => 'received5.caf'));
$ctx = stream_context_create();
stream_context_set_option($ctx, "ssl", "local_cert", "ck.pem");
$fp = stream_socket_client
("ssl://gateway.sandbox.push.apple.com:2195", $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); 
if (!$fp) {
print "$err $errstrn の接続に失敗しました";
return;
}
print "接続 OKn";
payload = json_encode($ body);
$msg = chr(0) 。パック("n",32) 。 Pack("H*", $deviceToken) 。 Pack("n",strlen($payload)) 。 $ペイロード;
rint "メッセージ送信中:" 。 $ペイロード 。 "n";
fwrite($fp, $msg);  fclose($fp);
?>
iPhone ログイン PHP 版 Push サービス务器 实例操作のコンテンツ介绍完了

1楼 CJセン 2011-12-15  
请问iphone プッシュ送信中、私が同じ条情報を複数のデバイスに送信する場合、インターフェイスや方法はありません。自我帮我は服务器上にある「一台の機器ID追加一条情報」一台の公開;
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

新しいカメラ、A18 Pro SoC、大きな画面を備えた iPhone 16 Pro および iPhone 16 Pro Max 公式 新しいカメラ、A18 Pro SoC、大きな画面を備えた iPhone 16 Pro および iPhone 16 Pro Max 公式 Sep 10, 2024 am 06:50 AM

Apple はついに、新しいハイエンド iPhone モデルのカバーを外しました。 iPhone 16 Pro と iPhone 16 Pro Max には、前世代のものと比較して大きな画面が搭載されています (Pro では 6.3 インチ、Pro Max では 6.9 インチ)。強化された Apple A1 を入手

iPhone の部品アクティベーション ロックが iOS 18 RC で発見 — ユーザー保護を装って販売された修理権利に対する Apple の最新の打撃となる可能性がある iPhone の部品アクティベーション ロックが iOS 18 RC で発見 — ユーザー保護を装って販売された修理権利に対する Apple の最新の打撃となる可能性がある Sep 14, 2024 am 06:29 AM

今年初め、Apple はアクティベーション ロック機能を iPhone コンポーネントにも拡張すると発表しました。これにより、バッテリー、ディスプレイ、FaceID アセンブリ、カメラ ハードウェアなどの個々の iPhone コンポーネントが iCloud アカウントに効果的にリンクされます。

iPhoneの部品アクティベーションロックは、ユーザー保護を装って販売されたAppleの修理権に対する最新の打撃となる可能性がある iPhoneの部品アクティベーションロックは、ユーザー保護を装って販売されたAppleの修理権に対する最新の打撃となる可能性がある Sep 13, 2024 pm 06:17 PM

今年初め、Apple はアクティベーション ロック機能を iPhone コンポーネントにも拡張すると発表しました。これにより、バッテリー、ディスプレイ、FaceID アセンブリ、カメラ ハードウェアなどの個々の iPhone コンポーネントが iCloud アカウントに効果的にリンクされます。

複数のiPhone 16 Proユーザーがタッチスクリーンのフリーズ問題を報告、おそらくパームリジェクションの感度に関連している 複数のiPhone 16 Proユーザーがタッチスクリーンのフリーズ問題を報告、おそらくパームリジェクションの感度に関連している Sep 23, 2024 pm 06:18 PM

Apple の iPhone 16 ラインナップのデバイス (具体的には 16 Pro/Pro Max) をす​​でに入手している場合は、最近タッチスクリーンに関する何らかの問題に直面している可能性があります。希望の光は、あなたは一人ではないということです - レポート

gate.ioトレーディングプラットフォーム公式アプリのダウンロードとインストールアドレス gate.ioトレーディングプラットフォーム公式アプリのダウンロードとインストールアドレス Feb 13, 2025 pm 07:33 PM

この記事では、gate.ioの公式Webサイトに最新のアプリを登録およびダウンロードする手順について詳しく説明しています。まず、登録情報の記入、電子メール/携帯電話番号の確認、登録の完了など、登録プロセスが導入されます。第二に、iOSデバイスとAndroidデバイスでgate.ioアプリをダウンロードする方法について説明します。最後に、公式ウェブサイトの信頼性を検証し、2段階の検証を可能にすること、ユーザーアカウントと資産の安全性を確保するためのリスクのフィッシングに注意を払うなど、セキュリティのヒントが強調されています。

Beats が電話ケースをラインナップに追加:iPhone 16 シリーズ用の MagSafe ケースを発表 Beats が電話ケースをラインナップに追加:iPhone 16 シリーズ用の MagSafe ケースを発表 Sep 11, 2024 pm 03:33 PM

Beats は Bluetooth スピーカーやヘッドフォンなどのオーディオ製品を発売することで知られていますが、驚きと形容するのが最も適切なことで、Apple 所有の会社は iPhone 16 シリーズを皮切りに電話ケースの製造に進出しました。ビートiPhone

PHPを使用してAlipay EasySDKを呼び出すときの「未定義の配列キー」「サイン」「エラー」の問題を解決する方法は? PHPを使用してAlipay EasySDKを呼び出すときの「未定義の配列キー」「サイン」「エラー」の問題を解決する方法は? Mar 31, 2025 pm 11:51 PM

問題の説明公式コードに従ってパラメーターを記入した後、PHPを使用してAlipay EasySDKを呼び出すとき、操作中にエラーメッセージが報告されました。

ANBIアプリの公式ダウンロードv2.96.2最新バージョンインストールANBI公式Androidバージョン ANBIアプリの公式ダウンロードv2.96.2最新バージョンインストールANBI公式Androidバージョン Mar 04, 2025 pm 01:06 PM

Binance Appの公式インストール手順:Androidは、ダウンロードリンクを見つけるために公式Webサイトにアクセスする必要があります。すべては、公式チャネルを通じて契約に注意を払う必要があります。

See all articles