アプリとパスを作成したので、iPodのPassBookにパスを追加できますが、電子メールまたはWebサーバーからのリンクでパスを共有できません。Appleから読んだドキュメントから、MIMEタイプをとして追加する必要がありapplication/vnd.apple.pkpass
ます。しかし、どうすればいいのかよくわかりません。MIMEタイプの使い方がわかりません。
Webサービスからのパスを使用するには、このMIMEタイプをどのように追加する必要がありますか?
アプリとパスを作成したので、iPodのPassBookにパスを追加できますが、電子メールまたはWebサーバーからのリンクでパスを共有できません。Appleから読んだドキュメントから、MIMEタイプをとして追加する必要がありapplication/vnd.apple.pkpass
ます。しかし、どうすればいいのかよくわかりません。MIMEタイプの使い方がわかりません。
Webサービスからのパスを使用するには、このMIMEタイプをどのように追加する必要がありますか?
Apache
次の行をいずれかに追加します。
.htaccess
.pkpassを提供するディレクトリ内、またはmime.types
ファイルに、またはhttpd.conf
またはvirtuatlサーバー.conf
ファイルに次に、Apacheを再起動します(に追加する場合は不要.htaccess
)
AddType application/vnd.apple.pkpass pkpass
nginx
次の行をファイルに追加して、mime.types
nginxを再起動します
application/vnd.apple.pkpass pkpass;
IIS
.pkpass
application.vnd.pkpass
テキストボックスにnと入力しますスクリプトを介してファイルを提供していて、Webサーバー構成を編集できない場合は、コンテンツが送信される前に次の行を追加できます。
PHP
header('Content-Type: application/vnd.apple.pkpass');
C#
WebClient client = new WebClient();
client.Headers.Add("Content-Type", "application/vnd.apple.pkpass");
純粋なPHPソリューションの場合は、.pkpassバンドルをサーバーに追加してから、次のファイルを作成し、このファイルにpass.phpという名前を付けます。
<?php
$pkpass_file = '/path/to/your/.pkpass/file/GenericMemberCard.pkpass';
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/vnd.apple.pkpass");
header('Content-Disposition: attachment; filename="pass.pkpass"');
clearstatcache();
$filesize = filesize($pkpass_file);
if ($filesize)
header("Content-Length: ". $filesize);
header('Content-Transfer-Encoding: binary');
if (filemtime($pkpass_file)) {
date_default_timezone_set("UTC");
header('Last-Modified: ' . date("D, d M Y H:i:s", filemtime($pkpass_file)) . ' GMT');
}
flush();
readfile($pkpass_file);
次に、上記で作成したファイルにリンクする2番目のファイルを作成します。
<a href="pass.php">Click to download your pass</a>
Windows10IISを介して
.pkpass
application.vnd.pkpass
テキストボックスにnと入力します